module Dynamoid::Undumping::UndumpHashHelper

Public Instance Methods

undump_hash(hash) click to toggle source
# File lib/dynamoid/undumping.rb, line 54
def undump_hash(hash)
  {}.tap do |h|
    hash.each { |key, value| h[key.to_sym] = undump_hash_value(value) }
  end
end

Private Instance Methods

undump_hash_value(val) click to toggle source
# File lib/dynamoid/undumping.rb, line 62
def undump_hash_value(val)
  case val
  when BigDecimal
    if Dynamoid::Config.convert_big_decimal
      val.to_f
    else
      val
    end
  when Hash
    undump_hash(val)
  when Array
    val.map { |v| undump_hash_value(v) }
  else
    val
  end
end