class ApiValve::Cascade

Public Class Methods

new(*proxies) click to toggle source
# File lib/api_valve/cascade.rb, line 3
def initialize(*proxies)
  @proxies = Array.wrap(proxies).flatten
end

Public Instance Methods

call(env) click to toggle source
# File lib/api_valve/cascade.rb, line 7
def call(env)
  @proxies.each do |proxy|
    return proxy.call env
  rescue Error::NotRouted
    next
  end
  render_error Error::NotFound.new
end

Protected Instance Methods

render_error(error) click to toggle source
# File lib/api_valve/cascade.rb, line 18
def render_error(error)
  self.class.const_get(ApiValve.error_responder).new(error).call
end