js-routes 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -5,7 +5,6 @@ gem "rails", ">= 3.2"
5
5
  group :development do
6
6
  gem "therubyracer"
7
7
  gem "rspec", "~> 2.7.0"
8
- gem "bundler", "~> 1.0.0"
8
+ gem "bundler", "~> 1.1.0"
9
9
  gem "jeweler", "~> 1.6.2"
10
- gem "rcov", ">= 0"
11
10
  end
data/Gemfile.lock CHANGED
@@ -72,7 +72,6 @@ GEM
72
72
  rdoc (~> 3.4)
73
73
  thor (~> 0.14.6)
74
74
  rake (0.9.2)
75
- rcov (0.9.9)
76
75
  rdoc (3.12)
77
76
  json (~> 1.4)
78
77
  rspec (2.7.0)
@@ -87,7 +86,7 @@ GEM
87
86
  hike (~> 1.2)
88
87
  rack (~> 1.0)
89
88
  tilt (~> 1.1, != 1.3.0)
90
- therubyracer (0.9.9)
89
+ therubyracer (0.9.10)
91
90
  libv8 (~> 3.3.10)
92
91
  thor (0.14.6)
93
92
  tilt (1.3.3)
@@ -100,9 +99,8 @@ PLATFORMS
100
99
  ruby
101
100
 
102
101
  DEPENDENCIES
103
- bundler (~> 1.0.0)
102
+ bundler (~> 1.1.0)
104
103
  jeweler (~> 1.6.2)
105
104
  rails (>= 3.2)
106
- rcov
107
105
  rspec (~> 2.7.0)
108
106
  therubyracer
data/Readme.md CHANGED
@@ -25,7 +25,7 @@ Require js routes file in `application.js` or other bundle
25
25
  ``` ruby
26
26
  JsRoutes.setup do |config|
27
27
  config.option = value
28
- })
28
+ end
29
29
  ```
30
30
 
31
31
  Available options:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.0
1
+ 0.8.1
data/js-routes.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "js-routes"
8
- s.version = "0.8.0"
8
+ s.version = "0.8.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Bogdan Gusiev"]
12
- s.date = "2012-03-02"
12
+ s.date = "2012-05-04"
13
13
  s.description = "Generates javascript file that defines all Rails named routes as javascript helpers"
14
14
  s.email = "agresso@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -39,7 +39,7 @@ Gem::Specification.new do |s|
39
39
  s.homepage = "http://github.com/railsware/js-routes"
40
40
  s.licenses = ["MIT"]
41
41
  s.require_paths = ["lib"]
42
- s.rubygems_version = "1.8.10"
42
+ s.rubygems_version = "1.8.11"
43
43
  s.summary = "Brings Rails named routes to javascript"
44
44
 
45
45
  if s.respond_to? :specification_version then
@@ -49,24 +49,21 @@ Gem::Specification.new do |s|
49
49
  s.add_runtime_dependency(%q<rails>, [">= 3.2"])
50
50
  s.add_development_dependency(%q<therubyracer>, [">= 0"])
51
51
  s.add_development_dependency(%q<rspec>, ["~> 2.7.0"])
52
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
52
+ s.add_development_dependency(%q<bundler>, ["~> 1.1.0"])
53
53
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
54
- s.add_development_dependency(%q<rcov>, [">= 0"])
55
54
  else
56
55
  s.add_dependency(%q<rails>, [">= 3.2"])
57
56
  s.add_dependency(%q<therubyracer>, [">= 0"])
58
57
  s.add_dependency(%q<rspec>, ["~> 2.7.0"])
59
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
58
+ s.add_dependency(%q<bundler>, ["~> 1.1.0"])
60
59
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
61
- s.add_dependency(%q<rcov>, [">= 0"])
62
60
  end
63
61
  else
64
62
  s.add_dependency(%q<rails>, [">= 3.2"])
65
63
  s.add_dependency(%q<therubyracer>, [">= 0"])
66
64
  s.add_dependency(%q<rspec>, ["~> 2.7.0"])
67
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
65
+ s.add_dependency(%q<bundler>, ["~> 1.1.0"])
68
66
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
69
- s.add_dependency(%q<rcov>, [">= 0"])
70
67
  end
71
68
  end
72
69
 
data/lib/js_routes.rb CHANGED
@@ -52,7 +52,7 @@ class JsRoutes
52
52
  new(opts).generate
53
53
  end
54
54
 
55
- def generate!(file_name, opts = {})
55
+ def generate!(file_name=nil, opts = {})
56
56
  if file_name.is_a?(Hash)
57
57
  opts = file_name
58
58
  file_name = opts[:file]
