@@ -15,13 +15,27 @@ class InstallGenerator < Rails::Generators::Base
15
15
def inject_backbone
16
16
# for JavaScript application.js manifest:
17
17
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
21
28
# ...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
25
39
end
26
40
end
27
41
end
0 commit comments