js-routes 0.9.7 → 0.9.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -1
- data/.travis.yml +2 -0
- data/Appraisals +7 -2
- data/Readme.md +39 -11
- data/gemfiles/rails32.gemfile +1 -1
- data/gemfiles/rails40.gemfile +1 -2
- data/gemfiles/rails41.gemfile +8 -0
- data/lib/js_routes.rb +1 -1
- data/lib/js_routes/version.rb +1 -1
- data/lib/routes.js +46 -16
- data/lib/routes.js.coffee +40 -10
- data/spec/js_routes/amd_compatibility_spec.rb +42 -0
- data/spec/js_routes/options_spec.rb +35 -0
- data/spec/js_routes/rails_routes_compatibility_spec.rb +4 -0
- data/spec/js_routes/zzz_last_post_rails_init_spec.rb +2 -2
- data/spec/spec_helper.rb +3 -0
- metadata +26 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b27e547dc710d8afdc60c2196335c9bfafa2e279
|
4
|
+
data.tar.gz: 6dd7e82d07ba8f7326637e9ff37e6db477eea728
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a886ba634317aba0a1319ea2ba180c5428772d35a7011a03a1b26215d127151fd6253a5935bd685670eab3cb6844d5eef9d1c110d0be2a3d482f14f18bdab9b5
|
7
|
+
data.tar.gz: 8624616cd6b8abf666e0a6b1e6e0669bf79f83453e3c2d268de308e75d18aa75a106aa3ba7b371686274b87fa867567c73021f018fe5c5ad3eefcb43f19bac28
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/Appraisals
CHANGED
@@ -1,9 +1,14 @@
|
|
1
1
|
appraise "rails32" do
|
2
|
-
gem "railties", "~> 3.2.
|
2
|
+
gem "railties", "~> 3.2.18"
|
3
3
|
gem 'tzinfo'
|
4
4
|
end
|
5
5
|
|
6
6
|
appraise "rails40" do
|
7
|
-
gem "railties", "~> 4.0.
|
7
|
+
gem "railties", "~> 4.0.5"
|
8
8
|
gem "minitest", "~> 4.0"
|
9
9
|
end
|
10
|
+
|
11
|
+
appraise "rails41" do
|
12
|
+
gem "railties", "~> 4.1.1"
|
13
|
+
gem "minitest", ">= 4.0"
|
14
|
+
end
|
data/Readme.md
CHANGED
@@ -44,8 +44,8 @@ end
|
|
44
44
|
Available options:
|
45
45
|
|
46
46
|
* `default_url_options` - default parameters to be used to generate url
|
47
|
-
* Note that currently only optional parameters (like `:format`) can be defaulted.
|
48
|
-
* Example: {:format => "json"}
|
47
|
+
* Note that currently only optional parameters (like `:format` or `:trailing_slash`) can be defaulted.
|
48
|
+
* Example: {:format => "json", :trailing_slash => true}
|
49
49
|
* Default: {}
|
50
50
|
* `exclude` - Array of regexps to exclude from js routes.
|
51
51
|
* Default: []
|
@@ -67,9 +67,32 @@ Available options:
|
|
67
67
|
|
68
68
|
### Very Advanced Setup
|
69
69
|
|
70
|
-
In case you need multiple route files for different parts of your application, you
|
70
|
+
In case you need multiple route files for different parts of your application, you have to create the files manually.
|
71
|
+
If your application has an `admin` and an `application` namespace for example:
|
71
72
|
|
72
|
-
|
73
|
+
```
|
74
|
+
# app/assets/javascripts/admin/routes.js.erb
|
75
|
+
<%= JsRoutes.generate(namespace: "AdminRoutes", include: /admin/) %>
|
76
|
+
|
77
|
+
# app/assets/javascripts/admin.js.coffee
|
78
|
+
#= require admin/routes
|
79
|
+
```
|
80
|
+
|
81
|
+
```
|
82
|
+
# app/assets/javascripts/application/routes.js.erb
|
83
|
+
<%= JsRoutes.generate(namespace: "AppRoutes", exclude: /admin/) %>
|
84
|
+
|
85
|
+
# app/assets/javascripts/application.js.coffee
|
86
|
+
#= require application/routes
|
87
|
+
```
|
88
|
+
|
89
|
+
In order to generate the routes to a string:
|
90
|
+
|
91
|
+
```ruby
|
92
|
+
routes_js = JsRoutes.generate(options)
|
93
|
+
```
|
94
|
+
|
95
|
+
If you want to generate the routes files outside of the asset pipeline, you can use `JsRoutes.generate!`:
|
73
96
|
|
74
97
|
``` ruby
|
75
98
|
path = "app/assets/javascripts"
|
@@ -78,13 +101,6 @@ JsRoutes.generate!("#{path}/adm_routes.js", :namespace => "AdmRoutes", :include
|
|
78
101
|
JsRoutes.generate!("#{path}/api_routes.js", :namespace => "ApiRoutes", :include => /^api_/, :default_url_options => {:format => "json"})
|
79
102
|
```
|
80
103
|
|
81
|
-
In order to generate javascript to string and manipulate them yourself use:
|
82
|
-
Like:
|
83
|
-
|
84
|
-
``` ruby
|
85
|
-
routes_js = JsRoutes.generate(options)
|
86
|
-
```
|
87
|
-
|
88
104
|
## Usage
|
89
105
|
|
90
106
|
Configuration above will create a nice javascript file with `Routes` object that has all the rails routes available:
|
@@ -127,6 +143,18 @@ When using Spork and `Spork.trap_method(Rails::Application::RoutesReloader, :rel
|
|
127
143
|
Spork.trap_method(JsRoutes, :generate!)
|
128
144
|
```
|
129
145
|
|
146
|
+
## JS-Routes and heroku
|
147
|
+
|
148
|
+
Heroku environment has a specific problems with setup. It is impossible to use asset pipeline in this environtment. You should use "Very Advanced Setup" schema in this case.
|
149
|
+
|
150
|
+
For example create routes.js.erb in assets folder with needed content:
|
151
|
+
|
152
|
+
``` erb
|
153
|
+
<%= JsRoutes.generate({ options }) %>
|
154
|
+
```
|
155
|
+
|
156
|
+
This should just work.
|
157
|
+
|
130
158
|
## Advantages over alternatives
|
131
159
|
|
132
160
|
There are some alternatives available. Most of them has only basic feature and don't reach the level of quality I accept.
|
data/gemfiles/rails32.gemfile
CHANGED
data/gemfiles/rails40.gemfile
CHANGED
data/lib/js_routes.rb
CHANGED
@@ -201,7 +201,7 @@ class JsRoutes
|
|
201
201
|
result = serialize_spec(spec, parent_spec)
|
202
202
|
if parent_spec && result[1].is_a?(String)
|
203
203
|
result = [
|
204
|
-
# We encode node symbols as integer
|
204
|
+
# We encode node symbols as integer
|
205
205
|
# to reduce the routes.js file size
|
206
206
|
NODE_TYPES[:CAT],
|
207
207
|
serialize_spec(parent_spec),
|
data/lib/js_routes/version.rb
CHANGED
data/lib/routes.js
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
(function() {
|
2
|
-
var NodeTypes, ParameterMissing, Utils, defaults,
|
2
|
+
var NodeTypes, ParameterMissing, Utils, createGlobalJsRoutesObject, defaults, root,
|
3
3
|
__hasProp = {}.hasOwnProperty;
|
4
4
|
|
5
|
+
root = typeof exports !== "undefined" && exports !== null ? exports : this;
|
6
|
+
|
5
7
|
ParameterMissing = function(message) {
|
6
8
|
this.message = message;
|
7
9
|
};
|
@@ -28,8 +30,8 @@
|
|
28
30
|
if (!prefix && !(this.get_object_type(object) === "object")) {
|
29
31
|
throw new Error("Url parameters should be a javascript hash");
|
30
32
|
}
|
31
|
-
if (
|
32
|
-
result =
|
33
|
+
if (root.jQuery) {
|
34
|
+
result = root.jQuery.param(object);
|
33
35
|
return (!result ? "" : result);
|
34
36
|
}
|
35
37
|
s = [];
|
@@ -93,6 +95,19 @@
|
|
93
95
|
}
|
94
96
|
return anchor;
|
95
97
|
},
|
98
|
+
extract_trailing_slash: function(options) {
|
99
|
+
var trailing_slash;
|
100
|
+
|
101
|
+
trailing_slash = false;
|
102
|
+
if (defaults.default_url_options.hasOwnProperty("trailing_slash")) {
|
103
|
+
trailing_slash = defaults.default_url_options.trailing_slash;
|
104
|
+
}
|
105
|
+
if (options.hasOwnProperty("trailing_slash")) {
|
106
|
+
trailing_slash = options.trailing_slash;
|
107
|
+
delete options.trailing_slash;
|
108
|
+
}
|
109
|
+
return trailing_slash;
|
110
|
+
},
|
96
111
|
extract_options: function(number_of_params, args) {
|
97
112
|
var last_el;
|
98
113
|
|
@@ -157,7 +172,7 @@
|
|
157
172
|
return result;
|
158
173
|
},
|
159
174
|
build_path: function(required_parameters, optional_parts, route, args) {
|
160
|
-
var anchor, opts, parameters, result, url, url_params;
|
175
|
+
var anchor, opts, parameters, result, trailing_slash, url, url_params;
|
161
176
|
|
162
177
|
args = Array.prototype.slice.call(args);
|
163
178
|
opts = this.extract_options(required_parameters.length, args);
|
@@ -167,8 +182,12 @@
|
|
167
182
|
parameters = this.prepare_parameters(required_parameters, args, opts);
|
168
183
|
this.set_default_url_options(optional_parts, parameters);
|
169
184
|
anchor = this.extract_anchor(parameters);
|
185
|
+
trailing_slash = this.extract_trailing_slash(parameters);
|
170
186
|
result = "" + (this.get_prefix()) + (this.visit(route, parameters));
|
171
187
|
url = Utils.clean_path("" + result);
|
188
|
+
if (trailing_slash === true) {
|
189
|
+
url = url.replace(/(.*?)[\/]?$/, "$1/");
|
190
|
+
}
|
172
191
|
if ((url_params = this.serialize(parameters)).length) {
|
173
192
|
url += "?" + url_params;
|
174
193
|
}
|
@@ -260,8 +279,8 @@
|
|
260
279
|
return this._classToTypeCache;
|
261
280
|
},
|
262
281
|
get_object_type: function(obj) {
|
263
|
-
if (
|
264
|
-
return
|
282
|
+
if (root.jQuery && (root.jQuery.type != null)) {
|
283
|
+
return root.jQuery.type(obj);
|
265
284
|
}
|
266
285
|
if (obj == null) {
|
267
286
|
return "" + obj;
|
@@ -271,8 +290,13 @@
|
|
271
290
|
} else {
|
272
291
|
return typeof obj;
|
273
292
|
}
|
274
|
-
}
|
275
|
-
|
293
|
+
}
|
294
|
+
};
|
295
|
+
|
296
|
+
createGlobalJsRoutesObject = function() {
|
297
|
+
var namespace;
|
298
|
+
|
299
|
+
namespace = function(mainRoot, namespaceString) {
|
276
300
|
var current, parts;
|
277
301
|
|
278
302
|
parts = (namespaceString ? namespaceString.split(".") : []);
|
@@ -280,15 +304,21 @@
|
|
280
304
|
return;
|
281
305
|
}
|
282
306
|
current = parts.shift();
|
283
|
-
|
284
|
-
return
|
285
|
-
}
|
307
|
+
mainRoot[current] = mainRoot[current] || {};
|
308
|
+
return namespace(mainRoot[current], parts.join("."));
|
309
|
+
};
|
310
|
+
namespace(root, "NAMESPACE");
|
311
|
+
root.NAMESPACE = ROUTES;
|
312
|
+
root.NAMESPACE.options = defaults;
|
313
|
+
return root.NAMESPACE;
|
286
314
|
};
|
287
315
|
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
316
|
+
if (typeof define === "function" && define.amd) {
|
317
|
+
define([], function() {
|
318
|
+
return createGlobalJsRoutesObject();
|
319
|
+
});
|
320
|
+
} else {
|
321
|
+
createGlobalJsRoutesObject();
|
322
|
+
}
|
293
323
|
|
294
324
|
}).call(this);
|
data/lib/routes.js.coffee
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
# root is this
|
2
|
+
root = (exports ? this)
|
3
|
+
|
1
4
|
ParameterMissing = (@message) -> #
|
2
5
|
ParameterMissing:: = new Error()
|
3
6
|
defaults =
|
@@ -13,8 +16,8 @@ Utils =
|
|
13
16
|
if !prefix and !(@get_object_type(object) is "object")
|
14
17
|
throw new Error("Url parameters should be a javascript hash")
|
15
18
|
|
16
|
-
if
|
17
|
-
result =
|
19
|
+
if root.jQuery
|
20
|
+
result = root.jQuery.param(object)
|
18
21
|
return (if not result then "" else result)
|
19
22
|
|
20
23
|
s = []
|
@@ -50,6 +53,15 @@ Utils =
|
|
50
53
|
delete options.anchor
|
51
54
|
anchor
|
52
55
|
|
56
|
+
extract_trailing_slash: (options) ->
|
57
|
+
trailing_slash = false
|
58
|
+
if defaults.default_url_options.hasOwnProperty("trailing_slash")
|
59
|
+
trailing_slash = defaults.default_url_options.trailing_slash
|
60
|
+
if options.hasOwnProperty("trailing_slash")
|
61
|
+
trailing_slash = options.trailing_slash
|
62
|
+
delete options.trailing_slash
|
63
|
+
trailing_slash
|
64
|
+
|
53
65
|
extract_options: (number_of_params, args) ->
|
54
66
|
last_el = args[args.length - 1]
|
55
67
|
if args.length > number_of_params or (last_el? and "object" is @get_object_type(last_el) and !@look_like_serialized_model(last_el))
|
@@ -98,11 +110,18 @@ Utils =
|
|
98
110
|
throw new Error("Too many parameters provided for path")
|
99
111
|
parameters = @prepare_parameters(required_parameters, args, opts)
|
100
112
|
@set_default_url_options optional_parts, parameters
|
113
|
+
# options
|
101
114
|
anchor = @extract_anchor(parameters)
|
115
|
+
trailing_slash = @extract_trailing_slash(parameters)
|
116
|
+
# path
|
102
117
|
result = "#{@get_prefix()}#{@visit(route, parameters)}"
|
103
118
|
url = Utils.clean_path("#{result}")
|
119
|
+
# set trailing_slash
|
120
|
+
url = url.replace(/(.*?)[\/]?$/, "$1/") if trailing_slash is true
|
121
|
+
# set additional url params
|
104
122
|
if (url_params = @serialize(parameters)).length
|
105
123
|
url += "?#{url_params}"
|
124
|
+
# set anchor
|
106
125
|
url += anchor
|
107
126
|
url
|
108
127
|
|
@@ -205,17 +224,28 @@ Utils =
|
|
205
224
|
@_classToTypeCache["[object #{name}]"] = name.toLowerCase()
|
206
225
|
@_classToTypeCache
|
207
226
|
get_object_type: (obj) ->
|
208
|
-
return
|
227
|
+
return root.jQuery.type(obj) if root.jQuery and root.jQuery.type?
|
209
228
|
return "#{obj}" unless obj?
|
210
229
|
(if typeof obj is "object" or typeof obj is "function" then @_classToType()[Object::toString.call(obj)] or "object" else typeof obj)
|
211
230
|
|
212
|
-
|
231
|
+
# globalJsObject
|
232
|
+
createGlobalJsRoutesObject = ->
|
233
|
+
# namespace function, private
|
234
|
+
namespace = (mainRoot, namespaceString) ->
|
213
235
|
parts = (if namespaceString then namespaceString.split(".") else [])
|
214
236
|
return unless parts.length
|
215
237
|
current = parts.shift()
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
238
|
+
mainRoot[current] = mainRoot[current] or {}
|
239
|
+
namespace mainRoot[current], parts.join(".")
|
240
|
+
# object
|
241
|
+
namespace(root, "NAMESPACE")
|
242
|
+
root.NAMESPACE = ROUTES
|
243
|
+
root.NAMESPACE.options = defaults
|
244
|
+
root.NAMESPACE
|
245
|
+
# Set up Routes appropriately for the environment.
|
246
|
+
if typeof define is "function" and define.amd
|
247
|
+
# AMD
|
248
|
+
define [], -> createGlobalJsRoutesObject()
|
249
|
+
else
|
250
|
+
# Browser globals
|
251
|
+
createGlobalJsRoutesObject()
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe JsRoutes, "compatibility with AMD/require.js" do
|
4
|
+
|
5
|
+
before(:each) do
|
6
|
+
evaljs("window.GlobalCheck = {};")
|
7
|
+
evaljs("window.define = function (requirs, callback) { window.GlobalCheck['js-routes'] = callback.call(this); return window.GlobalCheck['js-routes']; };")
|
8
|
+
evaljs("window.define.amd = { jQuery: true };")
|
9
|
+
strRequire =<<EOF
|
10
|
+
window.require = function (r, callback) {
|
11
|
+
var allArgs, i;
|
12
|
+
|
13
|
+
allArgs = (function() {
|
14
|
+
var _i, _len, _results;
|
15
|
+
_results = [];
|
16
|
+
for (_i = 0, _len = r.length; _i < _len; _i++) {
|
17
|
+
i = r[_i];
|
18
|
+
_results.push(window.GlobalCheck[i]);
|
19
|
+
}
|
20
|
+
return _results;
|
21
|
+
})();
|
22
|
+
|
23
|
+
return callback.apply(null, allArgs);
|
24
|
+
};
|
25
|
+
EOF
|
26
|
+
evaljs(strRequire)
|
27
|
+
evaljs(JsRoutes.generate({}))
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should working from global scope" do
|
31
|
+
expect(evaljs("Routes.inboxes_path()")).to eq(routes.inboxes_path())
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should working from define function" do
|
35
|
+
expect(evaljs("Routes.inboxes_path()")).to eq(evaljs("GlobalCheck['js-routes'].inboxes_path()"))
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should working from require" do
|
39
|
+
expect(evaljs("require(['js-routes'], function(r){ return r.inboxes_path(); })")).to eq(routes.inboxes_path())
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -157,6 +157,41 @@ describe JsRoutes, "options" do
|
|
157
157
|
end
|
158
158
|
end
|
159
159
|
|
160
|
+
describe "trailing_slash" do
|
161
|
+
context "with default option" do
|
162
|
+
let(:_options) { Hash.new }
|
163
|
+
it "should working in params" do
|
164
|
+
expect(evaljs("Routes.inbox_path(1, {trailing_slash: true})")).to eq(routes.inbox_path(1, :trailing_slash => true))
|
165
|
+
end
|
166
|
+
|
167
|
+
it "should working with additional params" do
|
168
|
+
expect(evaljs("Routes.inbox_path(1, {trailing_slash: true, test: 'params'})")).to eq(routes.inbox_path(1, :trailing_slash => true, :test => 'params'))
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
context "with default_url_options option" do
|
173
|
+
let(:_options) { {:default_url_options => {:trailing_slash => true}} }
|
174
|
+
it "should working" do
|
175
|
+
expect(evaljs("Routes.inbox_path(1, {test: 'params'})")).to eq(routes.inbox_path(1, :trailing_slash => true, :test => 'params'))
|
176
|
+
end
|
177
|
+
|
178
|
+
it "should remove it by params" do
|
179
|
+
expect(evaljs("Routes.inbox_path(1, {trailing_slash: false})")).to eq(routes.inbox_path(1))
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
context "with disabled default_url_options option" do
|
184
|
+
let(:_options) { {:default_url_options => {:trailing_slash => false}} }
|
185
|
+
it "should not use trailing_slash" do
|
186
|
+
expect(evaljs("Routes.inbox_path(1, {test: 'params'})")).to eq(routes.inbox_path(1, :test => 'params'))
|
187
|
+
end
|
188
|
+
|
189
|
+
it "should use it by params" do
|
190
|
+
expect(evaljs("Routes.inbox_path(1, {trailing_slash: true})")).to eq(routes.inbox_path(1, :trailing_slash => true))
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
160
195
|
describe "camel_case" do
|
161
196
|
context "with default option" do
|
162
197
|
let(:_options) { Hash.new }
|
@@ -42,6 +42,10 @@ describe JsRoutes, "compatibility with Rails" do
|
|
42
42
|
expect(evaljs("Routes.object_path(1, 2)")).to eq(routes.object_path(1,2))
|
43
43
|
end
|
44
44
|
|
45
|
+
it "should support routes with trailing_slash" do
|
46
|
+
expect(evaljs("Routes.inbox_path(1, {trailing_slash: true})")).to eq(routes.inbox_path(1, trailing_slash: true))
|
47
|
+
end
|
48
|
+
|
45
49
|
it "should support url anchor given as parameter" do
|
46
50
|
expect(evaljs("Routes.inbox_path(1, {anchor: 'hello'})")).to eq(routes.inbox_path(1, :anchor => "hello"))
|
47
51
|
end
|
@@ -60,7 +60,7 @@ describe "after Rails initialization" do
|
|
60
60
|
Rails.application.config.assets.initialize_on_precompile = true
|
61
61
|
end
|
62
62
|
it "should render some javascript" do
|
63
|
-
expect(ctx.evaluate('js-routes.js')).to match(/
|
63
|
+
expect(ctx.evaluate('js-routes.js')).to match(/root\.Routes/)
|
64
64
|
end
|
65
65
|
end
|
66
66
|
context "and not initialize on precompile" do
|
@@ -71,7 +71,7 @@ describe "after Rails initialization" do
|
|
71
71
|
if 3 == Rails::VERSION::MAJOR
|
72
72
|
expect { ctx.evaluate('js-routes.js') }.to raise_error(/Cannot precompile/)
|
73
73
|
else
|
74
|
-
expect(ctx.evaluate('js-routes.js')).to match(/
|
74
|
+
expect(ctx.evaluate('js-routes.js')).to match(/root\.Routes/)
|
75
75
|
end
|
76
76
|
end
|
77
77
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -7,6 +7,9 @@ require 'rails/all'
|
|
7
7
|
require 'js-routes'
|
8
8
|
require "active_support/core_ext/hash/slice"
|
9
9
|
require 'coffee-script'
|
10
|
+
# fix ends_with? error for rails 3.2
|
11
|
+
require 'active_support/core_ext/string/starts_ends_with' if 3 == Rails::VERSION::MAJOR
|
12
|
+
|
10
13
|
if defined?(JRUBY_VERSION)
|
11
14
|
require 'rhino'
|
12
15
|
JS_LIB_CLASS = Rhino
|
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.9.
|
4
|
+
version: 0.9.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bogdan Gusiev
|
@@ -14,126 +14,112 @@ dependencies:
|
|
14
14
|
name: railties
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '3.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: sprockets-rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 2.14.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 2.14.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 1.1.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 1.1.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: guard
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: guard-coffeescript
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: appraisal
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: 0.5.2
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 0.5.2
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: debugger
|
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'
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
112
|
name: therubyracer
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
128
114
|
requirements:
|
129
|
-
- -
|
115
|
+
- - ">="
|
130
116
|
- !ruby/object:Gem::Version
|
131
117
|
version: '0'
|
132
118
|
type: :development
|
133
119
|
prerelease: false
|
134
120
|
version_requirements: !ruby/object:Gem::Requirement
|
135
121
|
requirements:
|
136
|
-
- -
|
122
|
+
- - ">="
|
137
123
|
- !ruby/object:Gem::Version
|
138
124
|
version: '0'
|
139
125
|
description: Generates javascript file that defines all Rails named routes as javascript
|
@@ -144,10 +130,10 @@ extensions: []
|
|
144
130
|
extra_rdoc_files:
|
145
131
|
- LICENSE.txt
|
146
132
|
files:
|
147
|
-
- .document
|
148
|
-
- .gitignore
|
149
|
-
- .rspec
|
150
|
-
- .travis.yml
|
133
|
+
- ".document"
|
134
|
+
- ".gitignore"
|
135
|
+
- ".rspec"
|
136
|
+
- ".travis.yml"
|
151
137
|
- Appraisals
|
152
138
|
- Gemfile
|
153
139
|
- Guardfile
|
@@ -157,6 +143,7 @@ files:
|
|
157
143
|
- app/assets/javascripts/js-routes.js.erb
|
158
144
|
- gemfiles/rails32.gemfile
|
159
145
|
- gemfiles/rails40.gemfile
|
146
|
+
- gemfiles/rails41.gemfile
|
160
147
|
- js-routes.gemspec
|
161
148
|
- lib/js-routes.rb
|
162
149
|
- lib/js_routes.rb
|
@@ -166,6 +153,7 @@ files:
|
|
166
153
|
- lib/routes.js.coffee
|
167
154
|
- lib/tasks/js_routes.rake
|
168
155
|
- spec/config/routes.rb
|
156
|
+
- spec/js_routes/amd_compatibility_spec.rb
|
169
157
|
- spec/js_routes/generated_javascript_spec.rb
|
170
158
|
- spec/js_routes/options_spec.rb
|
171
159
|
- spec/js_routes/rails_routes_compatibility_spec.rb
|
@@ -182,17 +170,17 @@ require_paths:
|
|
182
170
|
- lib
|
183
171
|
required_ruby_version: !ruby/object:Gem::Requirement
|
184
172
|
requirements:
|
185
|
-
- -
|
173
|
+
- - ">="
|
186
174
|
- !ruby/object:Gem::Version
|
187
175
|
version: '0'
|
188
176
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
189
177
|
requirements:
|
190
|
-
- -
|
178
|
+
- - ">="
|
191
179
|
- !ruby/object:Gem::Version
|
192
180
|
version: '0'
|
193
181
|
requirements: []
|
194
182
|
rubyforge_project:
|
195
|
-
rubygems_version: 2.
|
183
|
+
rubygems_version: 2.2.2
|
196
184
|
signing_key:
|
197
185
|
specification_version: 4
|
198
186
|
summary: Brings Rails named routes to javascript
|