-
Notifications
You must be signed in to change notification settings - Fork 254
/
Copy pathresource_helpers.rb
71 lines (58 loc) · 1.69 KB
/
resource_helpers.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
module Backbone
module Generators
module ResourceHelpers
def self.included base
base.module_eval do
class_option :javascript, :aliases => '-J',
:type => :boolean,
:default => false,
:desc => "Generate JavaScript instead of CoffeeScript"
end
end
def script_extension
if options['javascript'] || !BackboneRails.coffeescript?
"js"
else
"js.coffee"
end
end
def backbone_path
"app/assets/javascripts/backbone"
end
def model_namespace
[js_app_name, "Models", class_name].join(".")
end
def singular_model_name
uncapitalize singular_name.camelize
end
def plural_model_name
uncapitalize(plural_name.camelize)
end
def collection_namespace
[js_app_name, "Collections", plural_name.camelize].join(".")
end
def view_namespace
[js_app_name, "Views", plural_name.camelize].join(".")
end
def router_namespace
[js_app_name, "Routers", plural_name.camelize].join(".")
end
def jst(action)
"backbone/templates/#{plural_name}/#{action}"
end
def js_app_name
application_name.camelize
end
def application_name
if defined?(Rails) && Rails.application
Rails.application.class.name.split('::').first
else
"application"
end
end
def uncapitalize(str)
str[0, 1].downcase << str[1..-1]
end
end
end
end