# File lib/caesars/hash.rb, line 19 19: def to_hash(hash=self) 20: return hash unless hash.is_a?(Caesars::Hash) # nothing to do 21: target = (Caesars::HASH_TYPE)[dup] 22: hash.keys.each do |key| 23: if hash[key].is_a? Caesars::Hash 24: target[key] = hash[key].to_hash 25: next 26: elsif hash[key].is_a? Array 27: target[key] = hash[key].collect { |h| to_hash(h) } 28: next 29: end 30: target[key] = hash[key] 31: end 32: target 33: end