Class: SmartCore::Initializer::InstanceBuilder Private

Inherits:
Object
  • Object
show all
Defined in:
lib/smart_core/initializer/instance_builder.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Since:

  • 0.5.0

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(processed_object, processed_klass, parameters, options) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • processed_object (Any)
  • processed_klass (Class)
  • parameters (Array<Any>)
  • options (Hash<Symbol,Any>)

Since:

  • 0.5.0



28
29
30
31
32
33
# File 'lib/smart_core/initializer/instance_builder.rb', line 28

def initialize(processed_object, processed_klass, parameters, options)
  @processed_object = processed_object
  @processed_klass = processed_klass
  @parameters = parameters
  @options = options
end

Class Method Details

.call(processed_object, processed_klass, parameters, options) ⇒ Any

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns Fully allocated processed_object.

Parameters:

  • processed_object (Any)
  • processed_klass (Class)
  • parameters (Array<Any>)
  • options (Hash<Symbol,Any>)

Returns:

  • (Any)

    Fully allocated processed_object

Since:

  • 0.5.0



15
16
17
# File 'lib/smart_core/initializer/instance_builder.rb', line 15

def call(processed_object, processed_klass, parameters, options)
  new(processed_object, processed_klass, parameters, options).call
end

Instance Method Details

#callAny

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Any)

Since:

  • 0.5.0



39
40
41
42
43
44
45
46
47
# File 'lib/smart_core/initializer/instance_builder.rb', line 39

def call
  processed_object.tap do
    prevent_parameters_incomparability
    initialize_parameters
    initialize_options
    call_original_methods
    invoke_additional_initialization_steps
  end
end