Module: Mongoid::Persistable::Destroyable
- Extended by:
- ActiveSupport::Concern
- Included in:
- Mongoid::Persistable
- Defined in:
- build/mongoid-7.3/lib/mongoid/persistable/destroyable.rb
Overview
Defines behavior for persistence operations that destroy documents.
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
-
#destroy(options = nil) ⇒ true, false
Remove the document from the database with callbacks.
- #destroy!(options = {}) ⇒ Object
Instance Method Details
#destroy(options = nil) ⇒ true, false
Remove the document from the database with callbacks.
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'build/mongoid-7.3/lib/mongoid/persistable/destroyable.rb', line 23 def destroy( = nil) raise Errors::ReadonlyDocument.new(self.class) if readonly? self.flagged_for_destroy = true result = run_callbacks(:destroy) do if catch(:abort) { apply_destroy_dependencies! } delete( || {}) else false end end self.flagged_for_destroy = false result end |
#destroy!(options = {}) ⇒ Object
37 38 39 |
# File 'build/mongoid-7.3/lib/mongoid/persistable/destroyable.rb', line 37 def destroy!( = {}) destroy || raise(Errors::DocumentNotDestroyed.new(_id, self.class)) end |