@@ -64,7 +64,7 @@ class JsRoutes
64
64
  # full environment will be available during asset compilation.
65
65
  # This is required to ensure routes are loaded.
66
66
  def assert_usable_configuration!
67
- unless Rails.application.config.assets.initialize_on_precompile
67
+ unless Rails.application.config.assets.initialize_on_precompile
68
68
  raise("Cannot precompile js-routes unless environment is initialized. Please set config.assets.initialize_on_precompile to true.")
69
69
  end
70
70
  true
@@ -92,11 +92,12 @@ class JsRoutes
92
92
  js.gsub!("ROUTES", js_routes)
93
93
  end
94
94
 
95
- def generate!(file_name)
95
+ def generate!(file_name = nil)
96
96
  # Some libraries like Devise do not yet loaded their routes so we will wait
97
97
  # until initialization process finish
98
98
  # https://github.com/railsware/js-routes/issues/7
99
99
  Rails.configuration.after_initialize do
100
+ file_name ||= self.class.options['file']
100
101
  File.open(Rails.root.join(file_name || DEFAULT_PATH), 'w') do |f|
101
102
  f.write generate
102
103
  end
@@ -108,26 +109,38 @@ class JsRoutes
108
109
  def js_routes
109
110
  Rails.application.reload_routes!
110
111
  js_routes = Rails.application.routes.named_routes.routes.map do |_, route|
111
- if any_match?(route, @options[:exclude]) || !any_match?(route, @options[:include])
112
- nil
112
+ if route.app.respond_to?(:superclass) && route.app.superclass == Rails::Engine
113
+ route.app.routes.named_routes.map do |_, engine_route|
114
+ build_route_if_match(engine_route, route)
115
+ end
113
116
  else
114
- build_js(route)
117
+ build_route_if_match(route)
115
118
  end
116
- end.compact
119
+ end.flatten.compact
117
120
 
118
121
  "{\n" + js_routes.join(",\n") + "}\n"
119
122
  end
120
123
 
121
- def any_match?(route, matchers)
124
+ def build_route_if_match(route, parent_route=nil)
125
+ if any_match?(route, parent_route, @options[:exclude]) || !any_match?(route, parent_route, @options[:include])
126
+ nil
127
+ else
128
+ build_js(route, parent_route)
129
+ end
130
+ end
131
+
132
+ def any_match?(route, parent_route, matchers)
122
133
  matchers = Array(matchers)
123
- matchers.any? {|regex| route.name =~ regex}
134
+ matchers.any? {|regex| [parent_route.try(:name), route.name].compact.join('') =~ regex}
124
135
  end
125
136
 
126
- def build_js(route)
137
+ def build_js(route, parent_route)
138
+ name = [parent_route.try(:name), route.name].compact
139
+ parent_spec = parent_route.try(:path).try(:spec)
127
140
  _ = <<-JS.strip!
