Sha256: 5af80a54624d0c6c920b89360704fffdf7bffb9c2febbcf929e14f011f7dcbce
Contents?: true
Size: 1.02 KB
Versions: 3
Compression:
Stored size: 1.02 KB
Contents
module RoutesJs def get_routes response = rails_route_function ActionController::Routing::Routes.routes.collect do |route| path = route.segments.inject('') { |str,s| str << s.to_s } named_route = ActionController::Routing::Routes. named_routes.routes.key(route).to_s if named_route != '' response << route_function("#{named_route}_path", path) end end response end private def rails_route_function <<EOF function rails_route(path, var_pairs) { var pair_index = 0, path_copy = path; for(; pair_index < var_pairs.length; pair_index++) { path_copy = path_copy.replace( ':' + var_pairs[pair_index][0], var_pairs[pair_index][1] ); } return( path_copy .replace(/[(][.]:.+[)][?]/g, '') .replace(/[(]|[)][?]/g, '') ); } EOF end def route_function name, path <<EOF function #{name}(variables) { var var_pairs = []; for(var key in variables) { var_pairs.push([key, variables[key]]); } return(rails_route('#{path}', var_pairs)); } EOF end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ice-0.2.4 | lib/routes_js.rb |
ice-0.2.3 | lib/routes_js.rb |
ice-0.2.2 | lib/routes_js.rb |