diff options
author | Xavier Noria <fxn@hashref.com> | 2011-05-02 00:59:57 +0200 |
---|---|---|
committer | Xavier Noria <fxn@hashref.com> | 2011-05-04 10:33:53 +0200 |
commit | d9c39c3ae9aa9d0f50a4b557781be39e39e5b752 (patch) | |
tree | feab3d5b27ae177f71cdcd043aadb5d8cb6bbf23 /railties/lib/rails | |
parent | 5d2cdb190ad4eb35ab78180b2fd2e72a3d7a61f7 (diff) | |
download | rails-d9c39c3ae9aa9d0f50a4b557781be39e39e5b752.tar.gz rails-d9c39c3ae9aa9d0f50a4b557781be39e39e5b752.tar.bz2 rails-d9c39c3ae9aa9d0f50a4b557781be39e39e5b752.zip |
restores the -j option, but now it accepts the name of any library
If passed "foo", a gem "foo-rails" is added to the Gemfile
and "foo" and "foo_ujs" are required in the application
JavaScript manifest.
Diffstat (limited to 'railties/lib/rails')
6 files changed, 11 insertions, 20 deletions
diff --git a/railties/lib/rails/generators/app_base.rb b/railties/lib/rails/generators/app_base.rb index b5110fa9b7..998957f313 100644 --- a/railties/lib/rails/generators/app_base.rb +++ b/railties/lib/rails/generators/app_base.rb @@ -12,7 +12,6 @@ module Rails DATABASES = %w( mysql oracle postgresql sqlite3 frontbase ibm_db ) JDBC_DATABASES = %w( jdbcmysql jdbcsqlite3 jdbcpostgresql ) DATABASES.concat(JDBC_DATABASES) - JAVASCRIPTS = %w( jquery prototype ) attr_accessor :rails_template add_shebang_option! @@ -38,6 +37,9 @@ module Rails class_option :database, :type => :string, :aliases => "-d", :default => "sqlite3", :desc => "Preconfigure for selected database (options: #{DATABASES.join('/')})" + class_option :javascript, :type => :string, :aliases => '-j', :default => 'jquery', + :desc => 'Preconfigure for selected JavaScript library' + class_option :skip_javascript, :type => :boolean, :aliases => "-J", :default => false, :desc => "Skip JavaScript files" @@ -178,6 +180,10 @@ module Rails end end + def gem_for_javascript + "gem '#{options[:javascript]}-rails'" unless options[:skip_javascript] + end + def bundle_if_dev_or_edge bundle_command = File.basename(Thor::Util.ruby_command).sub(/ruby/, 'bundle') run "#{bundle_command} install" if dev_or_edge? diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index 559f61e265..d79f76c799 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -111,20 +111,10 @@ module Rails end def vendor - vendor_javascripts vendor_stylesheets vendor_plugins end - def vendor_javascripts - if options[:skip_javascript] - empty_directory_with_gitkeep "vendor/assets/javascripts" - else - copy_file "vendor/assets/javascripts/jquery.js" - copy_file "vendor/assets/javascripts/jquery_ujs.js" - end - end - def vendor_stylesheets empty_directory_with_gitkeep "vendor/assets/stylesheets" end diff --git a/railties/lib/rails/generators/rails/app/templates/Gemfile b/railties/lib/rails/generators/rails/app/templates/Gemfile index de7d51d030..b046edd5b7 100644 --- a/railties/lib/rails/generators/rails/app/templates/Gemfile +++ b/railties/lib/rails/generators/rails/app/templates/Gemfile @@ -10,8 +10,7 @@ gem 'sass' gem 'coffee-script' gem 'uglifier' -# Prototype, Scriptaculous, and RJS. -# gem 'prototype-rails' +<%= gem_for_javascript %> # Use unicorn as the web server # gem 'unicorn' diff --git a/railties/lib/rails/generators/rails/app/templates/app/assets/javascripts/application.js.tt b/railties/lib/rails/generators/rails/app/templates/app/assets/javascripts/application.js.tt index c04c33e321..612c614f2e 100644 --- a/railties/lib/rails/generators/rails/app/templates/app/assets/javascripts/application.js.tt +++ b/railties/lib/rails/generators/rails/app/templates/app/assets/javascripts/application.js.tt @@ -2,7 +2,7 @@ // FIXME: Tell people how Sprockets and CoffeeScript works // <% unless options[:skip_javascript] -%> -//= require jquery -//= require jquery_ujs +//= require <%= options[:javascript] %> +//= require <%= options[:javascript] %>_ujs <% end -%> //= require_tree . diff --git a/railties/lib/rails/generators/rails/app/templates/config/application.rb b/railties/lib/rails/generators/rails/app/templates/config/application.rb index 7bf4c779a0..3723addf2b 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/application.rb +++ b/railties/lib/rails/generators/rails/app/templates/config/application.rb @@ -47,7 +47,7 @@ module <%= app_const_base %> <% if options[:skip_javascript] -%> # config.action_view.javascript_expansions[:defaults] = %w() <% else -%> - # config.action_view.javascript_expansions[:defaults] = %w(prototype effects dragdrop controls rails) + # config.action_view.javascript_expansions[:defaults] = %w(prototype prototype_ujs) <% end -%> <% if options[:skip_test_unit] -%> diff --git a/railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb b/railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb index 2bfe8b09f3..6201595308 100644 --- a/railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb +++ b/railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb @@ -119,10 +119,6 @@ task :default => :test if mountable? copy_file "#{app_templates_dir}/app/assets/javascripts/application.js.tt", "app/assets/javascripts/application.js" - copy_file "#{app_templates_dir}/vendor/assets/javascripts/jquery.js", - "vendor/assets/javascripts/jquery.js" - copy_file "#{app_templates_dir}/vendor/assets/javascripts/jquery_ujs.js", - "vendor/assets/javascripts/jquery_ujs.js" elsif full? empty_directory_with_gitkeep "app/assets/javascripts" end |