js-routes 1.3.2 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f8070be8c5b23bf6559f75032ac0512e19ab5cd1
4
- data.tar.gz: 2264e1657fcc5601ecd1eaa57fa71a2854b8e6e3
3
+ metadata.gz: 5b720670fa76910ce7f6648985f595280bb07c16
4
+ data.tar.gz: 6ea110ece8ff7cf6e5fc1fe6635819f62c15464e
5
5
  SHA512:
6
- metadata.gz: 59dab9d9c8c9bbadf9f5611ecc59b573db0443c7cff3691c17d52806da3586ecb1d0716b8d71ddd912d4f3e195b4f000d19338cc3a994ce0675e65fb7b781e0b
7
- data.tar.gz: 67059a57046c2430ee4b4ae1a8aa6657e0172db5fca0214067fb8130016b09424d51a291dc9c38990050515d8102d1f3713a76e7f558dc1e9502bc9b4abbacea
6
+ metadata.gz: 37d1e5fa18e348092b4f56525eb6c61626b8b4820e46bffc2b16f28466a181f3a233499c8cc9004db4dc5dee551c3dd1998efc8ed3515b43a9ee1e551e477c0b
7
+ data.tar.gz: fce1d09de9f6b5772a9b9b0a6f2a4759722f72f7a45e7032a9bcb7341f7987807624bff591d5115edfebcd1b04403aac258f4a46daa6f496f49f34dbddd94341
@@ -4,5 +4,6 @@ source "http://rubygems.org"
4
4
 
5
5
  gem "railties", "~> 4.2.1"
6
6
  gem "sprockets", "< 3"
7
+ gem "nokogiri", "< 1.7"
7
8
 
8
9
  gemspec :path => "../"
@@ -4,5 +4,6 @@ source "http://rubygems.org"
4
4
 
5
5
  gem "railties", "~> 4.2.1"
6
6
  gem "sprockets", "~> 3.0"
7
+ gem "nokogiri", "< 1.7"
7
8
 
8
9
  gemspec :path => "../"
data/js-routes.gemspec CHANGED
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  s.add_development_dependency(%q<therubyrhino>, [">= 2.0.4"])
31
31
  else
32
32
  s.add_development_dependency(%q<byebug>)
33
+ s.add_development_dependency(%q<pry-byebug>)
33
34
  s.add_development_dependency(%q<therubyracer>, [">= 0.12.1"])
34
35
  end
35
36
  end
data/lib/js_routes.rb CHANGED
@@ -110,9 +110,10 @@ class JsRoutes
110
110
  "NODE_TYPES" => json(NODE_TYPES),
111
111
  "SERIALIZER" => @options[:serializer] || json(nil),
112
112
  "ROUTES" => js_routes,
113
- "SPECIAL_OPTIONS_KEY" => @options[:special_options_key].to_s
113
+ "SPECIAL_OPTIONS_KEY" => @options[:special_options_key].to_s,
114
+ "DEPRECATED_BEHAVIOR" => Rails.version < "4",
114
115
  }.inject(File.read(File.dirname(__FILE__) + "/routes.js")) do |js, (key, value)|
115
- js.gsub!(key, value)
116
+ js.gsub!(key, value.to_s)
116
117
  end
117
118
  end
118
119
 
@@ -216,13 +217,19 @@ class JsRoutes
216
217
  end
217
218
 
218
219
  def route_js_arguments(route, parent_spec)
219
- required_parts = route.required_parts.clone
220
- optional_parts = route.parts - required_parts
221
- default_parts = route.defaults.select do |part, _|
222
- FILTERED_DEFAULT_PARTS.exclude?(part) && URL_OPTIONS.include?(part) || required_parts.include?(part)
220
+ required_parts = route.required_parts
221
+ parts_table = route.parts.each_with_object({}) do |part, hash|
222
+ hash[part] = required_parts.include?(part)
223
+ end
224
+ default_options = route.defaults.select do |part, _|
225
+ FILTERED_DEFAULT_PARTS.exclude?(part) && URL_OPTIONS.include?(part) || parts_table[part]
223
226
  end
224
227
  [
225
- required_parts, optional_parts, serialize(route.path.spec, parent_spec), default_parts
228
+ # JS objects don't preserve the order of properties which is crucial,
229
+ # so array is a better choice.
230
+ parts_table.to_a,
231
+ default_options,
232
+ serialize(route.path.spec, parent_spec)
226
233
  ].map do |argument|
