Module: Eye::Utils

Defined in:
lib/eye/utils.rb

Defined Under Namespace

Classes: AliveArray, CelluloidChain, Tail

Class Method Summary collapse

Class Method Details

.deep_clone(value) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/eye/utils.rb', line 6

def self.deep_clone(value)
  case
    when value.is_a?(Array) then value.map{|v| deep_clone(v) }
    when value.is_a?(Hash) then value.inject({}){|r, (k, v)| r[ deep_clone(k) ] = deep_clone(v); r }
    else value
  end
end