crossroadsjs-rails 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
/Gemfile.lock
|
1
|
+
/Gemfile.lock
|
2
|
+
*.gem
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Crossroads.js for Rails ![Build Status][travis_ci_build_status]
|
2
2
|
|
3
|
-
Provides Crossroads.js (0.
|
3
|
+
Provides Crossroads.js (0.8.0) for use with Rails 3
|
4
4
|
|
5
5
|
[RubyGems][ruby_gems] | [Ruby Toolbox][ruby_toolbox] | [GitHub][github] | [Travis CI][travis_ci] | [RubyDoc][ruby_doc]
|
6
6
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
describe Crossroadsjs::Rails do
|
4
|
-
it { Crossroadsjs::Rails::VERSION.should == "1.
|
5
|
-
it { Crossroadsjs::Rails::CROSSROADSJS_VERSION.should == "0.
|
4
|
+
it { Crossroadsjs::Rails::VERSION.should == "1.1.0" }
|
5
|
+
it { Crossroadsjs::Rails::CROSSROADSJS_VERSION.should == "0.8.0" }
|
6
6
|
end
|
@@ -1,15 +1,14 @@
|
|
1
1
|
/** @license
|
2
|
-
*
|
3
|
-
*
|
2
|
+
* crossroads <http://millermedeiros.github.com/crossroads.js/>
|
3
|
+
* License: MIT
|
4
4
|
* Author: Miller Medeiros
|
5
|
-
* Version: 0.
|
5
|
+
* Version: 0.8.0 (2012/3/5 14:26)
|
6
6
|
*/
|
7
7
|
|
8
8
|
(function (define) {
|
9
9
|
define(['signals'], function (signals) {
|
10
10
|
|
11
11
|
var crossroads,
|
12
|
-
patternLexer,
|
13
12
|
UNDEF;
|
14
13
|
|
15
14
|
// Helpers -----------
|
@@ -85,6 +84,7 @@ define(['signals'], function (signals) {
|
|
85
84
|
*/
|
86
85
|
function Crossroads() {
|
87
86
|
this._routes = [];
|
87
|
+
this._prevRoutes = [];
|
88
88
|
this.bypassed = new signals.Signal();
|
89
89
|
this.routed = new signals.Signal();
|
90
90
|
}
|
@@ -121,8 +121,9 @@ define(['signals'], function (signals) {
|
|
121
121
|
this._routes.length = 0;
|
122
122
|
},
|
123
123
|
|
124
|
-
parse : function (request) {
|
124
|
+
parse : function (request, defaultArgs) {
|
125
125
|
request = request || '';
|
126
|
+
defaultArgs = defaultArgs || [];
|
126
127
|
|
127
128
|
var routes = this._getMatchedRoutes(request),
|
128
129
|
i = 0,
|
@@ -130,16 +131,26 @@ define(['signals'], function (signals) {
|
|
130
131
|
cur;
|
131
132
|
|
132
133
|
if (n) {
|
134
|
+
this._notifyPrevRoutes(request);
|
135
|
+
this._prevRoutes = routes;
|
133
136
|
//shold be incremental loop, execute routes in order
|
134
137
|
while (i < n) {
|
135
138
|
cur = routes[i];
|
136
|
-
cur.route.matched.dispatch.apply(cur.route.matched, cur.params);
|
139
|
+
cur.route.matched.dispatch.apply(cur.route.matched, defaultArgs.concat(cur.params));
|
137
140
|
cur.isFirst = !i;
|
138
|
-
this.routed.dispatch(request, cur);
|
141
|
+
this.routed.dispatch.apply(this.routed, defaultArgs.concat([request, cur]));
|
139
142
|
i += 1;
|
140
143
|
}
|
141
144
|
} else {
|
142
|
-
this.bypassed.dispatch(request);
|
145
|
+
this.bypassed.dispatch.apply(this.bypassed, defaultArgs.concat([request]));
|
146
|
+
}
|
147
|
+
},
|
148
|
+
|
149
|
+
_notifyPrevRoutes : function(request) {
|
150
|
+
var i = 0, cur;
|
151
|
+
while (cur = this._prevRoutes[i++]) {
|
152
|
+
//check if switched exist since route may be disposed
|
153
|
+
if(cur.route.switched) cur.route.switched.dispatch(request);
|
143
154
|
}
|
144
155
|
},
|
145
156
|
|
@@ -179,8 +190,15 @@ define(['signals'], function (signals) {
|
|
179
190
|
|
180
191
|
//"static" instance
|
181
192
|
crossroads = new Crossroads();
|
182
|
-
crossroads.VERSION = '0.
|
193
|
+
crossroads.VERSION = '0.8.0';
|
183
194
|
|
195
|
+
crossroads.NORM_AS_ARRAY = function (req, vals) {
|
196
|
+
return [vals.vals_];
|
197
|
+
};
|
198
|
+
|
199
|
+
crossroads.NORM_AS_OBJECT = function (req, vals) {
|
200
|
+
return [vals];
|
201
|
+
};
|
184
202
|
|
185
203
|
|
186
204
|
// Route --------------
|
@@ -190,13 +208,15 @@ define(['signals'], function (signals) {
|
|
190
208
|
* @constructor
|
191
209
|
*/
|
192
210
|
function Route(pattern, callback, priority, router) {
|
193
|
-
var isRegexPattern = isRegExp(pattern)
|
211
|
+
var isRegexPattern = isRegExp(pattern),
|
212
|
+
patternLexer = crossroads.patternLexer;
|
194
213
|
this._router = router;
|
195
214
|
this._pattern = pattern;
|
196
215
|
this._paramsIds = isRegexPattern? null : patternLexer.getParamIds(this._pattern);
|
197
216
|
this._optionalParamsIds = isRegexPattern? null : patternLexer.getOptionalParamsIds(this._pattern);
|
198
217
|
this._matchRegexp = isRegexPattern? pattern : patternLexer.compilePattern(pattern);
|
199
218
|
this.matched = new signals.Signal();
|
219
|
+
this.switched = new signals.Signal();
|
200
220
|
if (callback) {
|
201
221
|
this.matched.add(callback);
|
202
222
|
}
|
@@ -249,7 +269,7 @@ define(['signals'], function (signals) {
|
|
249
269
|
|
250
270
|
_getParamsObject : function (request) {
|
251
271
|
var shouldTypecast = this._router.shouldTypecast,
|
252
|
-
values = patternLexer.getParamValues(request, this._matchRegexp, shouldTypecast),
|
272
|
+
values = crossroads.patternLexer.getParamValues(request, this._matchRegexp, shouldTypecast),
|
253
273
|
o = {},
|
254
274
|
n = values.length;
|
255
275
|
while (n--) {
|
@@ -270,7 +290,7 @@ define(['signals'], function (signals) {
|
|
270
290
|
if (norm && isFunction(norm)) {
|
271
291
|
params = norm(request, this._getParamsObject(request));
|
272
292
|
} else {
|
273
|
-
params = patternLexer.getParamValues(request, this._matchRegexp, this._router.shouldTypecast);
|
293
|
+
params = crossroads.patternLexer.getParamValues(request, this._matchRegexp, this._router.shouldTypecast);
|
274
294
|
}
|
275
295
|
return params;
|
276
296
|
},
|
@@ -281,7 +301,8 @@ define(['signals'], function (signals) {
|
|
281
301
|
|
282
302
|
_destroy : function () {
|
283
303
|
this.matched.dispose();
|
284
|
-
this.
|
304
|
+
this.switched.dispose();
|
305
|
+
this.matched = this.switched = this._pattern = this._matchRegexp = null;
|
285
306
|
},
|
286
307
|
|
287
308
|
toString : function () {
|
@@ -295,7 +316,7 @@ define(['signals'], function (signals) {
|
|
295
316
|
// Pattern Lexer ------
|
296
317
|
//=====================
|
297
318
|
|
298
|
-
|
319
|
+
crossroads.patternLexer = (function () {
|
299
320
|
|
300
321
|
|
301
322
|
var ESCAPE_CHARS_REGEXP = /[\\.+*?\^$\[\](){}\/'#]/g, //match chars that should be escaped on string regexp
|
@@ -306,15 +327,21 @@ define(['signals'], function (signals) {
|
|
306
327
|
REQUIRED_PARAMS_REGEXP = /\{([^}]+)\}/g, //match everything between `{ }`
|
307
328
|
OPTIONAL_PARAMS_REGEXP = /:([^:]+):/g, //match everything between `: :`
|
308
329
|
PARAMS_REGEXP = /(?:\{|:)([^}:]+)(?:\}|:)/g, //capture everything between `{ }` or `: :`
|
330
|
+
REQUIRED_REST = /\{([^}]+)\*\}/g,
|
331
|
+
OPTIONAL_REST = /:([^:]+)\*:/g,
|
309
332
|
|
310
333
|
//used to save params during compile (avoid escaping things that
|
311
334
|
//shouldn't be escaped).
|
312
335
|
SAVE_REQUIRED_PARAMS = '__CR_RP__',
|
313
336
|
SAVE_OPTIONAL_PARAMS = '__CR_OP__',
|
337
|
+
SAVE_REQUIRED_REST = '__CR_RR__',
|
338
|
+
SAVE_OPTIONAL_REST = '__CR_OR__',
|
314
339
|
SAVE_REQUIRED_SLASHES = '__CR_RS__',
|
315
340
|
SAVE_OPTIONAL_SLASHES = '__CR_OS__',
|
316
341
|
SAVED_REQUIRED_REGEXP = new RegExp(SAVE_REQUIRED_PARAMS, 'g'),
|
317
342
|
SAVED_OPTIONAL_REGEXP = new RegExp(SAVE_OPTIONAL_PARAMS, 'g'),
|
343
|
+
SAVED_REQUIRED_REST_REGEXP = new RegExp(SAVE_REQUIRED_REST, 'g'),
|
344
|
+
SAVED_OPTIONAL_REST_REGEXP = new RegExp(SAVE_OPTIONAL_REST, 'g'),
|
318
345
|
SAVED_OPTIONAL_SLASHES_REGEXP = new RegExp(SAVE_OPTIONAL_SLASHES, 'g'),
|
319
346
|
SAVED_REQUIRED_SLASHES_REGEXP = new RegExp(SAVE_REQUIRED_SLASHES, 'g');
|
320
347
|
|
@@ -350,6 +377,8 @@ define(['signals'], function (signals) {
|
|
350
377
|
//save chars that shouldn't be escaped
|
351
378
|
pattern = pattern.replace(OPTIONAL_SLASHES_REGEXP, '$1'+ SAVE_OPTIONAL_SLASHES +'$2');
|
352
379
|
pattern = pattern.replace(REQUIRED_SLASHES_REGEXP, '$1'+ SAVE_REQUIRED_SLASHES +'$2');
|
380
|
+
pattern = pattern.replace(OPTIONAL_REST, SAVE_OPTIONAL_REST);
|
381
|
+
pattern = pattern.replace(REQUIRED_REST, SAVE_REQUIRED_REST);
|
353
382
|
pattern = pattern.replace(OPTIONAL_PARAMS_REGEXP, SAVE_OPTIONAL_PARAMS);
|
354
383
|
return pattern.replace(REQUIRED_PARAMS_REGEXP, SAVE_REQUIRED_PARAMS);
|
355
384
|
}
|
@@ -357,6 +386,8 @@ define(['signals'], function (signals) {
|
|
357
386
|
function untokenize(pattern) {
|
358
387
|
pattern = pattern.replace(SAVED_OPTIONAL_SLASHES_REGEXP, '\\/?');
|
359
388
|
pattern = pattern.replace(SAVED_REQUIRED_SLASHES_REGEXP, '\\/');
|
389
|
+
pattern = pattern.replace(SAVED_OPTIONAL_REST_REGEXP, '(.*)?'); // optional group to avoid passing empty string as captured
|
390
|
+
pattern = pattern.replace(SAVED_REQUIRED_REST_REGEXP, '(.+)');
|
360
391
|
pattern = pattern.replace(SAVED_OPTIONAL_REGEXP, '([^\\/]+)?\/?');
|
361
392
|
return pattern.replace(SAVED_REQUIRED_REGEXP, '([^\\/]+)');
|
362
393
|
}
|
@@ -1,15 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
(function(f){f(["signals"],function(g){function f(a,b){if(a.indexOf)return a.indexOf(b);else{for(var c=a.length;c--;)if(a[c]===b)return c;return-1}}function i(a,b){return"[object "+b+"]"===Object.prototype.toString.call(a)}function n(a){return a===null||a==="null"?null:a==="true"?!0:a==="false"?!1:a===m||a==="undefined"?m:a===""||isNaN(a)?a:parseFloat(a)}function k(){this._routes=[];this.bypassed=new g.Signal;this.routed=new g.Signal}function o(a,b,c,e){var d=i(a,"RegExp");this._router=e;this._pattern=
|
9
|
-
a;this._paramsIds=d?null:h.getParamIds(this._pattern);this._optionalParamsIds=d?null:h.getOptionalParamsIds(this._pattern);this._matchRegexp=d?a:h.compilePattern(a);this.matched=new g.Signal;b&&this.matched.add(b);this._priority=c||0}var j,h,m;k.prototype={normalizeFn:null,create:function(){return new k},shouldTypecast:!1,addRoute:function(a,b,c){a=new o(a,b,c,this);this._sortedInsert(a);return a},removeRoute:function(a){var b=f(this._routes,a);b!==-1&&this._routes.splice(b,1);a._destroy()},removeAllRoutes:function(){for(var a=
|
10
|
-
this.getNumRoutes();a--;)this._routes[a]._destroy();this._routes.length=0},parse:function(a){var a=a||"",b=this._getMatchedRoutes(a),c=0,e=b.length,d;if(e)for(;c<e;)d=b[c],d.route.matched.dispatch.apply(d.route.matched,d.params),d.isFirst=!c,this.routed.dispatch(a,d),c+=1;else this.bypassed.dispatch(a)},getNumRoutes:function(){return this._routes.length},_sortedInsert:function(a){var b=this._routes,c=b.length;do--c;while(b[c]&&a._priority<=b[c]._priority);b.splice(c+1,0,a)},_getMatchedRoutes:function(a){for(var b=
|
11
|
-
[],c=this._routes,e=c.length,d;d=c[--e];)(!b.length||d.greedy)&&d.match(a)&&b.push({route:d,params:d._getParamsArray(a)});return b},toString:function(){return"[crossroads numRoutes:"+this.getNumRoutes()+"]"}};j=new k;j.VERSION="0.7.1";o.prototype={greedy:!1,rules:void 0,match:function(a){return this._matchRegexp.test(a)&&this._validateParams(a)},_validateParams:function(a){var b=this.rules,c=this._getParamsObject(a),e;for(e in b)if(e!=="normalize_"&&b.hasOwnProperty(e)&&!this._isValidParam(a,e,c))return!1;
|
12
|
-
return!0},_isValidParam:function(a,b,c){var e=this.rules[b],d=c[b],l=!1;d==null&&this._optionalParamsIds&&f(this._optionalParamsIds,b)!==-1?l=!0:i(e,"RegExp")?l=e.test(d):i(e,"Array")?l=f(e,d)!==-1:i(e,"Function")&&(l=e(d,a,c));return l},_getParamsObject:function(a){for(var b=this._router.shouldTypecast,c=h.getParamValues(a,this._matchRegexp,b),e={},d=c.length;d--;)e[d]=c[d],this._paramsIds&&(e[this._paramsIds[d]]=c[d]);e.request_=b?n(a):a;e.vals_=c;return e},_getParamsArray:function(a){var b=this.rules?
|
13
|
-
this.rules.normalize_:null;return(b=b||this._router.normalizeFn)&&i(b,"Function")?b(a,this._getParamsObject(a)):h.getParamValues(a,this._matchRegexp,this._router.shouldTypecast)},dispose:function(){this._router.removeRoute(this)},_destroy:function(){this.matched.dispose();this.matched=this._pattern=this._matchRegexp=null},toString:function(){return'[Route pattern:"'+this._pattern+'", numListeners:'+this.matched.getNumListeners()+"]"}};h=j.patternLexer=function(){function a(a,b){for(var c=[],d;d=a.exec(b);)c.push(d[1]);
|
14
|
-
return c}var b=/[\\.+*?\^$\[\](){}\/'#]/g,c=/\/$/g,e=/([:}]|\w(?=\/))\/?(:)/g,d=/([:}])\/?(\{)/g,f=/\{([^}]+)\}/g,g=/:([^:]+):/g,h=/(?:\{|:)([^}:]+)(?:\}|:)/g,i=RegExp("__CR_RP__","g"),j=RegExp("__CR_OP__","g"),k=RegExp("__CR_OS__","g"),m=RegExp("__CR_RS__","g");return{getParamIds:function(b){return a(h,b)},getOptionalParamsIds:function(b){return a(g,b)},getParamValues:function(a,b,c){if(a=b.exec(a))if(a.shift(),c){c=a;a=c.length;for(b=[];a--;)b[a]=n(c[a]);a=b}return a},compilePattern:function(a){if(a=
|
15
|
-
a||"")a=a.replace(c,""),a=a.replace(e,"$1__CR_OS__$2"),a=a.replace(d,"$1__CR_RS__$2"),a=a.replace(g,"__CR_OP__"),a=a.replace(f,"__CR_RP__"),a=a.replace(b,"\\$&"),a=a.replace(k,"\\/?"),a=a.replace(m,"\\/"),a=a.replace(j,"([^\\/]+)?/?"),a=a.replace(i,"([^\\/]+)");return RegExp("^"+a+"/?$")}}}();return j})})(typeof define==="function"&&define.amd?define:function(f,g){typeof module!=="undefined"&&module.exports?module.exports=g(require(f[0])):window.crossroads=g(window[f[0]])});
|
1
|
+
/** @license
|
2
|
+
* crossroads <http://millermedeiros.github.com/crossroads.js/>
|
3
|
+
* License: MIT
|
4
|
+
* Author: Miller Medeiros
|
5
|
+
* Version: 0.8.0 (2012/3/5 14:26)
|
6
|
+
*/
|
7
|
+
(function(a){a(["signals"],function(a){function d(a,b){if(a.indexOf)return a.indexOf(b);var c=a.length;while(c--)if(a[c]===b)return c;return-1}function e(a,b){return"[object "+b+"]"===Object.prototype.toString.call(a)}function f(a){return e(a,"RegExp")}function g(a){return e(a,"Array")}function h(a){return e(a,"Function")}function i(a){var b;return a===null||a==="null"?b=null:a==="true"?b=!0:a==="false"?b=!1:a===c||a==="undefined"?b=c:a===""||isNaN(a)?b=a:b=parseFloat(a),b}function j(a){var b=a.length,c=[];while(b--)c[b]=i(a[b]);return c}function k(){this._routes=[],this._prevRoutes=[],this.bypassed=new a.Signal,this.routed=new a.Signal}function l(c,d,e,g){var h=f(c),i=b.patternLexer;this._router=g,this._pattern=c,this._paramsIds=h?null:i.getParamIds(this._pattern),this._optionalParamsIds=h?null:i.getOptionalParamsIds(this._pattern),this._matchRegexp=h?c:i.compilePattern(c),this.matched=new a.Signal,this.switched=new a.Signal,d&&this.matched.add(d),this._priority=e||0}var b,c;return k.prototype={normalizeFn:null,create:function(){return new k},shouldTypecast:!1,addRoute:function(a,b,c){var d=new l(a,b,c,this);return this._sortedInsert(d),d},removeRoute:function(a){var b=d(this._routes,a);b!==-1&&this._routes.splice(b,1),a._destroy()},removeAllRoutes:function(){var a=this.getNumRoutes();while(a--)this._routes[a]._destroy();this._routes.length=0},parse:function(a,b){a=a||"",b=b||[];var c=this._getMatchedRoutes(a),d=0,e=c.length,f;if(e){this._notifyPrevRoutes(a),this._prevRoutes=c;while(d<e)f=c[d],f.route.matched.dispatch.apply(f.route.matched,b.concat(f.params)),f.isFirst=!d,this.routed.dispatch.apply(this.routed,b.concat([a,f])),d+=1}else this.bypassed.dispatch.apply(this.bypassed,b.concat([a]))},_notifyPrevRoutes:function(a){var b=0,c;while(c=this._prevRoutes[b++])c.route.switched&&c.route.switched.dispatch(a)},getNumRoutes:function(){return this._routes.length},_sortedInsert:function(a){var b=this._routes,c=b.length;do--c;while(b[c]&&a._priority<=b[c]._priority);b.splice(c+1,0,a)},_getMatchedRoutes:function(a){var b=[],c=this._routes,d=c.length,e;while(e=c[--d])(!b.length||e.greedy)&&e.match(a)&&b.push({route:e,params:e._getParamsArray(a)});return b},toString:function(){return"[crossroads numRoutes:"+this.getNumRoutes()+"]"}},b=new k,b.VERSION="0.8.0",b.NORM_AS_ARRAY=function(a,b){return[b.vals_]},b.NORM_AS_OBJECT=function(a,b){return[b]},l.prototype={greedy:!1,rules:void 0,match:function(a){return this._matchRegexp.test(a)&&this._validateParams(a)},_validateParams:function(a){var b=this.rules,c=this._getParamsObject(a),d;for(d in b)if(d!=="normalize_"&&b.hasOwnProperty(d)&&!this._isValidParam(a,d,c))return!1;return!0},_isValidParam:function(a,b,c){var e=this.rules[b],i=c[b],j=!1;return i==null&&this._optionalParamsIds&&d(this._optionalParamsIds,b)!==-1?j=!0:f(e)?j=e.test(i):g(e)?j=d(e,i)!==-1:h(e)&&(j=e(i,a,c)),j},_getParamsObject:function(a){var c=this._router.shouldTypecast,d=b.patternLexer.getParamValues(a,this._matchRegexp,c),e={},f=d.length;while(f--)e[f]=d[f],this._paramsIds&&(e[this._paramsIds[f]]=d[f]);return e.request_=c?i(a):a,e.vals_=d,e},_getParamsArray:function(a){var c=this.rules?this.rules.normalize_:null,d;return c=c||this._router.normalizeFn,c&&h(c)?d=c(a,this._getParamsObject(a)):d=b.patternLexer.getParamValues(a,this._matchRegexp,this._router.shouldTypecast),d},dispose:function(){this._router.removeRoute(this)},_destroy:function(){this.matched.dispose(),this.switched.dispose(),this.matched=this.switched=this._pattern=this._matchRegexp=null},toString:function(){return'[Route pattern:"'+this._pattern+'", numListeners:'+this.matched.getNumListeners()+"]"}},b.patternLexer=function(){function w(a,b){var c=[],d;while(d=a.exec(b))c.push(d[1]);return c}function x(a){return w(g,a)}function y(a){return w(f,a)}function z(c){return c=c||"",c&&(c=c.replace(b,""),c=A(c),c=c.replace(a,"\\$&"),c=B(c)),new RegExp("^"+c+"/?$")}function A(a){return a=a.replace(c,"$1"+p+"$2"),a=a.replace(d,"$1"+o+"$2"),a=a.replace(i,n),a=a.replace(h,m),a=a.replace(f,l),a.replace(e,k)}function B(a){return a=a.replace(u,"\\/?"),a=a.replace(v,"\\/"),a=a.replace(t,"(.*)?"),a=a.replace(s,"(.+)"),a=a.replace(r,"([^\\/]+)?/?"),a.replace(q,"([^\\/]+)")}function C(a,b,c){var d=b.exec(a);return d&&(d.shift(),c&&(d=j(d))),d}var a=/[\\.+*?\^$\[\](){}\/'#]/g,b=/\/$/g,c=/([:}]|\w(?=\/))\/?(:)/g,d=/([:}])\/?(\{)/g,e=/\{([^}]+)\}/g,f=/:([^:]+):/g,g=/(?:\{|:)([^}:]+)(?:\}|:)/g,h=/\{([^}]+)\*\}/g,i=/:([^:]+)\*:/g,k="__CR_RP__",l="__CR_OP__",m="__CR_RR__",n="__CR_OR__",o="__CR_RS__",p="__CR_OS__",q=new RegExp(k,"g"),r=new RegExp(l,"g"),s=new RegExp(m,"g"),t=new RegExp(n,"g"),u=new RegExp(p,"g"),v=new RegExp(o,"g");return{getParamIds:x,getOptionalParamsIds:y,getParamValues:C,compilePattern:z}}(),b})})(typeof define=="function"&&define.amd?define:function(a,b){typeof module!="undefined"&&module.exports?module.exports=b(require(a[0])):window.crossroads=b(window[a[0]])})
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crossroadsjs-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
|
-
requirement: &
|
16
|
+
requirement: &21993624 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *21993624
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &21993312 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '2.0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *21993312
|
36
36
|
description: Provides Crossroads.js for use with Rails 3
|
37
37
|
email: philostler@gmail.com
|
38
38
|
executables: []
|
@@ -76,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
76
|
version: '0'
|
77
77
|
requirements: []
|
78
78
|
rubyforge_project:
|
79
|
-
rubygems_version: 1.8.
|
79
|
+
rubygems_version: 1.8.16
|
80
80
|
signing_key:
|
81
81
|
specification_version: 3
|
82
82
|
summary: Crossroads.js for Rails
|