js-routes 0.9.6 → 0.9.7
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 +7 -0
- data/Appraisals +3 -4
- data/gemfiles/rails32.gemfile +2 -2
- data/gemfiles/rails40.gemfile +2 -2
- data/js-routes.gemspec +3 -2
- data/lib/js_routes.rb +2 -2
- data/lib/js_routes/version.rb +1 -1
- data/lib/routes.js +19 -12
- data/lib/routes.js.coffee +18 -15
- data/spec/config/routes.rb +55 -0
- data/spec/js_routes/options_spec.rb +4 -0
- data/spec/js_routes/rails_routes_compatibility_spec.rb +20 -0
- data/spec/js_routes/zzz_last_post_rails_init_spec.rb +25 -1
- data/spec/spec_helper.rb +6 -0
- metadata +38 -44
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 0679713957b418ac64b8142276b2bb2cf48a900e
|
|
4
|
+
data.tar.gz: c2bd638c7208846f489be27cc1e693c10a62d7d8
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 90c22e0cd0bbde579a3357f420debc30c6c945e8de1d75b172e3cdd36e501c495f24c9069979fa6ef0cde11955903cb7f8bbe55a4977304e608ae07fb8b53002
|
|
7
|
+
data.tar.gz: 6febf43c926e12c4a61e3bfa4fea545a6cab98ee7da29fb0a74fbaa04821412e981b4f19013677e9156d91702832debcb815b7d7086e4c3ce1e32c9b85b2fb58
|
data/Appraisals
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
appraise "rails32" do
|
|
2
|
-
gem "
|
|
3
|
-
gem
|
|
2
|
+
gem "railties", "~> 3.2.16"
|
|
3
|
+
gem 'tzinfo'
|
|
4
4
|
end
|
|
5
5
|
|
|
6
6
|
appraise "rails40" do
|
|
7
|
-
gem "
|
|
7
|
+
gem "railties", "~> 4.0.2"
|
|
8
8
|
gem "minitest", "~> 4.0"
|
|
9
|
-
gem "js-routes", :path => "../"
|
|
10
9
|
end
|
data/gemfiles/rails32.gemfile
CHANGED
data/gemfiles/rails40.gemfile
CHANGED
data/js-routes.gemspec
CHANGED
|
@@ -22,7 +22,8 @@ Gem::Specification.new do |s|
|
|
|
22
22
|
s.rubygems_version = %q{1.6.0}
|
|
23
23
|
s.summary = %q{Brings Rails named routes to javascript}
|
|
24
24
|
|
|
25
|
-
s.add_runtime_dependency(%q<
|
|
25
|
+
s.add_runtime_dependency(%q<railties>, [">= 3.2"])
|
|
26
|
+
s.add_runtime_dependency(%q<sprockets-rails>)
|
|
26
27
|
s.add_development_dependency(%q<rspec>, [">= 2.14.0"])
|
|
27
28
|
s.add_development_dependency(%q<bundler>, [">= 1.1.0"])
|
|
28
29
|
s.add_development_dependency(%q<guard>, [">= 0"])
|
|
@@ -31,7 +32,7 @@ Gem::Specification.new do |s|
|
|
|
31
32
|
if defined?(JRUBY_VERSION)
|
|
32
33
|
s.add_development_dependency(%q<therubyrhino>, [">= 0"])
|
|
33
34
|
else
|
|
34
|
-
s.add_development_dependency(%q<debugger>, [">= 0"])
|
|
35
|
+
s.add_development_dependency(%q<debugger>, [">= 0"]) if RUBY_VERSION =~ /\A2\.0/
|
|
35
36
|
s.add_development_dependency(%q<therubyracer>, [">= 0"])
|
|
36
37
|
end
|
|
37
38
|
end
|
data/lib/js_routes.rb
CHANGED
|
@@ -20,7 +20,6 @@ class JsRoutes
|
|
|
20
20
|
default_url_options: {}
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
# We encode node symbols as integer to reduce the routes.js file size
|
|
24
23
|
NODE_TYPES = {
|
|
25
24
|
GROUP: 1,
|
|
26
25
|
CAT: 2,
|
|
@@ -123,7 +122,6 @@ class JsRoutes
|
|
|
123
122
|
protected
|
|
124
123
|
|
|
125
124
|
def js_routes
|
|
126
|
-
Rails.application.reload_routes!
|
|
127
125
|
js_routes = Rails.application.routes.named_routes.routes.sort_by(&:to_s).map do |_, route|
|
|
128
126
|
if route.app.respond_to?(:superclass) && route.app.superclass == Rails::Engine && !route.path.anchored
|
|
129
127
|
route.app.routes.named_routes.map do |_, engine_route|
|
|
@@ -203,6 +201,8 @@ class JsRoutes
|
|
|
203
201
|
result = serialize_spec(spec, parent_spec)
|
|
204
202
|
if parent_spec && result[1].is_a?(String)
|
|
205
203
|
result = [
|
|
204
|
+
# We encode node symbols as integer
|
|
205
|
+
# to reduce the routes.js file size
|
|
206
206
|
NODE_TYPES[:CAT],
|
|
207
207
|
serialize_spec(parent_spec),
|
|
208
208
|
result
|
data/lib/js_routes/version.rb
CHANGED
data/lib/routes.js
CHANGED
|
@@ -79,8 +79,6 @@
|
|
|
79
79
|
part = optional_parts[i];
|
|
80
80
|
if (!options.hasOwnProperty(part) && defaults.default_url_options.hasOwnProperty(part)) {
|
|
81
81
|
_results.push(options[part] = defaults.default_url_options[part]);
|
|
82
|
-
} else {
|
|
83
|
-
_results.push(void 0);
|
|
84
82
|
}
|
|
85
83
|
}
|
|
86
84
|
return _results;
|
|
@@ -96,11 +94,10 @@
|
|
|
96
94
|
return anchor;
|
|
97
95
|
},
|
|
98
96
|
extract_options: function(number_of_params, args) {
|
|
99
|
-
var
|
|
97
|
+
var last_el;
|
|
100
98
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (args.length > number_of_params || (type === "object" && !this.look_like_serialized_model(last_argument))) {
|
|
99
|
+
last_el = args[args.length - 1];
|
|
100
|
+
if (args.length > number_of_params || ((last_el != null) && "object" === this.get_object_type(last_el) && !this.look_like_serialized_model(last_el))) {
|
|
104
101
|
return args.pop();
|
|
105
102
|
} else {
|
|
106
103
|
return {};
|
|
@@ -120,7 +117,13 @@
|
|
|
120
117
|
}
|
|
121
118
|
property = object;
|
|
122
119
|
if (this.get_object_type(object) === "object") {
|
|
123
|
-
|
|
120
|
+
if ("to_param" in object) {
|
|
121
|
+
property = object.to_param;
|
|
122
|
+
} else if ("id" in object) {
|
|
123
|
+
property = object.id;
|
|
124
|
+
} else {
|
|
125
|
+
property = object;
|
|
126
|
+
}
|
|
124
127
|
if (this.get_object_type(property) === "function") {
|
|
125
128
|
property = property.call(object);
|
|
126
129
|
}
|
|
@@ -249,7 +252,7 @@
|
|
|
249
252
|
return this._classToTypeCache;
|
|
250
253
|
}
|
|
251
254
|
this._classToTypeCache = {};
|
|
252
|
-
_ref = "Boolean Number String Function Array Date RegExp
|
|
255
|
+
_ref = "Boolean Number String Function Array Date RegExp Object Error".split(" ");
|
|
253
256
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
|
254
257
|
name = _ref[_i];
|
|
255
258
|
this._classToTypeCache["[object " + name + "]"] = name.toLowerCase();
|
|
@@ -257,13 +260,17 @@
|
|
|
257
260
|
return this._classToTypeCache;
|
|
258
261
|
},
|
|
259
262
|
get_object_type: function(obj) {
|
|
260
|
-
var strType;
|
|
261
|
-
|
|
262
263
|
if (window.jQuery && (window.jQuery.type != null)) {
|
|
263
264
|
return window.jQuery.type(obj);
|
|
264
265
|
}
|
|
265
|
-
|
|
266
|
-
|
|
266
|
+
if (obj == null) {
|
|
267
|
+
return "" + obj;
|
|
268
|
+
}
|
|
269
|
+
if (typeof obj === "object" || typeof obj === "function") {
|
|
270
|
+
return this._classToType()[Object.prototype.toString.call(obj)] || "object";
|
|
271
|
+
} else {
|
|
272
|
+
return typeof obj;
|
|
273
|
+
}
|
|
267
274
|
},
|
|
268
275
|
namespace: function(root, namespaceString) {
|
|
269
276
|
var current, parts;
|
data/lib/routes.js.coffee
CHANGED
|
@@ -40,9 +40,8 @@ Utils =
|
|
|
40
40
|
path.join "://"
|
|
41
41
|
|
|
42
42
|
set_default_url_options: (optional_parts, options) ->
|
|
43
|
-
for part, i in optional_parts
|
|
44
|
-
|
|
45
|
-
options[part] = defaults.default_url_options[part]
|
|
43
|
+
for part, i in optional_parts when (not options.hasOwnProperty(part) and defaults.default_url_options.hasOwnProperty(part))
|
|
44
|
+
options[part] = defaults.default_url_options[part]
|
|
46
45
|
|
|
47
46
|
extract_anchor: (options) ->
|
|
48
47
|
anchor = ""
|
|
@@ -52,9 +51,8 @@ Utils =
|
|
|
52
51
|
anchor
|
|
53
52
|
|
|
54
53
|
extract_options: (number_of_params, args) ->
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
if args.length > number_of_params or (type == "object" and !@look_like_serialized_model(last_argument))
|
|
54
|
+
last_el = args[args.length - 1]
|
|
55
|
+
if args.length > number_of_params or (last_el? and "object" is @get_object_type(last_el) and !@look_like_serialized_model(last_el))
|
|
58
56
|
args.pop()
|
|
59
57
|
else
|
|
60
58
|
{}
|
|
@@ -67,10 +65,16 @@ Utils =
|
|
|
67
65
|
path_identifier: (object) ->
|
|
68
66
|
return "0" if object is 0
|
|
69
67
|
# null, undefined, false or ''
|
|
70
|
-
return ""
|
|
68
|
+
return "" unless object
|
|
71
69
|
property = object
|
|
72
70
|
if @get_object_type(object) is "object"
|
|
73
|
-
|
|
71
|
+
if "to_param" of object
|
|
72
|
+
property = object.to_param
|
|
73
|
+
else if "id" of object
|
|
74
|
+
property = object.id
|
|
75
|
+
else
|
|
76
|
+
property = object
|
|
77
|
+
|
|
74
78
|
property = property.call(object) if @get_object_type(property) is "function"
|
|
75
79
|
property.toString()
|
|
76
80
|
|
|
@@ -82,9 +86,8 @@ Utils =
|
|
|
82
86
|
|
|
83
87
|
prepare_parameters: (required_parameters, actual_parameters, options) ->
|
|
84
88
|
result = @clone(options) or {}
|
|
85
|
-
for val, i in required_parameters
|
|
86
|
-
|
|
87
|
-
result[val] = actual_parameters[i]
|
|
89
|
+
for val, i in required_parameters when i < actual_parameters.length
|
|
90
|
+
result[val] = actual_parameters[i]
|
|
88
91
|
result
|
|
89
92
|
|
|
90
93
|
build_path: (required_parameters, optional_parts, route, args) ->
|
|
@@ -198,13 +201,13 @@ Utils =
|
|
|
198
201
|
_classToType: ->
|
|
199
202
|
return @_classToTypeCache if @_classToTypeCache?
|
|
200
203
|
@_classToTypeCache = {}
|
|
201
|
-
for name in "Boolean Number String Function Array Date RegExp
|
|
202
|
-
@_classToTypeCache["[object
|
|
204
|
+
for name in "Boolean Number String Function Array Date RegExp Object Error".split(" ")
|
|
205
|
+
@_classToTypeCache["[object #{name}]"] = name.toLowerCase()
|
|
203
206
|
@_classToTypeCache
|
|
204
207
|
get_object_type: (obj) ->
|
|
205
208
|
return window.jQuery.type(obj) if window.jQuery and window.jQuery.type?
|
|
206
|
-
|
|
207
|
-
@_classToType()[
|
|
209
|
+
return "#{obj}" unless obj?
|
|
210
|
+
(if typeof obj is "object" or typeof obj is "function" then @_classToType()[Object::toString.call(obj)] or "object" else typeof obj)
|
|
208
211
|
|
|
209
212
|
namespace: (root, namespaceString) ->
|
|
210
213
|
parts = (if namespaceString then namespaceString.split(".") else [])
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
App.routes.draw do
|
|
2
|
+
resource "3df1b2d050ae5a96eac8565c9daef37a"
|
|
3
|
+
resource "341f9e69e3db1c344de2fc6551885711"
|
|
4
|
+
resource "0e1bcb2dc1ce4d80ec15cae9140fb99a"
|
|
5
|
+
resource "15b91c612530bfc69c70d121c8713da4"
|
|
6
|
+
resource "49e12936168a64dce4d4ec148104fb5a"
|
|
7
|
+
resource "d878104611f88952aba49965c1d2d573"
|
|
8
|
+
resource "0e94bfc3c8aaee5ea09579fe73cbdaff"
|
|
9
|
+
resource "e1c2dd2ea9c63b380eb0947a0e1f49aa"
|
|
10
|
+
resource "587c6e26ad7f9a6aa09f81add77b16f5"
|
|
11
|
+
resource "8e00bfffebe0c874d6dad1c7b8c7cd6b"
|
|
12
|
+
resource "394482d3515e7e49989a8496afa7d367"
|
|
13
|
+
resource "4ab9c701622cba87eae50795564abe1c"
|
|
14
|
+
resource "af4b4a2ea501fefbdb8367eb108b2e14"
|
|
15
|
+
resource "116d17a93932a9a3e5bd2750665582f9"
|
|
16
|
+
resource "315f0a62063288cd56373c8a00870596"
|
|
17
|
+
resource "d5357ec6df4589f81ca8689cf0231667"
|
|
18
|
+
resource "560a3b8cf807e873843cd889400cd52b"
|
|
19
|
+
resource "361de6041f545e67db1aeaa6206c8ac7"
|
|
20
|
+
resource "28b0a54de4a0884386f1e324edc13194"
|
|
21
|
+
resource "ab77f21a956d956295187806cdf38cd1"
|
|
22
|
+
resource "0b8a362fd486247fb7c41898709b9815"
|
|
23
|
+
resource "5efa0a96733bc027b3309ffb54d1d1d0"
|
|
24
|
+
resource "70a3ee535c59fcf59c58b6d39178833c"
|
|
25
|
+
resource "5095fc05868c673ce450524f78cd28d3"
|
|
26
|
+
resource "79b994cfbc79432d644a3b83804f4924"
|
|
27
|
+
resource "e25125c477cd451fd74a76eaaebc9165"
|
|
28
|
+
resource "672fbfb432687e2fee7d0e799cc10ea4"
|
|
29
|
+
resource "2eb8350243305659082eb92b2e5b702c"
|
|
30
|
+
resource "08c9973b624e10b10dc7235659c81346"
|
|
31
|
+
resource "fee0d4b123529a2c652bef0ec0116ef2"
|
|
32
|
+
resource "8422445d2aa176b7733473164c461a2e"
|
|
33
|
+
resource "c24b8252b235431ca3df21a6ac119062"
|
|
34
|
+
resource "c08c66c7fc40e9937ff84a86f6c6d18a"
|
|
35
|
+
resource "964851acca72064d861188150e848d55"
|
|
36
|
+
resource "d02927a4fd37b37c03dbad5d3c7a4753"
|
|
37
|
+
resource "2a69df680ff9bd8d3855d9ce5a4e51f7"
|
|
38
|
+
resource "d8daed677f9a9a6926005afbdeebcf73"
|
|
39
|
+
resource "83d4db872f5f148e9ead108d483fec78"
|
|
40
|
+
resource "09f9fb4250595d26f4149b76fcfa957d"
|
|
41
|
+
resource "956cdb4d3cbf36bb9ccb7c7fcc36a602"
|
|
42
|
+
resource "02816449a6c929f55f8bad958f25d25a"
|
|
43
|
+
resource "2dd7ae38bd72f7e8b26aafb5f002d634"
|
|
44
|
+
resource "c7c9aaa3f7131f1e7dbc9325b3426d3e"
|
|
45
|
+
resource "7556e7d17c2a26acbad7d5fa86e6e640"
|
|
46
|
+
resource "d03081ef427a227a808c708282fdc86b"
|
|
47
|
+
resource "8f610d21e6e499c1eea98ca08191c05f"
|
|
48
|
+
resource "b6b412ae8a369f6bfc7f312245eacc8c"
|
|
49
|
+
resource "e9bcda8b00879c49bd7f05afee59a28e"
|
|
50
|
+
resource "6e89f4baddd4044b42be7c2d3b382567"
|
|
51
|
+
resource "5959c376d15a609f2e74f4f351d0a565"
|
|
52
|
+
resource "3b7e418511c305c78f2d2c292a3a1289"
|
|
53
|
+
resource "87acf6bf6e8191ff8900f420b33d5268"
|
|
54
|
+
resource "648a9b17078423f29f42aa2ecac1cc7d"
|
|
55
|
+
end
|
|
@@ -85,6 +85,10 @@ describe JsRoutes, "options" do
|
|
|
85
85
|
expect(evaljs("Routes.inbox_path(1)")).to eq(routes.inbox_path(1, :format => "json"))
|
|
86
86
|
end
|
|
87
87
|
|
|
88
|
+
it "should render routing with default_format and zero object" do
|
|
89
|
+
expect(evaljs("Routes.inbox_path(0)")).to eq(routes.inbox_path(0, :format => "json"))
|
|
90
|
+
end
|
|
91
|
+
|
|
88
92
|
it "should override default_format when spefified implicitly" do
|
|
89
93
|
expect(evaljs("Routes.inbox_path(1, {format: 'xml'})")).to eq(routes.inbox_path(1, :format => "xml"))
|
|
90
94
|
end
|
|
@@ -18,6 +18,14 @@ describe JsRoutes, "compatibility with Rails" do
|
|
|
18
18
|
expect(evaljs("Routes.inbox_path(0)")).to eq(routes.inbox_path(0))
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
+
it "should support 0 as a to_param option" do
|
|
22
|
+
expect(evaljs("Routes.inbox_path({to_param: 0})")).to eq(routes.inbox_path(0))
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it "should support 0 as an id option" do
|
|
26
|
+
expect(evaljs("Routes.inbox_path({id: 0})")).to eq(routes.inbox_path(0))
|
|
27
|
+
end
|
|
28
|
+
|
|
21
29
|
it "should generate nested routing with one parameter" do
|
|
22
30
|
expect(evaljs("Routes.inbox_messages_path(1)")).to eq(routes.inbox_messages_path(1))
|
|
23
31
|
end
|
|
@@ -92,6 +100,7 @@ describe JsRoutes, "compatibility with Rails" do
|
|
|
92
100
|
it "should escape get parameters" do
|
|
93
101
|
expect(evaljs("Routes.inboxes_path({uri: 'http://example.com'})")).to eq(routes.inboxes_path(:uri => 'http://example.com'))
|
|
94
102
|
end
|
|
103
|
+
|
|
95
104
|
end
|
|
96
105
|
|
|
97
106
|
|
|
@@ -127,6 +136,11 @@ describe JsRoutes, "compatibility with Rails" do
|
|
|
127
136
|
it "should support required paramters given as options hash" do
|
|
128
137
|
expect(evaljs("Routes.search_path({q: 'hello'})")).to eq(routes.search_path(:q => 'hello'))
|
|
129
138
|
end
|
|
139
|
+
|
|
140
|
+
it "should ignore null parameters" do
|
|
141
|
+
pending
|
|
142
|
+
expect(evaljs("Routes.inboxes_path({hello: {world: null}})")).to eq(routes.inboxes_path(:hello => {world: nil}))
|
|
143
|
+
end
|
|
130
144
|
end
|
|
131
145
|
|
|
132
146
|
context "when jQuery is present" do
|
|
@@ -149,6 +163,12 @@ describe JsRoutes, "compatibility with Rails" do
|
|
|
149
163
|
end
|
|
150
164
|
it_should_behave_like 'serialization'
|
|
151
165
|
end
|
|
166
|
+
context "when parameters is null" do
|
|
167
|
+
let(:_value) do
|
|
168
|
+
{:hello => {world: nil}}
|
|
169
|
+
end
|
|
170
|
+
it_should_behave_like 'serialization'
|
|
171
|
+
end
|
|
152
172
|
context "when parameters is null" do
|
|
153
173
|
let(:_value) do
|
|
154
174
|
nil
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
1
|
# we need to run post_rails_init_spec as the latest
|
|
3
2
|
# because it cause unrevertable changes to runtime
|
|
4
3
|
# what is why I added "zzz_last" in the beginning
|
|
4
|
+
|
|
5
5
|
require 'spec_helper'
|
|
6
6
|
require "fileutils"
|
|
7
7
|
|
|
@@ -11,6 +11,7 @@ describe "after Rails initialization" do
|
|
|
11
11
|
before(:all) do
|
|
12
12
|
FileUtils.rm_f(NAME)
|
|
13
13
|
JsRoutes.generate!(NAME)
|
|
14
|
+
Rails.configuration.eager_load = false
|
|
14
15
|
Rails.application.initialize!
|
|
15
16
|
end
|
|
16
17
|
|
|
@@ -91,3 +92,26 @@ describe "after Rails initialization" do
|
|
|
91
92
|
end
|
|
92
93
|
end
|
|
93
94
|
end
|
|
95
|
+
|
|
96
|
+
describe "JSRoutes thread safety" do
|
|
97
|
+
before do
|
|
98
|
+
begin
|
|
99
|
+
Rails.application.initialize!
|
|
100
|
+
rescue
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
it "can produce the routes from multiple threads" do
|
|
105
|
+
threads = 2.times.map do
|
|
106
|
+
Thread.start do
|
|
107
|
+
10.times {
|
|
108
|
+
expect { JsRoutes.generate }.to_not raise_error
|
|
109
|
+
}
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
threads.each do |thread|
|
|
114
|
+
thread.join
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -53,6 +53,12 @@ class App < Rails::Application
|
|
|
53
53
|
config.assets.enabled = true
|
|
54
54
|
# initialize_on_precompile
|
|
55
55
|
config.assets.initialize_on_precompile = true
|
|
56
|
+
|
|
57
|
+
if 3 == Rails::VERSION::MAJOR
|
|
58
|
+
config.paths['config/routes'] << 'spec/config/routes.rb'
|
|
59
|
+
else
|
|
60
|
+
config.paths['config/routes.rb'] << 'spec/config/routes.rb'
|
|
61
|
+
end
|
|
56
62
|
end
|
|
57
63
|
|
|
58
64
|
def draw_routes
|
metadata
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: js-routes
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.9.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.9.7
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Bogdan Gusiev
|
|
@@ -12,131 +11,129 @@ cert_chain: []
|
|
|
12
11
|
date: 2013-02-13 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
|
-
name:
|
|
14
|
+
name: railties
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
|
-
- -
|
|
17
|
+
- - '>='
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
19
|
version: '3.2'
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
|
-
- -
|
|
24
|
+
- - '>='
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
26
|
version: '3.2'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: sprockets-rails
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - '>='
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - '>='
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
30
41
|
- !ruby/object:Gem::Dependency
|
|
31
42
|
name: rspec
|
|
32
43
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
44
|
requirements:
|
|
35
|
-
- -
|
|
45
|
+
- - '>='
|
|
36
46
|
- !ruby/object:Gem::Version
|
|
37
47
|
version: 2.14.0
|
|
38
48
|
type: :development
|
|
39
49
|
prerelease: false
|
|
40
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
51
|
requirements:
|
|
43
|
-
- -
|
|
52
|
+
- - '>='
|
|
44
53
|
- !ruby/object:Gem::Version
|
|
45
54
|
version: 2.14.0
|
|
46
55
|
- !ruby/object:Gem::Dependency
|
|
47
56
|
name: bundler
|
|
48
57
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
58
|
requirements:
|
|
51
|
-
- -
|
|
59
|
+
- - '>='
|
|
52
60
|
- !ruby/object:Gem::Version
|
|
53
61
|
version: 1.1.0
|
|
54
62
|
type: :development
|
|
55
63
|
prerelease: false
|
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
65
|
requirements:
|
|
59
|
-
- -
|
|
66
|
+
- - '>='
|
|
60
67
|
- !ruby/object:Gem::Version
|
|
61
68
|
version: 1.1.0
|
|
62
69
|
- !ruby/object:Gem::Dependency
|
|
63
70
|
name: guard
|
|
64
71
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
72
|
requirements:
|
|
67
|
-
- -
|
|
73
|
+
- - '>='
|
|
68
74
|
- !ruby/object:Gem::Version
|
|
69
75
|
version: '0'
|
|
70
76
|
type: :development
|
|
71
77
|
prerelease: false
|
|
72
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
79
|
requirements:
|
|
75
|
-
- -
|
|
80
|
+
- - '>='
|
|
76
81
|
- !ruby/object:Gem::Version
|
|
77
82
|
version: '0'
|
|
78
83
|
- !ruby/object:Gem::Dependency
|
|
79
84
|
name: guard-coffeescript
|
|
80
85
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
86
|
requirements:
|
|
83
|
-
- -
|
|
87
|
+
- - '>='
|
|
84
88
|
- !ruby/object:Gem::Version
|
|
85
89
|
version: '0'
|
|
86
90
|
type: :development
|
|
87
91
|
prerelease: false
|
|
88
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
-
none: false
|
|
90
93
|
requirements:
|
|
91
|
-
- -
|
|
94
|
+
- - '>='
|
|
92
95
|
- !ruby/object:Gem::Version
|
|
93
96
|
version: '0'
|
|
94
97
|
- !ruby/object:Gem::Dependency
|
|
95
98
|
name: appraisal
|
|
96
99
|
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
none: false
|
|
98
100
|
requirements:
|
|
99
|
-
- -
|
|
101
|
+
- - '>='
|
|
100
102
|
- !ruby/object:Gem::Version
|
|
101
103
|
version: 0.5.2
|
|
102
104
|
type: :development
|
|
103
105
|
prerelease: false
|
|
104
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
-
none: false
|
|
106
107
|
requirements:
|
|
107
|
-
- -
|
|
108
|
+
- - '>='
|
|
108
109
|
- !ruby/object:Gem::Version
|
|
109
110
|
version: 0.5.2
|
|
110
111
|
- !ruby/object:Gem::Dependency
|
|
111
112
|
name: debugger
|
|
112
113
|
requirement: !ruby/object:Gem::Requirement
|
|
113
|
-
none: false
|
|
114
114
|
requirements:
|
|
115
|
-
- -
|
|
115
|
+
- - '>='
|
|
116
116
|
- !ruby/object:Gem::Version
|
|
117
117
|
version: '0'
|
|
118
118
|
type: :development
|
|
119
119
|
prerelease: false
|
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
none: false
|
|
122
121
|
requirements:
|
|
123
|
-
- -
|
|
122
|
+
- - '>='
|
|
124
123
|
- !ruby/object:Gem::Version
|
|
125
124
|
version: '0'
|
|
126
125
|
- !ruby/object:Gem::Dependency
|
|
127
126
|
name: therubyracer
|
|
128
127
|
requirement: !ruby/object:Gem::Requirement
|
|
129
|
-
none: false
|
|
130
128
|
requirements:
|
|
131
|
-
- -
|
|
129
|
+
- - '>='
|
|
132
130
|
- !ruby/object:Gem::Version
|
|
133
131
|
version: '0'
|
|
134
132
|
type: :development
|
|
135
133
|
prerelease: false
|
|
136
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
137
|
-
none: false
|
|
138
135
|
requirements:
|
|
139
|
-
- -
|
|
136
|
+
- - '>='
|
|
140
137
|
- !ruby/object:Gem::Version
|
|
141
138
|
version: '0'
|
|
142
139
|
description: Generates javascript file that defines all Rails named routes as javascript
|
|
@@ -168,6 +165,7 @@ files:
|
|
|
168
165
|
- lib/routes.js
|
|
169
166
|
- lib/routes.js.coffee
|
|
170
167
|
- lib/tasks/js_routes.rake
|
|
168
|
+
- spec/config/routes.rb
|
|
171
169
|
- spec/js_routes/generated_javascript_spec.rb
|
|
172
170
|
- spec/js_routes/options_spec.rb
|
|
173
171
|
- spec/js_routes/rails_routes_compatibility_spec.rb
|
|
@@ -177,29 +175,25 @@ files:
|
|
|
177
175
|
homepage: http://github.com/railsware/js-routes
|
|
178
176
|
licenses:
|
|
179
177
|
- MIT
|
|
178
|
+
metadata: {}
|
|
180
179
|
post_install_message:
|
|
181
180
|
rdoc_options: []
|
|
182
181
|
require_paths:
|
|
183
182
|
- lib
|
|
184
183
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
185
|
-
none: false
|
|
186
184
|
requirements:
|
|
187
|
-
- -
|
|
185
|
+
- - '>='
|
|
188
186
|
- !ruby/object:Gem::Version
|
|
189
187
|
version: '0'
|
|
190
|
-
segments:
|
|
191
|
-
- 0
|
|
192
|
-
hash: -1200992096390296436
|
|
193
188
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
194
|
-
none: false
|
|
195
189
|
requirements:
|
|
196
|
-
- -
|
|
190
|
+
- - '>='
|
|
197
191
|
- !ruby/object:Gem::Version
|
|
198
192
|
version: '0'
|
|
199
193
|
requirements: []
|
|
200
194
|
rubyforge_project:
|
|
201
|
-
rubygems_version: 1.
|
|
195
|
+
rubygems_version: 2.1.10
|
|
202
196
|
signing_key:
|
|
203
|
-
specification_version:
|
|
197
|
+
specification_version: 4
|
|
204
198
|
summary: Brings Rails named routes to javascript
|
|
205
199
|
test_files: []
|