# File lib/errors.rb, line 67 def initialize(status_code, message=nil, opts={}, backtrace=nil, &block) @http_status_code = status_code.to_i @trace = backtrace @message = message || client_error_messages[status_code] || 'No error message received' @options = opts instance_eval(&block) if block_given? end
# File lib/errors.rb, line 75 def on(code, exception_class) if code == @http_status_code raise exception_class.new(code, @message, @options, @trace) end end