class MocaRlibs::Service

Rails用サービス層の導入

Attributes

result[R]

Public Class Methods

call!(*args, **kwargs, &block) click to toggle source

サービスをインスタンス化して処理を実行する 与えられたパラメータを使い、クラスをインスタンス化して、処理を実行する。 処理結果は @result に格納される。 @return [Service] サービスのインスタンス

# File lib/moca_rlibs/service.rb, line 16
def self.call!(*args, **kwargs, &block)
  instance = new(*args, **kwargs, &block)
  instance.instance_variable_set(:@result, instance.call!)
  instance
end
new(*_args, **_kwargs, &_block) click to toggle source
# File lib/moca_rlibs/service.rb, line 8
def initialize(*_args, **_kwargs, &_block)
  raise NotImplementedError, "#{self.class}##{__method__} was not implemented"
end

Public Instance Methods

call!() click to toggle source

サービスの処理を実行し結果を返す @abstract 継承してサービスの処理を実装する @return [Object] 処理結果

# File lib/moca_rlibs/service.rb, line 25
def call!
  raise NotImplementedError, "#{self.class}##{__method__} was not implemented"
end