128
- // #{route.name} => #{route.path.spec}
129
- #{route.name}_path: function(#{build_params(route)}) {
130
- return Utils.build_path(#{json(route.required_parts)}, #{json(serialize(route.path.spec))}, arguments)
141
+ // #{name.join('.')} => #{parent_spec}#{route.path.spec}
142
+ #{name.join('_')}_path: function(#{build_params(route)}) {
143
+ return Utils.build_path(#{json(route.required_parts)}, #{json(serialize(route.path.spec, parent_spec))}, arguments);
131
144
  }
132
145
  JS
133
146
  end
@@ -149,12 +162,24 @@ class JsRoutes
149
162
  # We do not use Hash for human readable serialization
150
163
  # And preffer Array serialization because it is shorter.
151
164
  # Routes.js file will be smaller.
152
- def serialize(spec)
165
+ def serialize(spec, parent_spec=nil)
153
166
  return nil unless spec
154
167
  return spec.tr(':', '') if spec.is_a?(String)
155
- [
168
+ result = serialize_spec(spec, parent_spec)
169
+ if parent_spec && result[1].is_a?(String)
170
+ result = [
171
+ NODE_TYPES[:CAT],
172
+ serialize_spec(parent_spec),
173
+ result
174
+ ]
175
+ end
176
+ result
177
+ end
178
+
179
+ def serialize_spec(spec, parent_spec=nil)
180
+ [
156
181
  NODE_TYPES[spec.type],
157
- serialize(spec.left),
182
+ serialize(spec.left, parent_spec),
158
183
  spec.respond_to?(:right) && serialize(spec.right)
159
184
  ]
160
185
  end
@@ -1,13 +1,15 @@
1
- if defined?(Rails)
1
+ if defined?(Rails) && Rails.version >= "3.1"
2
2
  class JsRoutes
3
3
  class Engine < Rails::Engine
4
4
  JS_ROUTES_ASSET = 'js-routes'
5
5
 
6
6
  initializer 'js-routes.dependent_on_routes', :after => "sprockets.environment" do
7
- routes = Rails.root.join('config','routes.rb')
8
- Rails.application.assets.register_preprocessor 'application/javascript', :'js-routes_dependent_on_routes' do |ctx,data|
9
- ctx.depend_on(routes) if ctx.logical_path == JS_ROUTES_ASSET
10
- data
7
+ if Rails.application.assets.respond_to?(:register_preprocessor)
8
+ routes = Rails.root.join('config','routes.rb')
9
+ Rails.application.assets.register_preprocessor 'application/javascript', :'js-routes_dependent_on_routes' do |ctx,data|
10
+ ctx.depend_on(routes) if ctx.logical_path == JS_ROUTES_ASSET
11
+ data
12
+ end
11
13
  end
12
14
  end
13
15
  end
data/lib/routes.js CHANGED
@@ -62,7 +62,11 @@
62
62
  return "";
63
63
  }
64
64
  if (typeof(object) == "object") {
65
- return ((typeof(object.to_param) == "function" && object.to_param()) || object.to_param || object.id || object).toString();
65
+ var property = object.to_param || object.id || object;
66
+ if (typeof(property) == "function") {
67
+ property = property.call(object)
68
+ }
69
+ return property.toString();
66
70
  } else {
67
71
  return object.toString();
68
72
  }
@@ -114,15 +118,9 @@
114
118
  var right = route[2];
115
119
  switch (type) {
116
120
  case NodeTypes.GROUP:
117
- try {
118
- return this.visit(left, options);
119
- } catch(e) {
120
- if (e instanceof ParameterMissing) {
121
- return "";
122
- } else {
123
- throw e;
124
- }
125
- }
121
+ return this.visit_group(left, options)
122
+ case NodeTypes.STAR:
123
+ return this.visit_group(left, options)
126
124
  case NodeTypes.CAT:
127
125
  return this.visit(left, options) + this.visit(right, options);
128
126
  case NodeTypes.SYMBOL:
@@ -134,11 +132,10 @@
134
132
  throw new ParameterMissing("Route parameter missing: " + left);
135
133
  }
136
134
  /*
137
- * I don't know what are these node types
135
+ * I don't know what is this node type
138
136
  * Please send your PR if you do
139
137
  */
140
138
  //case NodeTypes.OR:
141
- //case NodeTypes.STAR:
142
139
  case NodeTypes.LITERAL:
143
140
  return left;
144
141
  case NodeTypes.SLASH:
@@ -151,6 +148,18 @@
151
148
 
152
149
  },
153
150
 
151
+ visit_group: function(left, options) {
152
+ try {
153
+ return this.visit(left, options);
154
+ } catch(e) {
155
+ if (e instanceof ParameterMissing) {
156
+ return "";
157
+ } else {
158
+ throw e;
159
+ }
160
+ }
161
+ },
162
+
154
163
  get_prefix: function(){
155
164
  var prefix = defaults.prefix;
156
165
 
@@ -159,10 +168,19 @@
159
168
  }
160
169
 
161
170
  return prefix;
162
- }
171
+ },
163
172
 
173
+ namespace: function (root, namespaceString) {
174
+ var parts = namespaceString ? namespaceString.split('.') : [];
175
+ if (parts.length > 0) {
176
+ current = parts.shift();
177
+ root[current] = root[current] || {};
178
+ Utils.namespace(root[current], parts.join('.'));
179
+ }
180
+ }
164
181
  };
165
182
 
183
+ Utils.namespace(window, 'NAMESPACE');
166
184
  window.NAMESPACE = ROUTES;
167
185
  window.NAMESPACE.options = defaults;
168
186
  })();
@@ -13,8 +13,9 @@ describe JsRoutes do
13
13
  let(:_options) { {} }
14
14
 
15
15
  let(:routes) { App.routes.url_helpers }
16
+ let(:blog_routes) { BlogEngine::Engine.routes.url_helpers }
16
17
 
17
- describe "compatibility with Rails routes" do
18
+ describe "compatibility with Rails" do
18
19
 
19
20
  it "should generate collection routing" do
20
21
  evaljs("Routes.inboxes_path()").should == routes.inboxes_path()
@@ -59,6 +60,61 @@ describe JsRoutes do
59
60
  it "should support url anchor given as parameter" do
60
61
  evaljs("Routes.inbox_path(1, {anchor: 'hello'})").should == routes.inbox_path(1, :anchor => "hello")