227
234
  json(argument)
228
235
  end.join(", ")
@@ -1,3 +1,3 @@
1
1
  class JsRoutes
2
- VERSION = "1.3.2"
2
+ VERSION = "1.3.3"
3
3
  end
data/lib/routes.js CHANGED
@@ -4,7 +4,7 @@ Based on Rails routes of APP_CLASS
4
4
  */
5
5
 
6
6
  (function() {
7
- var NodeTypes, ParameterMissing, ReservedOptions, SpecialOptionsKey, Utils, createGlobalJsRoutesObject, defaults, root,
7
+ var DeprecatedBehavior, NodeTypes, ParameterMissing, ReservedOptions, SpecialOptionsKey, Utils, createGlobalJsRoutesObject, defaults, root,
8
8
  hasProp = {}.hasOwnProperty,
9
9
  slice = [].slice;
10
10
 
@@ -25,6 +25,8 @@ Based on Rails routes of APP_CLASS
25
25
 
26
26
  SpecialOptionsKey = "SPECIAL_OPTIONS_KEY";
27
27
 
28
+ DeprecatedBehavior = DEPRECATED_BEHAVIOR;
29
+
28
30
  ReservedOptions = ['anchor', 'trailing_slash', 'host', 'port', 'protocol'];
29
31
 
30
32
  Utils = {
@@ -170,13 +172,22 @@ Based on Rails routes of APP_CLASS
170
172
  });
171
173
  }
172
174
  },
