class Aldous::Service::Wrapper
Attributes
service[R]
Public Class Methods
new(service)
click to toggle source
# File lib/aldous/service/wrapper.rb, line 10 def initialize(service) @service = service end
Public Instance Methods
default_result_data()
click to toggle source
# File lib/aldous/service/wrapper.rb, line 18 def default_result_data service.default_result_data end
perform()
click to toggle source
# File lib/aldous/service/wrapper.rb, line 34 def perform perform! rescue => e Aldous::LoggingWrapper.log(e.cause || e) Aldous::Service::Result::Failure.new(default_result_data.merge(errors: [e])) end
perform!()
click to toggle source
# File lib/aldous/service/wrapper.rb, line 22 def perform! result = service.perform unless result.kind_of?(::Aldous::Service::Result::Base) raise "Return value of #perform must be a type of #{::Aldous::Service::Result::Base}" end build_result_with_default_options(result) rescue => e raise raisable_error.new(e.message) end
raisable_error()
click to toggle source
# File lib/aldous/service/wrapper.rb, line 14 def raisable_error service.raisable_error end
Private Instance Methods
build_result_with_default_options(result)
click to toggle source
# File lib/aldous/service/wrapper.rb, line 43 def build_result_with_default_options(result) result.class.new(default_result_data.merge(result._data)) end