class Basic::Service
Attributes
args[R]
message[R]
result[RW]
Public Class Methods
call(args)
click to toggle source
# File lib/basic_service.rb, line 5 def self.call(args) new(args).tap do |basic_service| basic_service.instance_eval do self.result = call end end end
new(*args)
click to toggle source
# File lib/basic_service.rb, line 25 def initialize(*args) @args = args @success = false @error = false @pristine = false end
Public Instance Methods
call()
click to toggle source
method error if call not defined
# File lib/basic_service.rb, line 44 def call raise NoMethodError, "Called undefined #call. You need to implement the method in the class: #{self.class.name}" end
error(str = '')
click to toggle source
# File lib/basic_service.rb, line 19 def error(str = '') @error = true @message = str @pristine = true end
success(str = '')
click to toggle source
# File lib/basic_service.rb, line 13 def success(str = '') @success = true @message = str @pristine = true end
success?()
click to toggle source
Defaults to the boolean’ed result of “call”
# File lib/basic_service.rb, line 37 def success? raise RuntimeError, "#success or #error should be called inside #call" unless @pristine raise RuntimeError, "both #success and #error where called" if (@success && @error) @success && !@error end