Class: Interactor::Initializer::Initialize
- Inherits:
-
Object
- Object
- Interactor::Initializer::Initialize
- Defined in:
- lib/interactor/initializer/initialize.rb
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
-
#keyword_params ⇒ Object
readonly
Returns the value of attribute keyword_params.
-
#target_class ⇒ Object
readonly
Returns the value of attribute target_class.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(target_class, attributes, keyword_params: false) ⇒ Initialize
constructor
A new instance of Initialize.
- #run ⇒ Object
Constructor Details
#initialize(target_class, attributes, keyword_params: false) ⇒ Initialize
Returns a new instance of Initialize.
8 9 10 11 12 |
# File 'lib/interactor/initializer/initialize.rb', line 8 def initialize(target_class, attributes, keyword_params: false) @target_class = target_class @attributes = attributes @keyword_params = keyword_params end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
6 7 8 |
# File 'lib/interactor/initializer/initialize.rb', line 6 def attributes @attributes end |
#keyword_params ⇒ Object (readonly)
Returns the value of attribute keyword_params.
6 7 8 |
# File 'lib/interactor/initializer/initialize.rb', line 6 def keyword_params @keyword_params end |
#target_class ⇒ Object (readonly)
Returns the value of attribute target_class.
6 7 8 |
# File 'lib/interactor/initializer/initialize.rb', line 6 def target_class @target_class end |
Class Method Details
.for(*args) ⇒ Object
2 3 4 |
# File 'lib/interactor/initializer/initialize.rb', line 2 def self.for(*args) new(*args).run end |
Instance Method Details
#run ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/interactor/initializer/initialize.rb', line 14 def run target_class.class_eval <<-RUBY def initialize(#{initializer_signature(attributes)}) #{attr_assignments(attributes)} end RUBY end |