Class: MocaRlibs::Service
- Inherits:
-
Object
- Object
- MocaRlibs::Service
- Defined in:
- lib/moca_rlibs/service.rb
Overview
Rails用サービス層の導入
Instance Attribute Summary collapse
-
#result ⇒ Object
readonly
Returns the value of attribute result.
Class Method Summary collapse
-
.call!(*args, **kwargs, &block) ⇒ Service
サービスをインスタンス化して処理を実行する 与えられたパラメータを使い、クラスをインスタンス化して、処理を実行する。 処理結果は @result に格納される。.
Instance Method Summary collapse
-
#call! ⇒ Object
abstract
サービスの処理を実行し結果を返す.
-
#initialize(*_args, **_kwargs, &_block) ⇒ Service
constructor
A new instance of Service.
Constructor Details
#initialize(*_args, **_kwargs, &_block) ⇒ Service
Returns a new instance of Service.
8 9 10 |
# File 'lib/moca_rlibs/service.rb', line 8 def initialize(*_args, **_kwargs, &_block) raise NotImplementedError, "#{self.class}##{__method__} was not implemented" end |
Instance Attribute Details
#result ⇒ Object (readonly)
Returns the value of attribute result.
6 7 8 |
# File 'lib/moca_rlibs/service.rb', line 6 def result @result end |
Class Method Details
.call!(*args, **kwargs, &block) ⇒ Service
サービスをインスタンス化して処理を実行する与えられたパラメータを使い、クラスをインスタンス化して、処理を実行する。処理結果は @result に格納される。
16 17 18 19 20 |
# 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 |
Instance Method Details
#call! ⇒ Object
This method is abstract.
継承してサービスの処理を実装する
サービスの処理を実行し結果を返す
25 26 27 |
# File 'lib/moca_rlibs/service.rb', line 25 def call! raise NotImplementedError, "#{self.class}##{__method__} was not implemented" end |