diff options
Diffstat (limited to 'railties/lib/rails/generators/app_base.rb')
-rw-r--r-- | railties/lib/rails/generators/app_base.rb | 61 |
1 files changed, 36 insertions, 25 deletions
diff --git a/railties/lib/rails/generators/app_base.rb b/railties/lib/rails/generators/app_base.rb index 25baa470d7..675ada7ed0 100644 --- a/railties/lib/rails/generators/app_base.rb +++ b/railties/lib/rails/generators/app_base.rb @@ -1,7 +1,7 @@ require 'digest/md5' require 'securerandom' require 'active_support/core_ext/string/strip' -require 'rails/version' unless defined?(Rails.version) +require 'rails/version' unless defined?(Rails::VERSION) require 'rbconfig' require 'open-uri' require 'uri' @@ -115,7 +115,11 @@ module Rails end def database_gemfile_entry - options[:skip_active_record] ? "" : "gem '#{gem_for_database}'" + options[:skip_active_record] ? "" : + <<-GEMFILE.strip_heredoc + # Use #{options[:database]} as the database for Active Record + gem '#{gem_for_database}' + GEMFILE end def include_all_railties? @@ -131,18 +135,16 @@ module Rails <<-GEMFILE.strip_heredoc gem 'rails', path: '#{Rails::Generators::RAILS_DEV_PATH}' gem 'arel', github: 'rails/arel' - gem 'activerecord-deprecated_finders', github: 'rails/activerecord-deprecated_finders' GEMFILE elsif options.edge? <<-GEMFILE.strip_heredoc gem 'rails', github: 'rails/rails' gem 'arel', github: 'rails/arel' - gem 'activerecord-deprecated_finders', github: 'rails/activerecord-deprecated_finders' GEMFILE else <<-GEMFILE.strip_heredoc # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' - gem 'rails', '#{Rails.version}' + gem 'rails', '#{Rails::VERSION::STRING}' GEMFILE end end @@ -178,48 +180,57 @@ module Rails return if options[:skip_sprockets] gemfile = if options.dev? || options.edge? - <<-GEMFILE.gsub(/^ {12}/, '') - # Gems used for assets + <<-GEMFILE.strip_heredoc + # Use edge version of sprockets-rails gem 'sprockets-rails', github: 'rails/sprockets-rails' - gem 'sass-rails', github: 'rails/sass-rails' - gem 'uglifier', '>= 1.0.3' + + # Use SCSS for stylesheets + gem 'sass-rails', github: 'rails/sass-rails' GEMFILE else - <<-GEMFILE.gsub(/^ {12}/, '') - # Gems used for assets - gem 'sass-rails', '~> 4.0.0.beta1' - gem 'uglifier', '>= 1.0.3' + <<-GEMFILE.strip_heredoc + # Use SCSS for stylesheets + gem 'sass-rails', '~> 4.0.0.rc1' GEMFILE end + gemfile += <<-GEMFILE.strip_heredoc + + # Use Uglifier as compressor for JavaScript assets + gem 'uglifier', '>= 1.3.0' + GEMFILE + if options[:skip_javascript] - gemfile += <<-GEMFILE.gsub(/^ {12}/, '') + gemfile += <<-GEMFILE #{coffee_gemfile_entry} #{javascript_runtime_gemfile_entry} GEMFILE end - gemfile.strip_heredoc.gsub(/^[ \t]*$/, '') + gemfile.gsub(/^[ \t]+/, '') end def coffee_gemfile_entry if options.dev? || options.edge? - "gem 'coffee-rails', github: 'rails/coffee-rails'" + <<-GEMFILE + # Use CoffeeScript for .js.coffee assets and views + gem 'coffee-rails', github: 'rails/coffee-rails' + GEMFILE else - "gem 'coffee-rails', '~> 4.0.0.beta1'" + <<-GEMFILE + # Use CoffeeScript for .js.coffee assets and views + gem 'coffee-rails', '~> 4.0.0' + GEMFILE end end def javascript_gemfile_entry - args = {'jquery' => ", github: 'rails/jquery-rails'"} - unless options[:skip_javascript] - <<-GEMFILE.gsub(/^ {12}/, '').strip_heredoc - #{javascript_runtime_gemfile_entry} - # Use CoffeeScript for .js.coffee assets and views + <<-GEMFILE.gsub(/^[ \t]+/, '') #{coffee_gemfile_entry} - - gem '#{options[:javascript]}-rails'#{args[options[:javascript]]} + #{javascript_runtime_gemfile_entry} + # Use #{options[:javascript]} as the JavaScript library + gem '#{options[:javascript]}-rails' # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks gem 'turbolinks' @@ -233,7 +244,7 @@ module Rails else "# gem 'therubyracer', platforms: :ruby" end - <<-GEMFILE.gsub(/^ {10}/, '') + <<-GEMFILE # See https://github.com/sstephenson/execjs#readme for more supported runtimes #{runtime} GEMFILE |