Method: Lab42::Config::ClassMethods#instance_config

Defined in:
lib/lab42/config/class_methods.rb

#instance_config(*names) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/lab42/config/class_methods.rb', line 13

def instance_config *names
  names.each do | name |
    ivar_name = "@__lab42_config_local__#{name}__"
    # define getter
    define_method name do
      instance_variable_defined?( ivar_name ) ?
        instance_variable_get( ivar_name ) :
        instance_variable_set( ivar_name, configuration.__send__( name ) )
    end
    # define setter
    define_method "#{name}=" do |val|
        instance_variable_set( ivar_name, val )
    end

  end
end