class Store::DataMapper::Memory::HashDupper

Public Class Methods

dup(hash) click to toggle source
# File lib/store/memory.rb, line 69
def self.dup(hash)
  new(hash).dup
end
new(hash) click to toggle source
# File lib/store/memory.rb, line 73
def initialize(hash)
  @hash = hash
end

Public Instance Methods

dup() click to toggle source
# File lib/store/memory.rb, line 77
def dup
  Hash.new.tap do |dupped_hash|
    @hash.each do |key, value|
      dupped_hash[key] = dup_obj(value)
    end
  end
end

Private Instance Methods

dup_obj(obj) click to toggle source
# File lib/store/memory.rb, line 86
def dup_obj(obj)
  case obj
  when NilClass,Symbol,Numeric,TrueClass,FalseClass
    obj
  else
    obj.dup
  end
end