js-routes 0.9.7 → 0.9.8
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 +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
|