class Deas::Route

Attributes

handler_proxies[R]
method[R]
path[R]

Public Class Methods

new(method, path, handler_proxies) click to toggle source
# File lib/deas/route.rb, line 9
def initialize(method, path, handler_proxies)
  @method, @path, @handler_proxies = method, path, handler_proxies
end

Public Instance Methods

run(server_data, request_data) click to toggle source
# File lib/deas/route.rb, line 19
def run(server_data, request_data)
  server_data.before_route_run_procs.each do |c|
    c.call(server_data, request_data)
  end
  request_type_name = server_data.router.request_type_name(request_data.request)
  begin
    @handler_proxies[request_type_name].run(server_data, request_data)
  rescue HandlerProxyNotFound
    [404, Rack::Utils::HeaderHash.new, []]
  ensure
    server_data.after_route_run_procs.each do |c|
      c.call(server_data, request_data)
    end
  end
end
validate!() click to toggle source
# File lib/deas/route.rb, line 13
def validate!
  @handler_proxies.each do |request_type_name, proxy|
    proxy.validate!
  end
end