diff options
5 files changed, 21 insertions, 14 deletions
diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md index d12a1f21f8..8963f6e604 100644 --- a/railties/CHANGELOG.md +++ b/railties/CHANGELOG.md @@ -1,3 +1,8 @@ +*   Removal of all javascript stuff (gems and files) when generating a new +    application using the `--skip-javascript` option. + +    *Robin Dupret* +  *   Make the application name snake cased when it contains spaces      The application name is used to fill the `database.yml` and diff --git a/railties/lib/rails/generators/app_base.rb b/railties/lib/rails/generators/app_base.rb index 6f1b7e2218..e65a0b1de0 100644 --- a/railties/lib/rails/generators/app_base.rb +++ b/railties/lib/rails/generators/app_base.rb @@ -207,13 +207,6 @@ module Rails            gem 'uglifier', '>= 1.3.0'          GEMFILE -        if options[:skip_javascript] -          gemfile += <<-GEMFILE -            #{coffee_gemfile_entry} -            #{javascript_runtime_gemfile_entry} -          GEMFILE -        end -          gemfile.gsub(/^[ \t]+/, '')        end diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index db6b11abfa..095a165fc0 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -129,7 +129,9 @@ module Rails      end      def vendor_javascripts -      empty_directory_with_keep_file 'vendor/assets/javascripts' +      unless options[:skip_javascript] +        empty_directory_with_keep_file 'vendor/assets/javascripts' +      end      end      def vendor_stylesheets @@ -225,6 +227,12 @@ module Rails          build(:leftovers)        end +      def delete_js_folder_skipping_javascript +        if options[:skip_javascript] +          remove_dir 'app/assets/javascripts' +        end +      end +        public_task :apply_rails_template, :run_bundle      protected diff --git a/railties/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt b/railties/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt index c3d1578818..4cf47bd0a0 100644 --- a/railties/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +++ b/railties/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt @@ -4,7 +4,6 @@    <title><%= camelized %></title>    <%- if options[:skip_javascript] -%>    <%%= stylesheet_link_tag    "application", media: "all" %> -  <%%= javascript_include_tag "application" %>    <%- else -%>    <%%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>    <%%= javascript_include_tag "application", "data-turbolinks-track" => true %> diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb index 24f01c878c..9b0c9ebf5b 100644 --- a/railties/test/generators/app_generator_test.rb +++ b/railties/test/generators/app_generator_test.rb @@ -298,15 +298,17 @@ class AppGeneratorTest < Rails::Generators::TestCase    def test_javascript_is_skipped_if_required      run_generator [destination_root, "--skip-javascript"] -    assert_file "app/assets/javascripts/application.js" do |contents| -      assert_no_match %r{^//=\s+require\s}, contents -    end + +    assert_no_file "app/assets/javascripts" +    assert_no_file "vendor/assets/javascripts" +      assert_file "app/views/layouts/application.html.erb" do |contents|        assert_match(/stylesheet_link_tag\s+"application", media: "all" %>/, contents) -      assert_match(/javascript_include_tag\s+"application" \%>/, contents) +      assert_no_match(/javascript_include_tag\s+"application" \%>/, contents)      end +      assert_file "Gemfile" do |content| -      assert_match(/coffee-rails/, content) +      assert_no_match(/coffee-rails/, content)      end    end  | 
