Skip to content

Commit 677df61

Browse files
committed
Merge pull request rails#1719 from ryanb/fix_generated_engine_javascript
Fix generated JavaScript for mountable engine in 3-1-stable
2 parents b4b27a3 + 7f96566 commit 677df61

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def javascripts
118118
return if options.skip_javascript?
119119

120120
if mountable?
121-
copy_file "#{app_templates_dir}/app/assets/javascripts/application.js.tt",
121+
template "#{app_templates_dir}/app/assets/javascripts/application.js.tt",
122122
"app/assets/javascripts/#{name}/application.js"
123123
elsif full?
124124
empty_directory_with_gitkeep "app/assets/javascripts/#{name}"

railties/lib/rails/generators/rails/plugin_new/templates/Gemfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ source "http://rubygems.org"
66
<%= database_gemfile_entry -%>
77
<% end -%>
88

9+
<% if mountable? -%>
10+
<%= gem_for_javascript -%>
11+
<% end -%>
12+
913
if RUBY_VERSION < '1.9'
1014
gem "ruby-debug", ">= 0.10.3"
1115
end

railties/test/generators/plugin_new_generator_test.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,28 @@ def test_javascripts_generation
112112
assert_file "app/assets/javascripts/bukkits/application.js"
113113
end
114114

115+
def test_jquery_is_the_default_javascript_library
116+
run_generator [destination_root, "--mountable"]
117+
assert_file "app/assets/javascripts/bukkits/application.js" do |contents|
118+
assert_match %r{^//= require jquery}, contents
119+
assert_match %r{^//= require jquery_ujs}, contents
120+
end
121+
assert_file 'Gemfile' do |contents|
122+
assert_match(/^gem 'jquery-rails'/, contents)
123+
end
124+
end
125+
126+
def test_other_javascript_libraries
127+
run_generator [destination_root, "--mountable", '-j', 'prototype']
128+
assert_file "app/assets/javascripts/bukkits/application.js" do |contents|
129+
assert_match %r{^//= require prototype}, contents
130+
assert_match %r{^//= require prototype_ujs}, contents
131+
end
132+
assert_file 'Gemfile' do |contents|
133+
assert_match(/^gem 'prototype-rails'/, contents)
134+
end
135+
end
136+
115137
def test_skip_javascripts
116138
run_generator [destination_root, "--skip-javascript", "--mountable"]
117139
assert_no_file "app/assets/javascripts/bukkits/application.js"

0 commit comments

Comments
 (0)