Class: Gourmet::Service
- Inherits:
-
Object
- Object
- Gourmet::Service
- Defined in:
- lib/gourmet/service.rb
Class Method Summary collapse
Instance Method Summary collapse
- #call ⇒ Object
- #Failure(value = nil) ⇒ Object
-
#Success(value = nil) ⇒ Object
Helper methods for instantiating Success/Failure result objects inside Services.
Class Method Details
.call(*args) ⇒ Object
4 5 6 |
# File 'lib/gourmet/service.rb', line 4 def self.call(*args) new.call(*args) end |
Instance Method Details
#call ⇒ Object
8 9 10 |
# File 'lib/gourmet/service.rb', line 8 def call raise "You must override #call in class #{self.class.name}" end |
#Failure(value = nil) ⇒ Object
39 40 41 |
# File 'lib/gourmet/service.rb', line 39 def Failure(value = nil) Gourmet::Failure.new(value) end |
#Success(value = nil) ⇒ Object
Helper methods for instantiating Success/Failure result objects inside Services
Example:
class DoWork < Gourmet::Service
def call(magic_number)
if magic_number == 7
Success(magic_number)
else
Failure()
end
end
end
result = DoWork.call(7)
result.success? # => true
result.value # => 7
result = DoWork.call(2)
result.failure? # => true
35 36 37 |
# File 'lib/gourmet/service.rb', line 35 def Success(value = nil) Gourmet::Success.new(value) end |