Skip to content

Commit 4efc159

Browse files
committed
Add backbone.js files above the require_tree if its present in application.js
1 parent 301a32e commit 4efc159

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

lib/generators/backbone/install/install_generator.rb

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,27 @@ class InstallGenerator < Rails::Generators::Base
1515
def inject_backbone
1616
# for JavaScript application.js manifest:
1717
if File.exists? "#{Rails.root}/app/assets/javascripts/application.js"
18-
append_to_file "app/assets/javascripts/application.js" do
19-
"//= require underscore\n//= require backbone\n//= require backbone_rails_sync\n//= require backbone_datalink\n//= require backbone/#{application_name.underscore}\n"
20-
end
18+
#add backbone.js files above the require_tree if present
19+
if File.readlines("app/assets/javascripts/application.js").grep(/require_tree/).any?
20+
inject_into_file "app/assets/javascripts/application.js", before: '//= require_tree .' do
21+
"//= require underscore\n//= require backbone\n//= require backbone_rails_sync\n//= require backbone_datalink\n//= require backbone/#{application_name.underscore}\n"
22+
end
23+
else
24+
append_to_file "app/assets/javascripts/application.js" do
25+
"//= require underscore\n//= require backbone\n//= require backbone_rails_sync\n//= require backbone_datalink\n//= require backbone/#{application_name.underscore}\n"
26+
end
27+
end
2128
# ...or for CoffeeScript application.js.coffee manifest:
22-
elsif File.exists? "#{Rails.root}/app/assets/javascripts/application.js.coffee"
23-
append_to_file "app/assets/javascripts/application.js.coffee" do
24-
"\n#= require underscore\n#= require backbone\n#= require backbone_rails_sync\n#= require backbone_datalink\n#= require backbone/#{application_name.underscore}\n"
29+
elsif File.exists? "#{Rails.root}/app/assets/javascripts/application.js.coffee"
30+
#add backbone.js files above the require_tree if present
31+
if File.readlines("app/assets/javascripts/application.js").grep(/require_tree/).any?
32+
inject_into_file "app/assets/javascripts/application.js.coffee", before: '#= require_tree .' do
33+
"\n#= require underscore\n#= require backbone\n#= require backbone_rails_sync\n#= require backbone_datalink\n#= require backbone/#{application_name.underscore}\n"
34+
end
35+
else
36+
append_to_file "app/assets/javascripts/application.js.coffee" do
37+
"\n#= require underscore\n#= require backbone\n#= require backbone_rails_sync\n#= require backbone_datalink\n#= require backbone/#{application_name.underscore}\n"
38+
end
2539
end
2640
end
2741
end

0 commit comments

Comments
 (0)