class Gourmet::Service
Public Class Methods
call(*args)
click to toggle source
# File lib/gourmet/service.rb, line 4 def self.call(*args) new.call(*args) end
Public Instance Methods
Failure(value = nil)
click to toggle source
# File lib/gourmet/service.rb, line 39 def Failure(value = nil) Gourmet::Failure.new(value) end
Success(value = nil)
click to toggle source
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
# File lib/gourmet/service.rb, line 35 def Success(value = nil) Gourmet::Success.new(value) end
call()
click to toggle source
# File lib/gourmet/service.rb, line 8 def call raise "You must override #call in class #{self.class.name}" end