Class: HttpRouter::Node::RequestMethod

Inherits:
AbstractRequestNode show all
Defined in:
lib/http_router/node/request_method.rb

Instance Attribute Summary

Attributes inherited from AbstractRequestNode

#request_method, #tests

Attributes inherited from HttpRouter::Node

#router

Instance Method Summary collapse

Methods inherited from AbstractRequestNode

#inspect_label, #usable?

Methods inherited from HttpRouter::Node

#add_destination, #add_free_match, #add_glob, #add_glob_regexp, #add_host, #add_lookup, #add_match, #add_request_method, #add_scheme, #add_spanning_match, #add_user_agent, #add_variable, #depth, #inspect, #inspect_label, #inspect_matchers_body, #usable?

Constructor Details

#initialize(router, parent, request_methods) ⇒ RequestMethod

Returns a new instance of RequestMethod.



4
5
6
# File 'lib/http_router/node/request_method.rb', line 4

def initialize(router, parent, request_methods)
  super(router, parent, request_methods, :request_method)
end

Instance Method Details

#to_codeObject



8
9
10
11
12
13
# File 'lib/http_router/node/request_method.rb', line 8

def to_code
  "if #{@tests.map { |test| "#{test.inspect} === request.rack_request.#{request_method}" } * ' or '}
    #{super}
  end
  request.acceptable_methods.merge(#{@tests.inspect})"
end