class ServiceIt::Base
Inherit this class and implement perform method
Documentation:
https://github.com/iago-silva/service_it
Public Class Methods
call(**args)
click to toggle source
Call your service
Example:
Foo.call(arg1: 1, arg2: 2)
Arguments:
args: (Hash)
Return:
perform's return
# File lib/service_it/base.rb, line 21 def self.call(**args) new(args).perform end
new(args)
click to toggle source
# File lib/service_it/base.rb, line 25 def initialize(args) args.each do |key, value| define_ivar(key, value) define_private_reader(key) end end
Public Instance Methods
perform()
click to toggle source
Implement this method to run your service
# File lib/service_it/base.rb, line 33 def perform raise NotImplementedError, "Please implement 'perform' method in your #{self.class.name}" end
Private Instance Methods
define_ivar(key, value)
click to toggle source
# File lib/service_it/base.rb, line 40 def define_ivar(key, value) instance_variable_set("@#{key}", value) end
define_private_reader(key)
click to toggle source
# File lib/service_it/base.rb, line 44 def define_private_reader(key) self.class.class_eval do private attr_reader key.to_sym end end