Module: SmartCore::Initializer::Settings::Duplicator Private

Defined in:
lib/smart_core/initializer/settings/duplicator.rb

Overview

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

Since:

  • 0.1.0

Class Method Summary collapse

Class Method Details

.duplicate(settings) ⇒ SmartCore::Initializer::Settings

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:

Returns:

Since:

  • 0.1.0

Version:

  • 0.8.0



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/smart_core/initializer/settings/duplicator.rb', line 13

def duplicate(settings)
  SmartCore::Initializer::Settings.new.tap do |new_instance|
    type_system = settings.instance_variable_get(:@type_system).dup
    strict_options = settings.instance_variable_get(:@strict_options).dup
    auto_cast = settings.instance_variable_get(:@auto_cast).dup

    new_instance.instance_variable_set(:@type_system, type_system)
    new_instance.instance_variable_set(:@strict_options, strict_options)
    new_instance.instance_variable_set(:@auto_cast, auto_cast)
  end
end