Module: Pakyow::Routing::Behavior::ErrorHandling::API
- Defined in:
- lib/pakyow/routing/controller/behavior/error_handling.rb
Instance Method Summary collapse
-
#handle(name_exception_or_code, as: nil, &block) ⇒ Object
Registers an error handler used within a controller or request lifecycle.
Instance Method Details
#handle(name_exception_or_code, as: nil, &block) ⇒ Object
Registers an error handler used within a controller or request lifecycle.
136 137 138 139 140 141 142 143 144 |
# File 'lib/pakyow/routing/controller/behavior/error_handling.rb', line 136 def handle(name_exception_or_code, as: nil, &block) if name_exception_or_code.is_a?(Class) && name_exception_or_code.ancestors.include?(Exception) raise ArgumentError, "status code is required" if as.nil? (@exceptions[name_exception_or_code] ||= []) << [Connection::Statuses.code(as), block] else status_code = Connection::Statuses.code(name_exception_or_code) (@handlers[status_code] ||= []) << [as || status_code, block] end end |