Class: Aldous::Service::Wrapper
- Inherits:
-
Object
- Object
- Aldous::Service::Wrapper
- Defined in:
- lib/aldous/service/wrapper.rb
Instance Attribute Summary collapse
-
#service ⇒ Object
readonly
Returns the value of attribute service.
Instance Method Summary collapse
- #default_result_data ⇒ Object
-
#initialize(service) ⇒ Wrapper
constructor
A new instance of Wrapper.
- #perform ⇒ Object
- #perform! ⇒ Object
- #raisable_error ⇒ Object
Constructor Details
#initialize(service) ⇒ Wrapper
Returns a new instance of Wrapper.
10 11 12 |
# File 'lib/aldous/service/wrapper.rb', line 10 def initialize(service) @service = service end |
Instance Attribute Details
#service ⇒ Object (readonly)
Returns the value of attribute service.
8 9 10 |
# File 'lib/aldous/service/wrapper.rb', line 8 def service @service end |
Instance Method Details
#default_result_data ⇒ Object
18 19 20 |
# File 'lib/aldous/service/wrapper.rb', line 18 def default_result_data service.default_result_data end |
#perform ⇒ Object
34 35 36 37 38 39 |
# 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! ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 |
# 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 (result) rescue => e raise raisable_error.new(e.) end |
#raisable_error ⇒ Object
14 15 16 |
# File 'lib/aldous/service/wrapper.rb', line 14 def raisable_error service.raisable_error end |