Module: InheritableInstance

Defined in:
lib/inheritable_instance.rb,
lib/inheritable_instance/version.rb,
lib/inheritable_instance/includible.rb,
lib/inheritable_instance/safe_deep_dup.rb

Defined Under Namespace

Modules: Includible, SafeDeepDup

Constant Summary collapse

VERSION =
"0.1.0"

Instance Method Summary collapse

Instance Method Details

#inheritable_instance(ivar, value) ⇒ Object



8
9
10
11
12
# File 'lib/inheritable_instance.rb', line 8

def inheritable_instance(ivar, value)
  ivar = ivar.to_sym
  inheritable_instance_vars << ivar
  instance_variable_set ivar, value
end

#inherited(subclass) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/inheritable_instance.rb', line 14

def inherited(subclass)
  super
  inheritable_instance_vars.each do |ivar|
    original  = instance_variable_get(ivar)
    duplicate = SafeDeepDup.duplicate(original)
    subclass.instance_variable_set(ivar, duplicate)
  end
end