Sha256: 6cc96ccf252bda68177d955ae506df24de833807ecd0ad747058af82b67059cd

Contents?: true

Size: 762 Bytes

Versions: 21

Compression:

Stored size: 762 Bytes

Contents

module PolicyMap
  
  class HashUtils
    
    def self.rename_key!(hash, old_key, new_key)
      hash[new_key] = hash.delete(old_key)
      hash
    end
    
    def self.symbolize_keys(hash)
      hash.inject({}) do |options, (key, value)|
        options[(key.to_sym rescue key) || key] = value
        options
      end
    end

    def self.recursively_symbolize_keys(object)
      if object.is_a? Hash
        symbolized_hash = symbolize_keys(object)
        symbolized_hash.each do |key, value|
          symbolized_hash[key] = recursively_symbolize_keys(value)
        end
        symbolized_hash
      elsif object.is_a? Array
        object.map {|value| recursively_symbolize_keys(value) }
      else
        object
      end
    end
    
  end
  
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
policymap_wrap-1.2.0 lib/policymap_wrap/hash_utils.rb
policymap_wrap-1.1.0 lib/policymap_wrap/hash_utils.rb
policymap_wrap-1.0.0 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.7.2 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.7.1 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.7.0 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.6.1 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.6.0 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.5.0 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.4.1 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.4.0 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.3.7 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.3.6 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.3.5 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.3.4 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.3.3 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.3.2 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.3.1 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.3.0 lib/policymap_wrap/hash_utils.rb
policymap_wrap-0.2.0 lib/policymap_wrap/hash_utils.rb