Module: Mongoid::Criteria::Modifiable
- Included in:
- Mongoid::Criteria
- Defined in:
- lib/mongoid/criteria/modifiable.rb
Instance Attribute Summary collapse
- #create_attrs ⇒ Object readonly private
- #create_attrs Additional attributes to add to the Document upon creation.(AdditionalattributestoaddtotheDocumentuponcreation.) ⇒ Object readonly private
Instance Method Summary collapse
-
#build(attrs = {}, &block) ⇒ Document
(also: #new)
Build a document given the selector and return it.
-
#create(attrs = {}, &block) ⇒ Document
Create a document in the database given the selector and return it.
-
#create!(attrs = {}, &block) ⇒ Document
Create a document in the database given the selector and return it.
-
#create_with(attrs = {}) ⇒ Mongoid::Criteria
Define attributes with which new documents will be created.
-
#find_or_create_by(attrs = {}, &block) ⇒ Document
Find the first
Document
given the conditions, or creates a new document with the conditions that were supplied. -
#find_or_create_by!(attrs = {}, &block) ⇒ Document
Find the first
Document
given the conditions, or creates a new document with the conditions that were supplied. -
#find_or_initialize_by(attrs = {}, &block) ⇒ Document
Find the first
Document
given the conditions, or initializes a new document with the conditions that were supplied. -
#first_or_create(attrs = nil, &block) ⇒ Document
Find the first
Document
, or creates a new document with the conditions that were supplied plus attributes. -
#first_or_create!(attrs = nil, &block) ⇒ Document
Find the first
Document
, or creates a new document with the conditions that were supplied plus attributes and will raise an error if validation fails. -
#first_or_initialize(attrs = nil, &block) ⇒ Document
Find the first
Document
, or initializes a new document with the conditions that were supplied plus attributes.
Instance Attribute Details
#create_attrs ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
10 11 12 |
# File 'lib/mongoid/criteria/modifiable.rb', line 10 def create_attrs @create_attrs end |
#create_attrs Additional attributes to add to the Document upon creation.(AdditionalattributestoaddtotheDocumentuponcreation.) ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
10 |
# File 'lib/mongoid/criteria/modifiable.rb', line 10 attr_reader :create_attrs |
Instance Method Details
#build(attrs = {}, &block) ⇒ Document Also known as: new
Build a document given the selector and return it. Complex criteria, such as $in and $or operations will get ignored.
24 25 26 |
# File 'lib/mongoid/criteria/modifiable.rb', line 24 def build(attrs = {}, &block) create_document(:new, attrs, &block) end |
#create(attrs = {}, &block) ⇒ Document
Create a document in the database given the selector and return it. Complex criteria, such as $in and $or operations will get ignored.
41 42 43 |
# File 'lib/mongoid/criteria/modifiable.rb', line 41 def create(attrs = {}, &block) create_document(:create, attrs, &block) end |
#create!(attrs = {}, &block) ⇒ Document
Create a document in the database given the selector and return it. Complex criteria, such as $in and $or operations will get ignored. If validation fails, an error will be raised.
60 61 62 |
# File 'lib/mongoid/criteria/modifiable.rb', line 60 def create!(attrs = {}, &block) create_document(:create!, attrs, &block) end |
#create_with(attrs = {}) ⇒ Mongoid::Criteria
Define attributes with which new documents will be created.
Note that if ‘find_or_create_by` is called after this in a method chain, the attributes in the query will override those from this method.
75 76 77 78 79 80 |
# File 'lib/mongoid/criteria/modifiable.rb', line 75 def create_with(attrs = {}) tap do @create_attrs ||= {} @create_attrs.update(attrs) end end |
#find_or_create_by(attrs = {}, &block) ⇒ Document
Find the first Document
given the conditions, or creates a new document with the conditions that were supplied.
91 92 93 |
# File 'lib/mongoid/criteria/modifiable.rb', line 91 def find_or_create_by(attrs = {}, &block) find_or(:create, attrs, &block) end |
#find_or_create_by!(attrs = {}, &block) ⇒ Document
Find the first Document
given the conditions, or creates a new document with the conditions that were supplied. If validation fails an exception will be raised.
107 108 109 |
# File 'lib/mongoid/criteria/modifiable.rb', line 107 def find_or_create_by!(attrs = {}, &block) find_or(:create!, attrs, &block) end |
#find_or_initialize_by(attrs = {}, &block) ⇒ Document
Find the first Document
given the conditions, or initializes a new document with the conditions that were supplied.
120 121 122 |
# File 'lib/mongoid/criteria/modifiable.rb', line 120 def find_or_initialize_by(attrs = {}, &block) find_or(:new, attrs, &block) end |
#first_or_create(attrs = nil, &block) ⇒ Document
Find the first Document
, or creates a new document with the conditions that were supplied plus attributes.
135 136 137 |
# File 'lib/mongoid/criteria/modifiable.rb', line 135 def first_or_create(attrs = nil, &block) first_or(:create, attrs, &block) end |
#first_or_create!(attrs = nil, &block) ⇒ Document
Find the first Document
, or creates a new document with the conditions that were supplied plus attributes and will raise an error if validation fails.
151 152 153 |
# File 'lib/mongoid/criteria/modifiable.rb', line 151 def first_or_create!(attrs = nil, &block) first_or(:create!, attrs, &block) end |
#first_or_initialize(attrs = nil, &block) ⇒ Document
Find the first Document
, or initializes a new document with the conditions that were supplied plus attributes.
166 167 168 |
# File 'lib/mongoid/criteria/modifiable.rb', line 166 def first_or_initialize(attrs = nil, &block) first_or(:new, attrs, &block) end |