提交 84e261b9 编写于 作者: R Robin Dupret

Removal of javascript related gems when creating an app

Commit 0417bc83 add the coffee-rails and javascript runtime gems even
when passing the --skip-javascript option but this is not the desired
behavior.

Also remove all javascript related stuff in the generated application
such as the vendor/assets/javascripts folder.
上级 f230dbf6
* 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
......
......@@ -207,13 +207,6 @@ def assets_gemfile_entry
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
......
......@@ -129,7 +129,9 @@ def vendor
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 @@ def finish_template
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
......
......@@ -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 %>
......
......@@ -298,15 +298,17 @@ def test_other_javascript_libraries
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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册