module Zen::Service::Plugins::Rescue

Public Class Methods

used(service_class, *) click to toggle source
# File lib/zen/service/plugins/rescue.rb, line 8
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/zen/service/plugins/rescue.rb, line 25
def error
  state.error
end
error?() click to toggle source
# File lib/zen/service/plugins/rescue.rb, line 29
def error?
  status == :error
end
execute(**opts) click to toggle source
Calls superclass method
# File lib/zen/service/plugins/rescue.rb, line 13
def execute(**opts)
  rezcue = opts.delete(:rescue)
  super
rescue StandardError => e
  clear_execution_state!
  failure!(status: :error)
  state.error = e
  raise e unless rezcue

  self
end