Module: Interactor::Initializer::ClassMethods

Defined in:
lib/interactor/initializer.rb

Class Method Summary collapse

Class Method Details

.initialize_with(*attributes) ⇒ Object



18
19
20
21
22
23
# File 'lib/interactor/initializer.rb', line 18

def initialize_with(*attributes)
  signature = attributes.join(', ')
  class_methods = Interactor::Initializer::Helper.methods_with_params

  Interactor::Initializer::Helper.modify_class(self, signature, attributes, class_methods)
end

.initialize_with_keyword_params(*attributes) ⇒ Object



25
26
27
28
29
30
# File 'lib/interactor/initializer.rb', line 25

def initialize_with_keyword_params(*attributes)
  signature = attributes.map { |attr| "#{attr}:" }.join(', ')
  class_methods = Interactor::Initializer::Helper.methods_with_keywords

  Interactor::Initializer::Helper.modify_class(self, signature, attributes, class_methods)
end