# File lib/js_routes.rb, line 225 def route_js_arguments(route, parent_spec) required_parts = route.required_parts parts_table = route.parts.each_with_object({}) do |part, hash| hash[part] = required_parts.include?(part) end default_options = route.defaults.select do |part, _| FILTERED_DEFAULT_PARTS.exclude?(part) && URL_OPTIONS.include?(part) || parts_table[part] end [ # JS objects don't preserve the order of properties which is crucial, # so array is a better choice. parts_table.to_a, default_options, serialize(route.path.spec, parent_spec) ].map do |argument| json(argument) end.join(", ") end