module Kaffe::Error
Public Class Methods
included(base)
click to toggle source
# File lib/kaffe/error.rb, line 55 def self.included(base) base.extend(ClassMethods) end
Public Instance Methods
dispatch_error!()
click to toggle source
# File lib/kaffe/error.rb, line 26 def dispatch_error! e = env['kaffe.error'] || [500, "Unknown Server Error"] code = e.first block=nil self.class.errors.each do |name, id| case name when Fixnum block = method(id) if name == code break when Range block = method(id) if name.include? code break end end if(block) @response.status = code throw:success, if block.arity != 0 block.call(*e) else block.call end end throw :error, e end
error!()
click to toggle source
# File lib/kaffe/error.rb, line 51 def error! dispatch_error! end
register_error(code, message)
click to toggle source
# File lib/kaffe/error.rb, line 21 def register_error(code, message) env['kaffe.error'] = [code, message] throw :error, env['kaffe.error'] end