Class: Daodalus::DAO

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
DSL
Defined in:
lib/daodalus/dao.rb

Instance Method Summary collapse

Methods included from DSL

#dao, #pipeline, #query

Methods included from Daodalus::DSL::Aggregations

#aggregate, #group, #limit, #match, #pipeline, #project, #skip, #sort, #unwind

Methods included from Daodalus::DSL::Updates

#add_each_to_set, #add_to_set, #dec, #inc, #pop_first, #pop_last, #pull, #pull_all, #push, #push_all, #rename, #set, #unset, #update, #upsert

Methods included from Daodalus::DSL::Queries

#find, #select, #where

Methods included from Daodalus::DSL::Clause

#to_projection, #to_query, #to_update

Constructor Details

#initialize(db, collection, connection = :default) ⇒ DAO

Returns a new instance of DAO.



8
9
10
11
12
# File 'lib/daodalus/dao.rb', line 8

def initialize(db, collection, connection=:default)
  @db         = db
  @collection = collection
  @connection = connection
end

Instance Method Details

#collObject



14
15
16
# File 'lib/daodalus/dao.rb', line 14

def coll
  @coll ||= Daodalus::Connection.fetch(connection)[db.to_s][collection.to_s]
end

#find_and_modify(*args) ⇒ Object



32
33
34
# File 'lib/daodalus/dao.rb', line 32

def find_and_modify(*args)
  Option[coll.find_and_modify(*args)]
end

#find_one(*args) ⇒ Object



28
29
30
# File 'lib/daodalus/dao.rb', line 28

def find_one(*args)
  Option[coll.find_one(*args)]
end