61
62
  end
63
+
64
+ it "should support engine routes" do
65
+ evaljs("Routes.blog_app_posts_path()").should == blog_routes.posts_path()
66
+ end
67
+
68
+ it "should support engine routes with parameter" do
69
+ evaljs("Routes.blog_app_post_path(1)").should == blog_routes.post_path(1)
70
+ end
71
+
72
+ context "routes globbing" do
73
+ it "should be supported as parameters" do
74
+ evaljs("Routes.book_path('thrillers', 1)").should == routes.book_path('thrillers', 1)
75
+ end
76
+
77
+ xit "should support routes globbing as hash" do
78
+ evaljs("Routes.book_path(1, {section: 'thrillers'})").should == routes.book_path(1, :section => 'thrillers')
79
+ end
80
+
81
+ xit "should bee support routes globbing as hash" do
82
+ evaljs("Routes.book_path(1)").should == routes.book_path(1)
83
+ end
84
+ end
85
+
86
+ context "using optional path fragments" do
87
+ context "including not optional parts" do
88
+ it "should include everything that is not optional" do
89
+ evaljs("Routes.foo_path()").should == routes.foo_path
90
+ end
91
+ end
92
+
93
+ context "but not including them" do
94
+ it "should not include the optional parts" do
95
+ evaljs("Routes.things_path()").should == routes.things_path
96
+ end
97
+
98
+ xit "should not require the optional parts as arguments" do
99
+ #TODO: fix this inconsistence
100
+ evaljs("Routes.thing_path(null, 5)").should == routes.thing_path(nil, 5)
101
+ end
102
+
103
+ it "should treat undefined as non-given optional part" do
104
+ evaljs("Routes.thing_path(5, {optional_id: undefined})").should == routes.thing_path(5, :optional_id => nil)
105
+ end
106
+
107
+ it "should treat null as non-given optional part" do
108
+ evaljs("Routes.thing_path(5, {optional_id: null})").should == routes.thing_path(5, :optional_id => nil)
109
+ end
110
+ end
111
+
112
+ context "and including them" do
113
+ it "should include the optional parts" do
114
+ evaljs("Routes.things_path({optional_id: 5})").should == routes.things_path(:optional_id => 5)
115
+ end
116
+ end
117
+ end
62
118
  end
63
119
 
64
120
  context "when wrong parameters given" do
@@ -153,19 +209,37 @@ describe JsRoutes do
153
209
 
154
210
  end
155
211
 
156
- context "when namspace option is specified" do
212
+ describe "when namespace option is specified" do
157
213
  let(:_options) { {:namespace => "PHM"} }
158
- it "should use this name space for routing" do
214
+ it "should use this namespace for routing" do
159
215
  evaljs("window.Routes").should be_nil
160
216
  evaljs("PHM.inbox_path").should_not be_nil
161
217
  end
162
-
163
218
  end
164
- context "when nested namspace option is specified" do
165
- let(:_presetup) { "window.PHM = {}" }
166
- let(:_options) { {:namespace => "PHM.Routes"} }
167
- it "should use this name space for routing" do
168
- evaljs("PHM.Routes.inbox_path").should_not be_nil
219
+
220
+ describe "when nested namespace option is specified" do
221
+ context "and defined on client" do
222
+ let(:_presetup) { "window.PHM = {}" }
223
+ let(:_options) { {:namespace => "PHM.Routes"} }
224
+ it "should use this namespace for routing" do
225
+ evaljs("PHM.Routes.inbox_path").should_not be_nil
226
+ end
227
+ end
228
+
229
+ context "but undefined on client" do
230
+ let(:_options) { {:namespace => "PHM.Routes"} }
231
+ it "should initialize namespace" do
232
+ evaljs("window.PHM.Routes.inbox_path").should_not be_nil
233
+ end
234
+ end
235
+
236
+ context "and some parts are defined" do
237
+ let(:_presetup) { "window.PHM = { Utils: {} };" }
238
+ let(:_options) { {:namespace => "PHM.Routes"} }
239
+ it "should not overwrite existing parts" do
240
+ evaljs("window.PHM.Utils").should_not be_nil
241
+ evaljs("window.PHM.Routes.inbox_path").should_not be_nil
242
+ end
169
243
  end
170
244
  end
171
245
 
@@ -185,6 +259,10 @@ describe JsRoutes do
185
259
  evaljs("Routes.inbox_path({id: 1, to_param: function(){ return 'my';}})").should == routes.inbox_path(inbox)
186
260
  end
187
261
 
