Module: CouchRest::Mixins::DocumentQueries::ClassMethods
- Defined in:
- lib/couchrest/mixins/document_queries.rb
Instance Method Summary collapse
-
#all(opts = {}, &block) ⇒ Object
Load all documents that have the type field equal to the name of the current class.
-
#count(opts = {}, &block) ⇒ Object
Returns the number of documents that have the type field equal to the name of the current class.
-
#first(opts = {}) ⇒ Object
Load the first document that have the type field equal to the name of the current class.
-
#get(id, db = database) ⇒ Object
(also: #find)
Load a document from the database by id No exceptions will be raised if the document isn’t found.
-
#get!(id, db = database) ⇒ Object
(also: #find!)
Load a document from the database by id An exception will be raised if the document isn’t found.
Instance Method Details
#all(opts = {}, &block) ⇒ Object
Load all documents that have the type field equal to the name of the current class. Take the standard set of CouchRest::Database#view options.
14 15 16 |
# File 'lib/couchrest/mixins/document_queries.rb', line 14 def all(opts = {}, &block) view(:all, opts, &block) end |
#count(opts = {}, &block) ⇒ Object
Returns the number of documents that have the type field equal to the name of the current class. Takes the standard set of CouchRest::Database#view options
21 22 23 |
# File 'lib/couchrest/mixins/document_queries.rb', line 21 def count(opts = {}, &block) all({:raw => true, :limit => 0}.merge(opts), &block)['total_rows'] end |
#first(opts = {}) ⇒ Object
Load the first document that have the type field equal to the name of the current class.
Returns
- Object
-
The first object instance available
or
- Nil
-
if no instances available
Parameters
- opts<Hash>
-
View options, see
CouchRest::Database#view
options for more info.
36 37 38 39 |
# File 'lib/couchrest/mixins/document_queries.rb', line 36 def first(opts = {}) first_instance = self.all(opts.merge!(:limit => 1)) first_instance.empty? ? nil : first_instance.first end |
#get(id, db = database) ⇒ Object Also known as: find
Load a document from the database by id No exceptions will be raised if the document isn’t found
Returns
- Object
-
if the document was found
or
- Nil
-
Parameters
- id<String, Integer>
-
Document ID
- db<Database>
-
optional option to pass a custom database to use
52 53 54 55 56 57 58 |
# File 'lib/couchrest/mixins/document_queries.rb', line 52 def get(id, db = database) begin get!(id, db) rescue nil end end |
#get!(id, db = database) ⇒ Object Also known as: find!
Load a document from the database by id An exception will be raised if the document isn’t found
Returns
- Object
-
if the document was found
or Exception
Parameters
- id<String, Integer>
-
Document ID
- db<Database>
-
optional option to pass a custom database to use
72 73 74 75 |
# File 'lib/couchrest/mixins/document_queries.rb', line 72 def get!(id, db = database) doc = db.get id create_from_database(doc) end |