Sha256: 1f6242774f9b2154d90e643c2d9bd01f49c723ef29f8ba5f371cd4e27b119afa

Contents?: true

Size: 394 Bytes

Versions: 10

Compression:

Stored size: 394 Bytes

Contents

module Mongoo
  module HashExt
    def deep_stringify_keys
      Marshal.load(Marshal.dump(self)).deep_stringify_keys!
    end
    
    def deep_stringify_keys!
      keys.each do |key|
        self[key.to_s] = delete(key)
        if self[key.to_s].is_a?(Hash)
          self[key.to_s].stringify_keys!
        end
      end
      self
    end
  end
end

class Hash
  include Mongoo::HashExt
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
mongoo-0.3.0 lib/mongoo/hash_ext.rb
mongoo-0.2.4 lib/mongoo/hash_ext.rb
mongoo-0.2.3 lib/mongoo/hash_ext.rb
mongoo-0.2.2 lib/mongoo/hash_ext.rb
mongoo-0.2.1 lib/mongoo/hash_ext.rb
mongoo-0.2.0 lib/mongoo/hash_ext.rb
mongoo-0.1.5 lib/mongoo/hash_ext.rb
mongoo-0.1.4 lib/mongoo/hash_ext.rb
mongoo-0.1.3 lib/mongoo/hash_ext.rb
mongoo-0.1.2 lib/mongoo/hash_ext.rb