Class: JSRailsRoutes::Language::JavaScript
- Defined in:
- lib/js_rails_routes/language/javascript.rb
Direct Known Subclasses
Constant Summary collapse
- PROCESS_FUNC =
<<~JAVASCRIPT function process(route, params, keys) { var query = []; for (var param in params) if (params.hasOwnProperty(param)) { if (keys.indexOf(param) === -1) { query.push(param + "=" + encodeURIComponent(params[param])); } } return query.length ? route + "?" + query.join("&") : route; } JAVASCRIPT
Instance Method Summary collapse
Instance Method Details
#ext ⇒ Object
Note:
Implementation for Base#ext
37 38 39 |
# File 'lib/js_rails_routes/language/javascript.rb', line 37 def ext 'js' end |
#handle_route(route) ⇒ String
30 31 32 33 34 |
# File 'lib/js_rails_routes/language/javascript.rb', line 30 def handle_route(route) path, keys = parse(route.path) name = function_name(route.name) "export function #{name}(params) { return process('#{path}', params, [#{keys.join(',')}]); }" end |
#handle_route_set(routes) ⇒ Object
Note:
Implementation for Base#generate
22 23 24 25 26 |
# File 'lib/js_rails_routes/language/javascript.rb', line 22 def handle_route_set(routes) routes.each_with_object([self.class::PROCESS_FUNC]) do |route, lines| lines.push(handle_route(route)) end.join("\n") + "\n" end |