Class: Jsapi::Meta::RescueHandler

Inherits:
Model::Base show all
Defined in:
lib/jsapi/meta/rescue_handler.rb

Overview

Specifies a rescue handler.

Instance Method Summary collapse

Methods inherited from Model::Base

#initialize, #inspect, #merge!, #reference?, #resolve

Methods included from Model::Attributes

#attributes_frozen?, #freeze_attributes, included

Constructor Details

This class inherits a constructor from Jsapi::Meta::Model::Base

Instance Method Details

#error_classObject

:attr: error_class The error class to be rescued.



10
# File 'lib/jsapi/meta/rescue_handler.rb', line 10

attribute :error_class, default: StandardError, accessors: i[reader]

#error_class=(klass) ⇒ Object

:nodoc:

Raises:



18
19
20
21
22
23
24
25
26
# File 'lib/jsapi/meta/rescue_handler.rb', line 18

def error_class=(klass) # :nodoc:
  raise ArgumentError, "#{klass.inspect} isn't a class" \
  unless klass.is_a?(Class)

  raise ArgumentError, "#{klass.inspect} isn't a rescuable class" \
  unless klass <= StandardError

  @error_class = klass
end

#match?(error) ⇒ Boolean

Returns true if error is an instance of error_class.

Returns:



29
30
31
# File 'lib/jsapi/meta/rescue_handler.rb', line 29

def match?(error)
  error.is_a?(error_class)
end

#status_codeObject

:attr: status_code The Status::Code replacing the original status code when rescuing an instance of error_class.



16
# File 'lib/jsapi/meta/rescue_handler.rb', line 16

attribute :status_code, Status::Code