Sha256: c7bf81e85c925107749d2e8ce5c2f08ec73e17f8a6923f12a2a6019ae90869fd
Contents?: true
Size: 979 Bytes
Versions: 1
Compression:
Stored size: 979 Bytes
Contents
module Casino class Store attr_accessor :collection_class, :collection_name delegate :drop, :find, :indexes, :insert, to: :collection delegate :count, :distinct, :each, :first, :limit, :remove, :remove_all, :select, :skip, :sort, :update, :update_all, :upsert, to: :query delegate :where, :in, to: :criteria def initialize(document_class) self.collection_class = document_class self.collection_name = document_class.collection_name end def collection @collection ||= session[collection_name.to_sym] end def query @query ||= collection.find end def merge(*documents) documents.each do |document| document = document.mongoize criteria = find _id: document['_id'] criteria.upsert document end end def criteria @criteria ||= collection_class.scoped end private def session @session ||= Mongoid.default_session end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mongoid-casino-0.0.4 | lib/casino/store.rb |