173
- normalize_options: function(default_parts, required_parameters, optional_parts, actual_parameters) {
174
- var i, j, key, len, options, result, url_parameters, value;
175
- options = this.extract_options(required_parameters.length, actual_parameters);
176
- if (actual_parameters.length > required_parameters.length) {
175
+ normalize_options: function(parts, required_parts, default_options, actual_parameters) {
176
+ var i, j, key, len, options, part, parts_options, result, route_parts, url_parameters, use_all_parts, value;
177
+ options = this.extract_options(parts.length, actual_parameters);
178
+ if (actual_parameters.length > parts.length) {
177
179
  throw new Error("Too many parameters provided for path");
178
180
  }
179
- options = this.merge(defaults.default_url_options, default_parts, options);
181
+ use_all_parts = DeprecatedBehavior || actual_parameters.length > required_parts.length;
182
+ parts_options = {};
183
+ for (key in options) {
184
+ if (!hasProp.call(options, key)) continue;
185
+ use_all_parts = true;
186
+ if (this.indexOf(parts, key) >= 0) {
187
+ parts_options[key] = value;
188
+ }
189
+ }
190
+ options = this.merge(defaults.default_url_options, default_options, options);
180
191
  result = {};
181
192
  url_parameters = {};
182
193
  result['url_parameters'] = url_parameters;
@@ -189,18 +200,23 @@ Based on Rails routes of APP_CLASS
189
200
  url_parameters[key] = value;
190
201
  }
191
202
  }
192
- for (i = j = 0, len = required_parameters.length; j < len; i = ++j) {
193
- value = required_parameters[i];
203
+ route_parts = use_all_parts ? parts : required_parts;
204
+ i = 0;
205
+ for (j = 0, len = route_parts.length; j < len; j++) {
206
+ part = route_parts[j];
194
207
  if (i < actual_parameters.length) {
195
- url_parameters[value] = actual_parameters[i];
208
+ if (!parts_options.hasOwnProperty(part)) {
209
+ url_parameters[part] = actual_parameters[i];
210
+ ++i;
211
+ }
196
212
  }
197
213
  }
198
214
  return result;
199
215
  },
200
- build_route: function(required_parameters, optional_parts, route, default_parts, full_url, args) {
216
+ build_route: function(parts, required_parts, default_options, route, full_url, args) {
201
217
  var options, parameters, result, url, url_params;
202
218
  args = Array.prototype.slice.call(args);
203
- options = this.normalize_options(default_parts, required_parameters, optional_parts, args);
219
+ options = this.normalize_options(parts, required_parts, default_options, args);
204
220
  parameters = options['url_parameters'];
205
221
  result = "" + (this.get_prefix()) + (this.visit(route, parameters));
206
222
  url = Utils.clean_path(result);
@@ -313,10 +329,19 @@ Based on Rails routes of APP_CLASS
313
329
  }
314
330
  return prefix;
315
331
  },
316
- route: function(required_parts, optional_parts, route_spec, default_parts, full_url) {
317
- var path_fn;
332
+ route: function(parts_table, default_options, route_spec, full_url) {
333
+ var j, len, part, parts, path_fn, ref, required, required_parts;
334
+ required_parts = [];
335
+ parts = [];
336
+ for (j = 0, len = parts_table.length; j < len; j++) {
337
+ ref = parts_table[j], part = ref[0], required = ref[1];
338
+ parts.push(part);
339
+ if (required) {
340
+ required_parts.push(part);
341
+ }
342
+ }
318
343
  path_fn = function() {
319
- return Utils.build_route(required_parts, optional_parts, route_spec, default_parts, full_url, arguments);
344
+ return Utils.build_route(parts, required_parts, default_options, route_spec, full_url, arguments);
320
345
  };
321
346
  path_fn.required_params = required_parts;
322
347
  path_fn.toString = function() {
data/lib/routes.js.coffee CHANGED
@@ -13,6 +13,7 @@ defaults =
13
13
 
14
14
  NodeTypes = NODE_TYPES
15
15
  SpecialOptionsKey = "SPECIAL_OPTIONS_KEY"
16
+ DeprecatedBehavior = DEPRECATED_BEHAVIOR
16
17
 
17
18
  ReservedOptions = [
18
19
  'anchor'
@@ -104,11 +105,21 @@ Utils =
104
105
  if xs?.length > 0
105
106
  tap {}, (m) -> m[k] = v for k, v of x for x in xs
106
107
 
107
- normalize_options: (default_parts, required_parameters, optional_parts, actual_parameters) ->
108
- options = @extract_options(required_parameters.length, actual_parameters)
109
- if actual_parameters.length > required_parameters.length
108
+ normalize_options: (parts, required_parts, default_options, actual_parameters) ->
109
+ options = @extract_options(parts.length, actual_parameters)
110
+
111
+ if actual_parameters.length > parts.length
110
112
  throw new Error("Too many parameters provided for path")
111
- options = @merge(defaults.default_url_options, default_parts, options)
113
+
114
+ use_all_parts = DeprecatedBehavior or actual_parameters.length > required_parts.length
115
+ parts_options = {}
116
+
117
+ for own key of options
118
+ use_all_parts = true
119
+ if @indexOf(parts, key) >= 0
120
+ parts_options[key] = value
121
+
122
+ options = @merge(defaults.default_url_options, default_options, options)
112
123
  result = {}
113
124
  url_parameters = {}
114
125
  result['url_parameters'] = url_parameters
@@ -118,14 +129,19 @@ Utils =
118
129
  else
119
130
  url_parameters[key] = value
120
131
 
121
- for value, i in required_parameters when i < actual_parameters.length
122
- url_parameters[value] = actual_parameters[i]
132
+ route_parts = if use_all_parts then parts else required_parts
133
+ i = 0
134
+ for part in route_parts when i < actual_parameters.length
135
+ unless parts_options.hasOwnProperty(part)
136
+ url_parameters[part] = actual_parameters[i]
137
+ ++i
138
+
123
139
  result
124
140
 
125
- build_route: (required_parameters, optional_parts, route, default_parts, full_url, args) ->
141
+ build_route: (parts, required_parts, default_options, route, full_url, args) ->
126
142
  args = Array::slice.call(args)
127
143
 
128
- options = @normalize_options(default_parts, required_parameters, optional_parts, args)
144
+ options = @normalize_options(parts, required_parts, default_options, args)
129
145
  parameters = options['url_parameters']
130
146
 
131
147
  # path
@@ -239,9 +255,15 @@ Utils =
239
255
  #
240
256
  # route function: create route path function and add spec to it
241
257
  #
242
- route: (required_parts, optional_parts, route_spec, default_parts, full_url) ->
258
+ route: (parts_table, default_options, route_spec, full_url) ->
259
+ required_parts = []
260
+ parts = []
261
+ for [part, required] in parts_table
262
+ parts.push(part)
263
+ required_parts.push(part) if required
264
+
243
265
  path_fn = -> Utils.build_route(
244
- required_parts, optional_parts, route_spec, default_parts, full_url, arguments
266
+ parts, required_parts, default_options, route_spec, full_url, arguments
245
267
  )
246
268
  path_fn.required_params = required_parts
247
269
  path_fn.toString = -> Utils.build_path_spec(route_spec)
@@ -25,13 +25,13 @@ describe JsRoutes do
25
25
  is_expected.to include("inboxes_path: Utils.route(")
26
26
  end
27
27
  it "should have correct function without arguments signature" do
28
- is_expected.to include("inboxes_path: Utils.route([]")
28
+ is_expected.to include("inboxes_path: Utils.route([[\"format\",false]]")
29
29
  end
30
30
  it "should have correct function with arguments signature" do
31
- is_expected.to include("inbox_message_path: Utils.route([\"inbox_id\",\"id\"]")
31
+ is_expected.to include("inbox_message_path: Utils.route([[\"inbox_id\",true],[\"id\",true],[\"format\",false]]")
32
32
  end
33
33
  it "should have correct function signature with unordered hash" do
34
- is_expected.to include("inbox_message_attachment_path: Utils.route([\"inbox_id\",\"message_id\",\"id\"]")
34
+ is_expected.to include("inbox_message_attachment_path: Utils.route([[\"inbox_id\",true],[\"message_id\",true],[\"id\",true],[\"format\",false]]")
35
35
  end
36
36
 
37
37
  it "should have correct function comment with options argument" do
@@ -77,7 +77,7 @@ describe JsRoutes do
77
77
  describe "compiled javascript asset" do
78
78
  subject { ERB.new(File.read("app/assets/javascripts/js-routes.js.erb")).result(binding) }
79
79
  it "should have js routes code" do
80
- is_expected.to include("inbox_message_path: Utils.route([\"inbox_id\",\"id\"]")
80
+ is_expected.to include("inbox_message_path: Utils.route([[\"inbox_id\",true],[\"id\",true],[\"format\",false]]")
81
81
  end
82
82
  end
83
83
  end
@@ -14,6 +14,17 @@ describe JsRoutes, "compatibility with Rails" do
14
14
  expect(evaljs("Routes.inbox_path(1)")).to eq(routes.inbox_path(1))
15
15
  end
16
16
 
17
+ it "should raise error if required argument is not passed" do
18
+ expect { evaljs("Routes.thing_path()") }
19
+ .to raise_error('Route parameter missing: id')
20
+ expect { evaljs("Routes.search_path()") }
21
+ .to raise_error('Route parameter missing: q')
22
+ expect { evaljs("Routes.book_path()") }
23
+ .to raise_error('Route parameter missing: title')
24
+ expect { evaljs("Routes.book_title_path()") }
25
+ .to raise_error('Route parameter missing: title')
26
+ end
27
+
17
28
  it "should support 0 as a member parameter" do
18
29
  expect(evaljs("Routes.inbox_path(0)")).to eq(routes.inbox_path(0))
19
30
  end
@@ -59,9 +70,6 @@ describe JsRoutes, "compatibility with Rails" do
59
70
  end
60
71
 
61
72
  it 'should support route default subdomain' do
62
- # root inside namespace is broken
63
- # https://github.com/rails/rails/pull/23235
64
- pending if Rails.version >= '5.0.0' && Rails.version <= "5.0.1"
65
73
  expect(evaljs("Routes.backend_root_path()")).to eq(routes.backend_root_path)
66
74
  end
67
75
 
@@ -69,6 +77,10 @@ describe JsRoutes, "compatibility with Rails" do
69
77
  expect(evaljs("Routes.api_purchases_path({format: 'xml'})")).to eq(routes.api_purchases_path(format: 'xml'))
70
78
  end
71
79
 
80
+ it "should support default format override by passing it in args" do
81
+ expect(evaljs("Routes.api_purchases_path('xml')")).to eq(routes.api_purchases_path('xml'))
82
+ end
83
+
72
84
  it "doesn't apply defaults to path" do
73
85
  expect(evaljs("Routes.with_defaults_path()")).to eq(routes.with_defaults_path)
74
86
  end
@@ -184,11 +196,10 @@ describe JsRoutes, "compatibility with Rails" do
184
196
  context "but not including them" do
185
197
  it "should not include the optional parts" do
186
198
  expect(evaljs("Routes.things_path()")).to eq(routes.things_path)
199
+ expect(evaljs("Routes.things_path({ q: 'hello' })")).to eq(routes.things_path(q: 'hello'))
187
200
  end
188
201
 
189
202
  it "should not require the optional parts as arguments" do
190
- #TODO: fix this inconsistence
191
- pending
192
203
  expect(evaljs("Routes.thing_path(null, 5)")).to eq(routes.thing_path(nil, 5))
193
204
  end
194
205
 
@@ -196,14 +207,60 @@ describe JsRoutes, "compatibility with Rails" do
196
207
  expect(evaljs("Routes.thing_path(5, {optional_id: undefined})")).to eq(routes.thing_path(5, :optional_id => nil))
197
208
  end
198
209
 
210
+ it "should raise error when passing non-full list of arguments and some query params" do
211
+ expect { evaljs("Routes.thing_path(5, {q: 'hello'})") }
212
+ .to raise_error('Route parameter missing: id')
213
+ end
214
+
199
215
  it "should treat null as non-given optional part" do
200
216
  expect(evaljs("Routes.thing_path(5, {optional_id: null})")).to eq(routes.thing_path(5, :optional_id => nil))
201
217
  end
218
+
219
+ it "should work when passing required params in options" do
220
+ expect(evaljs("Routes.thing_deep_path({second_required: 1, third_required: 2})")).to eq(routes.thing_deep_path(second_required: 1, third_required: 2))
221
+ end
222
+
223
+ it "should skip leading and trailing optional parts" do
224
+ skip if Rails.version < '4'
225
+ expect(evaljs("Routes.thing_deep_path(1, 2)")).to eq(routes.thing_deep_path(1, 2))
226
+ end
202
227
  end
203
228
 
204
229
  context "and including them" do
230
+ if Rails.version < '4'
231
+ it "should fail when insufficient arguments are given" do
232
+ expect { evaljs("Routes.thing_deep_path(1)")}
233
+ .to raise_error('Route parameter missing: second_required')
234
+ expect { evaljs("Routes.thing_deep_path(1,2)")}
235
+ .to raise_error('Route parameter missing: third_required')
236
+ end
237
+ end
238
+
205
239
  it "should include the optional parts" do
206
240
  expect(evaljs("Routes.things_path({optional_id: 5})")).to eq(routes.things_path(:optional_id => 5))
241
+ expect(evaljs("Routes.things_path(5)")).to eq(routes.things_path(5))
242
+ expect(evaljs("Routes.thing_deep_path(1, { third_required: 3, second_required: 2 })")).to eq(routes.thing_deep_path(1, third_required: 3, second_required: 2))
243
+ expect(evaljs("Routes.thing_deep_path(1, { third_required: 3, second_required: 2, forth_optional: 4 })")).to eq(routes.thing_deep_path(1, third_required: 3, second_required: 2, forth_optional: 4))
244
+ expect(evaljs("Routes.thing_deep_path(2, { third_required: 3, first_optional: 1 })")).to eq(routes.thing_deep_path(2, third_required: 3, first_optional: 1))
245
+ expect(evaljs("Routes.thing_deep_path(3, { first_optional: 1, second_required: 2 })")).to eq(routes.thing_deep_path(3, first_optional: 1, second_required: 2))
246
+ expect(evaljs("Routes.thing_deep_path(3, { first_optional: 1, second_required: 2, forth_optional: 4 })")).to eq(routes.thing_deep_path(3, first_optional: 1, second_required: 2, forth_optional: 4))
247
+ expect(evaljs("Routes.thing_deep_path(4, { first_optional: 1, second_required: 2, third_required: 3 })")).to eq(routes.thing_deep_path(4, first_optional: 1, second_required: 2, third_required: 3))
248
+ expect(evaljs("Routes.thing_deep_path(1, 2, { third_required: 3 })")).to eq(routes.thing_deep_path(1, 2, third_required: 3))
249
+ expect(evaljs("Routes.thing_deep_path(1,2, {third_required: 3, q: 'bogdan'})")).to eq(routes.thing_deep_path(1,2, {third_required: 3, q: 'bogdan'}))
250
+ expect(evaljs("Routes.thing_deep_path(1, 2, { forth_optional: 4, third_required: 3 })")).to eq(routes.thing_deep_path(1, 2, forth_optional: 4, third_required: 3))
251
+ expect(evaljs("Routes.thing_deep_path(1, 3, { second_required: 2 })")).to eq(routes.thing_deep_path(1, 3, second_required: 2))
252
+ expect(evaljs("Routes.thing_deep_path(1, 4, { second_required: 2, third_required: 3 })")).to eq(routes.thing_deep_path(1, 4, second_required: 2, third_required: 3))
253
+ expect(evaljs("Routes.thing_deep_path(2, 3, { first_optional: 1 })")).to eq(routes.thing_deep_path(2, 3, first_optional: 1))
254
+ expect(evaljs("Routes.thing_deep_path(2, 3, { first_optional: 1, forth_optional: 4 })")).to eq(routes.thing_deep_path(2, 3, first_optional: 1, forth_optional: 4))
255
+ expect(evaljs("Routes.thing_deep_path(2, 4, { first_optional: 1, third_required: 3 })")).to eq(routes.thing_deep_path(2, 4, first_optional: 1, third_required: 3))
256
+ expect(evaljs("Routes.thing_deep_path(3, 4, { first_optional: 1, second_required: 2 })")).to eq(routes.thing_deep_path(3, 4, first_optional: 1, second_required: 2))
257
+ expect(evaljs("Routes.thing_deep_path(1, 2, 3)")).to eq(routes.thing_deep_path(1, 2, 3))
258
+ expect(evaljs("Routes.thing_deep_path(1, 2, 3, { forth_optional: 4 })")).to eq(routes.thing_deep_path(1, 2, 3, forth_optional: 4))
259
+ expect(evaljs("Routes.thing_deep_path(1, 2, 4, { third_required: 3 })")).to eq(routes.thing_deep_path(1, 2, 4, third_required: 3))
260
+ expect(evaljs("Routes.thing_deep_path(1, 3, 4, { second_required: 2 })")).to eq(routes.thing_deep_path(1, 3, 4, second_required: 2))
261
+ expect(evaljs("Routes.thing_deep_path(2, 3, 4, { first_optional: 1 })")).to eq(routes.thing_deep_path(2, 3, 4, first_optional: 1))
262
+ expect(evaljs("Routes.thing_deep_path(1, 2, 3, 4)")).to eq(routes.thing_deep_path(1, 2, 3, 4))
263
+
207
264
  end
208
265
 
209
266
  context "on nested optional parts" do
@@ -232,7 +289,7 @@ describe JsRoutes, "compatibility with Rails" do
232
289
 
233
290
  it "should throw Exceptions if when there is too many parameters" do
234
291
  expect {
235
- evaljs("Routes.inbox_path(1,2)")
292
+ evaljs("Routes.inbox_path(1,2,3)")
236
293
  }.to raise_error(js_error_class)
237
294
  end
238
295
 
data/spec/spec_helper.rb CHANGED
@@ -104,7 +104,6 @@ RSpec.configure do |config|
104
104
  inspectify(v)
105
105
  end
106
106
  when V8::Object
107
- require 'byebug'; byebug
108
107
  value.to_h.map do |k,v|
109
108
  [k, inspectify(v)]
110
109
  end.to_h
@@ -29,6 +29,9 @@ def draw_routes
29
29
  resources :things
30
30
  end
31
31
 
32
+ get "(/sep1/:first_optional)/sep2/:second_required/sep3/:third_required(/:forth_optional)",
33
+ as: :thing_deep, controller: :things, action: :show
34
+
32
35
  if Rails.version < "5.0.0"
33
36
  get "/:controller(/:action(/:id))" => "classic#classic", :as => :classic
34
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: js-routes
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bogdan Gusiev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-01 00:00:00.000000000 Z
11
+ date: 2017-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry-byebug
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: therubyracer
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -188,7 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
202
  version: '0'
189
203
  requirements: []
190
204
  rubyforge_project:
191
- rubygems_version: 2.6.7
205
+ rubygems_version: 2.5.1
192
206
  signing_key:
193
207
  specification_version: 4
194
208
  summary: Brings Rails named routes to javascript