Module: Mongoid::Persistence
- Extended by:
- ActiveSupport::Concern
- Includes:
- Atomic
- Included in:
- Components
- Defined in:
- lib/mongoid/persistence.rb,
lib/mongoid/persistence/atomic.rb,
lib/mongoid/persistence/deletion.rb,
lib/mongoid/persistence/insertion.rb,
lib/mongoid/persistence/atomic/bit.rb,
lib/mongoid/persistence/atomic/inc.rb,
lib/mongoid/persistence/atomic/pop.rb,
lib/mongoid/persistence/operations.rb,
lib/mongoid/persistence/atomic/pull.rb,
lib/mongoid/persistence/atomic/push.rb,
lib/mongoid/persistence/atomic/sets.rb,
lib/mongoid/persistence/atomic/unset.rb,
lib/mongoid/persistence/modification.rb,
lib/mongoid/persistence/atomic/rename.rb,
lib/mongoid/persistence/atomic/pull_all.rb,
lib/mongoid/persistence/atomic/push_all.rb,
lib/mongoid/persistence/atomic/operation.rb,
lib/mongoid/persistence/atomic/add_to_set.rb,
lib/mongoid/persistence/operations/insert.rb,
lib/mongoid/persistence/operations/remove.rb,
lib/mongoid/persistence/operations/update.rb,
lib/mongoid/persistence/operations/embedded/insert.rb,
lib/mongoid/persistence/operations/embedded/remove.rb
Overview
:nodoc:
Defined Under Namespace
Modules: Atomic, ClassMethods, Deletion, Insertion, Modification, Operations
Instance Method Summary collapse
-
#destroy(options = {}) ⇒ true, false
Remove the document from the datbase with callbacks.
-
#insert(options = {}) ⇒ Document
Insert a new document into the database.
-
#remove(options = {}) ⇒ TrueClass
(also: #delete)
Remove the document from the datbase.
-
#save!(options = {}) ⇒ true, false
Save the document - will perform an insert if the document is new, and update if not.
-
#update(options = {}) ⇒ true, false
Update the document in the datbase.
-
#update_attribute(name, value) ⇒ true, false
Update a single attribute and persist the entire document.
-
#update_attributes(attributes = {}) ⇒ true, false
Update the document attributes in the datbase.
-
#update_attributes!(attributes = {}) ⇒ true, false
Update the document attributes in the database and raise an error if validation failed.
-
#upsert(options = {}) ⇒ true, false
(also: #save)
Upsert the document - will perform an insert if the document is new, and update if not.
Methods included from Atomic
#add_to_set, #bit, #inc, #pop, #pull, #pull_all, #push, #push_all, #rename, #set, #unset
Instance Method Details
#destroy(options = {}) ⇒ true, false
Remove the document from the datbase with callbacks.
30 31 32 |
# File 'lib/mongoid/persistence.rb', line 30 def destroy( = {}) run_callbacks(:destroy) { remove() } end |
#insert(options = {}) ⇒ Document
Insert a new document into the database. Will return the document itself whether or not the save was successful.
43 44 45 |
# File 'lib/mongoid/persistence.rb', line 43 def insert( = {}) Operations.insert(self, ).persist end |
#remove(options = {}) ⇒ TrueClass Also known as: delete
Remove the document from the datbase.
55 56 57 |
# File 'lib/mongoid/persistence.rb', line 55 def remove( = {}) Operations.remove(self, ).persist end |
#save!(options = {}) ⇒ true, false
Save the document - will perform an insert if the document is new, and update if not. If a validation error occurs an error will get raised.
69 70 71 72 73 74 75 |
# File 'lib/mongoid/persistence.rb', line 69 def save!( = {}) unless upsert() self.class.fail_validate!(self) if errors.any? self.class.fail_callback!(self, :save!) end return true end |
#update(options = {}) ⇒ true, false
Update the document in the datbase.
85 86 87 |
# File 'lib/mongoid/persistence.rb', line 85 def update( = {}) Operations.update(self, ).persist end |
#update_attribute(name, value) ⇒ true, false
Update a single attribute and persist the entire document. This skips validation but fires the callbacks.
101 102 103 104 |
# File 'lib/mongoid/persistence.rb', line 101 def update_attribute(name, value) write_attribute(name, value) save(:validate => false) end |
#update_attributes(attributes = {}) ⇒ true, false
Update the document attributes in the datbase.
114 115 116 |
# File 'lib/mongoid/persistence.rb', line 114 def update_attributes(attributes = {}) write_attributes(attributes); save end |
#update_attributes!(attributes = {}) ⇒ true, false
Update the document attributes in the database and raise an error if validation failed.
129 130 131 132 133 134 135 136 |
# File 'lib/mongoid/persistence.rb', line 129 def update_attributes!(attributes = {}) update_attributes(attributes).tap do |result| unless result self.class.fail_validate!(self) if errors.any? self.class.fail_callback!(self, :update_attributes!) end end end |
#upsert(options = {}) ⇒ true, false Also known as: save
Upsert the document - will perform an insert if the document is new, and update if not.
147 148 149 150 151 152 153 |
# File 'lib/mongoid/persistence.rb', line 147 def upsert( = {}) if new_record? insert().persisted? else update() end end |