Sha256: a1593f0936f83cf1e23d7944a30d84c3eb33c4bf17cc6eed6d9b59a39b061a17
Contents?: true
Size: 1.59 KB
Versions: 1
Compression:
Stored size: 1.59 KB
Contents
(function(){ var Utils = { default_format: 'DEFAULT_FORMAT', serialize: function(obj){ if (obj === null) {return '';} var s = []; for (prop in obj){ s.push(prop + "=" + obj[prop]); } if (s.length === 0) { return ''; } return "?" + s.join('&'); }, clean_path: function(path) { return path.replace(/\.$/m, '').replace(/\/$/m, ''); }, extract_format: function(options) { var format = options.hasOwnProperty("format") ? options.format : Utils.default_format; delete options.format; return format ? "." + format : ""; }, extract_options: function(number_of_params, args) { if (args.length >= number_of_params) { return typeof(args[args.length-1]) == "object" ? args.pop() : {}; } else { return {}; } }, path_identifier: function(object) { if (!object) { return ""; } if (typeof(object) == "object") { return (object.to_param || object.id).toString(); } else { return object.toString(); } }, build_path: function(number_of_params, parts, args) { args = Array.prototype.slice.call(args); result = ""; var opts = Utils.extract_options(number_of_params, args); for (var i=0; i < parts.length; i++) { part = parts[i]; result += part; result += Utils.path_identifier(args.shift()); } var format = Utils.extract_format(opts); return Utils.clean_path(result + format) + Utils.serialize(opts); } }; window.NAMESPACE = ROUTES; })();
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
js-routes-0.6.0 | lib/routes.js |