@@ -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