Class: Adrian::FailureHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/adrian/failure_handler.rb

Defined Under Namespace

Classes: Rule

Instance Method Summary collapse

Constructor Details

#initializeFailureHandler

Returns a new instance of FailureHandler.



3
4
5
# File 'lib/adrian/failure_handler.rb', line 3

def initialize
  @rules = []
end

Instance Method Details

#add_rule(*exceptions, &block) ⇒ Object



7
8
9
10
11
# File 'lib/adrian/failure_handler.rb', line 7

def add_rule(*exceptions, &block)
  exceptions.each do |exception_class|
    @rules << Rule.new(exception_class, block)
  end
end

#handle(exception) ⇒ Object



13
14
15
16
17
# File 'lib/adrian/failure_handler.rb', line 13

def handle(exception)
  if rule = @rules.find { |r| r.match(exception) }
    rule.block
  end
end