Sha256: e7f1c374693db2f5d04aca13f99cef88a8aeac8f6de0f613d2bd681971e770dc
Contents?: true
Size: 941 Bytes
Versions: 3
Compression:
Stored size: 941 Bytes
Contents
module Mongoo module Embedded class HashProxy def initialize(doc, hash, klass) @doc = doc @hash = hash @klass = klass end def build(hash, k=nil) return nil if hash.nil? @klass.new(@doc, hash, k) end def raw @hash end def [](k) build raw[k], k end def delete(k) raw.delete(k) end def []=(k,o) raw[k] = o.to_hash end def each raw.each { |k,v| yield(k, build(v, k)) } end def size raw.size end def keys raw.keys end def first self[keys.first] end def last self[keys.last] end def all keys.collect { |k| self[k] } end def push(obj) k = BSON::ObjectId.new.to_s self[k] = obj; k end end # HashProxy end # Embedded end # Mongoo
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mongoo-0.5.7 | lib/mongoo/embedded/hash_proxy.rb |
mongoo-0.5.6 | lib/mongoo/embedded/hash_proxy.rb |
mongoo-0.5.5 | lib/mongoo/embedded/hash_proxy.rb |