Module: Mongoid::Persistence::Insertion
- Included in:
- Operations::Embedded::Insert, Operations::Insert
- Defined in:
- lib/mongoid/persistence/insertion.rb
Overview
Contains common logic for insertion operations.
Instance Method Summary collapse
-
#prepare(&block) ⇒ Document
Wrap all the common insertion logic for both root and embedded documents and then yield to the block.
Instance Method Details
#prepare(&block) ⇒ Document
Wrap all the common insertion logic for both root and embedded documents and then yield to the block.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/mongoid/persistence/insertion.rb', line 21 def prepare(&block) unless validating? && document.invalid?(:create) result = document.run_callbacks(:save) do document.run_callbacks(:create) do yield(document) document.new_record = false document.flag_children_persisted true end end document.post_persist unless result == false end document.errors.clear unless validating? document end |