Module: DeclarativeInitialization::ClassMethods

Defined in:
lib/declarative_initialization/class_methods.rb

Instance Method Summary collapse

Instance Method Details

#initialize_with(*args, **kwargs, &post_initialize_block) ⇒ Object

Defines an initializer expecting the specified keyword arguments.

Parameters:

  • args (Array<Symbol>)

    Required keyword arguments

  • kwargs (Hash<Symbol, Object>)

    Optional keyword arguments (required, but have default values)

  • post_initialize_block (Proc)

    Block to execute after initialization (optional)



11
12
13
14
15
16
17
18
# File 'lib/declarative_initialization/class_methods.rb', line 11

def initialize_with(*args, **kwargs, &post_initialize_block)
  declared = args + kwargs.keys
  _validate_arguments!(declared)

  _set_up_attribute_readers(declared)
  _set_up_block_reader
  _define_initializer(declared, kwargs, post_initialize_block)
end