Module: Configure

Defined in:
lib/configure/macro.rb,
lib/configure/activate.rb,
lib/configure/controls/factory_method.rb,
lib/configure/controls/classes/no_arguments.rb,
lib/configure/controls/classes/keyword_argument.rb,
lib/configure/controls/classes/positional_argument.rb

Defined Under Namespace

Modules: Controls, Macro

Class Method Summary collapse

Class Method Details

.activate(target_class = nil, factory_method: nil, constructor: nil) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/configure/activate.rb', line 2

def self.activate(target_class=nil, factory_method: nil, constructor: nil)
  target_class ||= Object

  unless constructor.nil?
    factory_method = constructor
  end

  macro_module = Configure::Macro

  return if target_class.is_a? macro_module

  target_class.extend(macro_module)

  target_class.default_factory_method = factory_method
end