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.
9 10 11 |
# File 'lib/mongoid/criteria/modifiable.rb', line 9 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.
9 |
# File 'lib/mongoid/criteria/modifiable.rb', line 9 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.
21 22 23 |
# File 'lib/mongoid/criteria/modifiable.rb', line 21 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.
36 37 38 |
# File 'lib/mongoid/criteria/modifiable.rb', line 36 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.
53 54 55 |
# File 'lib/mongoid/criteria/modifiable.rb', line 53 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.
66 67 68 69 70 71 |
# File 'lib/mongoid/criteria/modifiable.rb', line 66 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.
82 83 84 |
# File 'lib/mongoid/criteria/modifiable.rb', line 82 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.
98 99 100 |
# File 'lib/mongoid/criteria/modifiable.rb', line 98 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.
111 112 113 |
# File 'lib/mongoid/criteria/modifiable.rb', line 111 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.
124 125 126 |
# File 'lib/mongoid/criteria/modifiable.rb', line 124 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.
138 139 140 |
# File 'lib/mongoid/criteria/modifiable.rb', line 138 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.
151 152 153 |
# File 'lib/mongoid/criteria/modifiable.rb', line 151 def first_or_initialize(attrs = nil, &block) first_or(:new, attrs, &block) end |