Class: Resol::Service
- Inherits:
-
Object
show all
- Includes:
- Builder, SmartCore::Initializer
- Defined in:
- lib/resol/service.rb
Defined Under Namespace
Classes: Failure, Interruption, InvalidCommandImplementation, Success
Class Method Summary
collapse
Methods included from Builder
included
Class Method Details
.call(*args, &block) ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/resol/service.rb', line 52
def call(*args, &block)
command = build(*args)
command.call(&block)
error_message = "No success! or fail! called in the #call method in #{command.class}"
raise InvalidCommandImplementation, error_message
rescue self::Success => e
Resol::Success(e.data)
rescue self::Failure => e
Resol::Failure(e)
end
|
.call!(*args) ⇒ Object
64
65
66
|
# File 'lib/resol/service.rb', line 64
def call!(*args)
call(*args).value_or { |error| raise error }
end
|
.inherited(klass) ⇒ Object
46
47
48
49
50
|
# File 'lib/resol/service.rb', line 46
def inherited(klass)
klass.const_set(:Failure, Class.new(klass::Failure))
klass.const_set(:Success, Class.new(klass::Success))
super
end
|