Module: Mongoid::UnitOfWork
- Included in:
- Mongoid
- Defined in:
- lib/mongoid/unit_of_work.rb
Overview
This module handles unit of work functionality with regards to the identity map.
Instance Method Summary collapse
-
#unit_of_work(options = {}) ⇒ Object
We can process a unit of work in Mongoid and have the identity map automatically clear itself out after the work is complete.
-
#using_identity_map? ⇒ true, false
Are we currently using the identity map?.
Instance Method Details
#unit_of_work(options = {}) ⇒ Object
We can process a unit of work in Mongoid and have the identity map automatically clear itself out after the work is complete.
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/mongoid/unit_of_work.rb', line 35 def unit_of_work( = {}) disable = [:disable] begin Threaded.disable_identity_map(disable) if disable yield if block_given? ensure if disable Threaded.enable_identity_map(disable) else IdentityMap.clear end end end |
#using_identity_map? ⇒ true, false
Are we currently using the identity map?
57 58 59 |
# File 'lib/mongoid/unit_of_work.rb', line 57 def using_identity_map? Mongoid.identity_map_enabled? && Threaded.identity_map_enabled? end |