262
+ it "should call id if it is a function" do
263
+ evaljs("Routes.inbox_path({id: function() { return 1;}})").should == routes.inbox_path(1)
264
+ end
265
+
188
266
  it "should support options argument" do
189
267
  evaljs(
190
268
  "Routes.inbox_message_path({id:1, to_param: 'my'}, {id:2}, {custom: true, format: 'json'})"
@@ -192,37 +270,6 @@ describe JsRoutes do
192
270
  end
193
271
  end
194
272
 
195
- context "using optional path fragments" do
196
- context "including not optional parts" do
197
- it "should include everything that is not optional" do
198
- evaljs("Routes.foo_path()").should == routes.foo_path
199
- end
200
- end
201
-
202
- context "but not including them" do
203
- it "should not include the optional parts" do
204
- evaljs("Routes.things_path()").should == routes.things_path
205
- end
206
-
207
- it "should not require the optional parts as arguments" do
208
- evaljs("Routes.thing_path(5)").should == routes.thing_path(nil, 5)
209
- end
210
-
211
- it "should treat undefined as non-given optional part" do
212
- evaljs("Routes.thing_path(5, {optional_id: undefined})").should == routes.thing_path(5, :optional_id => nil)
213
- end
214
-
215
- it "should treat null as non-given optional part" do
216
- evaljs("Routes.thing_path(5, {optional_id: null})").should == routes.thing_path(5, :optional_id => nil)
217
- end
218
- end
219
-
220
- context "and including them" do
221
- it "should include the optional parts" do
222
- evaljs("Routes.things_path({optional_id: 5})").should == routes.things_path(:optional_id => 5)
223
- end
224
- end
225
- end
226
273
 
227
274
  describe "generated js" do
228
275
  subject { JsRoutes.generate }
data/spec/spec_helper.rb CHANGED
@@ -16,7 +16,15 @@ def evaljs(string)
16
16
  end
17
17
 
18
18
 
19
+ module BlogEngine
20
+ class Engine < Rails::Engine
21
+ isolate_namespace BlogEngine
22
+ end
19
23
 
24
+ Engine.routes.draw do
25
+ resources :posts
26
+ end
27
+ end
20
28
 
21
29
 
22
30
  class App < Rails::Application
@@ -44,6 +52,10 @@ class App < Rails::Application
44
52
  end
45
53
 
46
54
  match "/other_optional/(:optional_id)" => "foo#foo", :as => :foo
55
+
56
+ match 'books/*section/:title' => 'books#show', :as => :book
57
+
58
+ mount BlogEngine::Engine => "/blog", :as => :blog_app
47
59
  end
48
60
 
49
61
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: js-routes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-02 00:00:00.000000000 Z
12
+ date: 2012-05-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &85230710 !ruby/object:Gem::Requirement
16
+ requirement: &16473680 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.2'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *85230710
24
+ version_requirements: *16473680
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: therubyracer
27
- requirement: &85229560 !ruby/object:Gem::Requirement
27
+ requirement: &16471960 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *85229560
35
+ version_requirements: *16471960
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &85245130 !ruby/object:Gem::Requirement
38
+ requirement: &16469100 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,21 +43,21 @@ dependencies:
43
43
  version: 2.7.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *85245130
46
+ version_requirements: *16469100
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &85244440 !ruby/object:Gem::Requirement
49
+ requirement: &16488880 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: 1.0.0
54
+ version: 1.1.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *85244440
57
+ version_requirements: *16488880
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &85243690 !ruby/object:Gem::Requirement
60
+ requirement: &16486860 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,18 +65,7 @@ dependencies:
65
65
  version: 1.6.2
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *85243690
69
- - !ruby/object:Gem::Dependency
70
- name: rcov
71
- requirement: &85242750 !ruby/object:Gem::Requirement
72
- none: false
73
- requirements:
74
- - - ! '>='
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
- type: :development
78
- prerelease: false
79
- version_requirements: *85242750
68
+ version_requirements: *16486860
80
69
  description: Generates javascript file that defines all Rails named routes as javascript
81
70
  helpers
82
71
  email: agresso@gmail.com
@@ -119,7 +108,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
108
  version: '0'
120
109
  segments:
121
110
  - 0
122
- hash: -314330307
111
+ hash: 950059294616459731
123
112
  required_rubygems_version: !ruby/object:Gem::Requirement
124
113
  none: false
125
114
  requirements:
@@ -128,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
117
  version: '0'
129
118
  requirements: []
130
119
  rubyforge_project:
131
- rubygems_version: 1.8.10
120
+ rubygems_version: 1.8.11
132
121
  signing_key:
133
122
  specification_version: 3
134
123
  summary: Brings Rails named routes to javascript