diff --git a/lib/javascripts/routes.js b/lib/javascripts/routes.js index 5df21ec..94dc6bc 100644 --- a/lib/javascripts/routes.js +++ b/lib/javascripts/routes.js @@ -41,14 +41,14 @@ this.params = params || {}; this.name = name; }; - + Route.prototype = { generate: function(pa, op){ var options = merge(Routes.defaultOptions, op || {}); var params = options.noDefaults ? merge({}, pa || {}) : merge(Routes.defaultParams, pa || {}); var path = ''; - + var hasParam = false; var routeMatch = true; iterate(this.params, function(k,v){ @@ -65,11 +65,11 @@ return; } }); - + if (!routeMatch) { return false; } - + try { iterate(this.segments, function(segment, index, segments){ switch (segment.type) { @@ -116,37 +116,37 @@ } } } - + if (!options.includeSlash && path.match(/.+\/$/)) { path = path.slice(0,-1); } - + if (!options.onlyPath) { var portString = options.port ? ':'+options.port : ''; path = [options.protocol, options.host, portString, path].join('') } - + var leftOvers = []; iterate(params, function(k,v){ leftOvers.push(k + '=' + v); }); - + if (leftOvers.length > 0) { path = path + '?' + leftOvers.join('&'); } - + if (options.escape) { path = encodeURI(path); } - + return path; }, - + toString: function(){ return this.segments.join(''); } }; - + Route.Segment = function(value, type, optional){ @@ -154,7 +154,7 @@ this.type = type || 'static'; this.optional = (typeof optional === 'boolean' ? optional : true); }; - + Route.Segment.prototype = { isDynamic: function(){ return this.type === 'dynamic' || this.type === 'path'; @@ -170,7 +170,7 @@ }, equal: function(other){ return other.constructor === this.constructor && other.value === this.value && - other.type === this.type && other.optional === this.optional; + other.type === this.type && other.optional === this.optional; } }; @@ -251,7 +251,7 @@ } } }; - + Routes.generate = function(params, options){ params = params || {}; var path; @@ -263,11 +263,11 @@ } return false; }; - + Routes.named.toString = Routes.toString = function(){ return this.join(', '); }; - + window['Route'] = Route; window['Routes'] = Routes;