Module: Switcher::Object::Initializer

Defined in:
lib/switcher/adapters/object.rb

Instance Method Summary collapse

Instance Method Details

#new(*args, &block) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/switcher/adapters/object.rb', line 4

def new(*args, &block)
  instance = allocate
  instance.instance_eval { initialize(*args, &block) }
  instance.class.class_variable_get(:@@__specs__).each do |spc| # TODO - move to something like Switcher.initial_statement(instance)
    instance.instance_variable_set(:"@#{spc.name}_statement", Statement.new(instance, spc))
  end
  instance
end