module Excom::Plugins::Rescue

Public Class Methods

used(service_class, *) click to toggle source
# File lib/excom/plugins/rescue.rb, line 5
def self.used(service_class, *)
  service_class.use(:status) unless service_class.using?(:status)
  service_class.add_execution_prop :error
end

Public Instance Methods

error() click to toggle source
# File lib/excom/plugins/rescue.rb, line 21
def error
  state.error
end
error?() click to toggle source
# File lib/excom/plugins/rescue.rb, line 25
def error?
  status == :error
end
execute(**opts) click to toggle source
Calls superclass method
# File lib/excom/plugins/rescue.rb, line 10
def execute(**opts)
  rezcue = opts.delete(:rescue)
  super
rescue StandardError => error
  clear_execution_state!
  failure!(:error)
  state.error = error
  raise error unless rezcue
  self
end