class Grape::Router::Route
Constants
- FORWARD_MATCH_METHOD
- NON_FORWARD_MATCH_METHOD
Attributes
Public Class Methods
Source
# File lib/grape/router/route.rb, line 15 def initialize(method, origin, path, options) @request_method = upcase_method(method) @pattern = Grape::Router::Pattern.new(origin, path, options) @match_function = options[:forward_match] ? FORWARD_MATCH_METHOD : NON_FORWARD_MATCH_METHOD super(options) end
Calls superclass method
Grape::Router::BaseRoute::new
Public Instance Methods
Source
# File lib/grape/router/route.rb, line 22 def convert_to_head_request! @request_method = Rack::HEAD end
Source
# File lib/grape/router/route.rb, line 35 def match?(input) return false if input.blank? @match_function.call(input, pattern) end
Source
# File lib/grape/router/route.rb, line 41 def params(input = nil) return params_without_input if input.blank? parsed = pattern.params(input) return {} unless parsed parsed.compact.symbolize_keys end
Private Instance Methods
Source
# File lib/grape/router/route.rb, line 52 def params_without_input @params_without_input ||= pattern.captures_default.merge(attributes.params) end
Source
# File lib/grape/router/route.rb, line 56 def upcase_method(method) method_s = method.to_s Grape::HTTP_SUPPORTED_METHODS.detect { |m| m.casecmp(method_s).zero? } || method_s.upcase end