Class: Mongoid::Atomic::Paths::Root
- Defined in:
- lib/mongoid/atomic/paths/root.rb
Overview
This class encapsulates behaviour for locating and updating root documents atomically.
Instance Attribute Summary collapse
-
#document ⇒ Object
readonly
Returns the value of attribute document.
-
#path ⇒ Object
readonly
Returns the value of attribute path.
-
#position ⇒ Object
readonly
Returns the value of attribute position.
Instance Method Summary collapse
-
#initialize(document) ⇒ Root
constructor
Create the new root path utility.
-
#selector ⇒ Hash
Get the selector to use for the root document when performing atomic updates.
Constructor Details
#initialize(document) ⇒ Root
Create the new root path utility.
20 21 22 |
# File 'lib/mongoid/atomic/paths/root.rb', line 20 def initialize(document) @document, @path, @position = document, "", "" end |
Instance Attribute Details
#document ⇒ Object (readonly)
Returns the value of attribute document.
10 11 12 |
# File 'lib/mongoid/atomic/paths/root.rb', line 10 def document @document end |
#path ⇒ Object (readonly)
Returns the value of attribute path.
10 11 12 |
# File 'lib/mongoid/atomic/paths/root.rb', line 10 def path @path end |
#position ⇒ Object (readonly)
Returns the value of attribute position.
10 11 12 |
# File 'lib/mongoid/atomic/paths/root.rb', line 10 def position @position end |
Instance Method Details
#selector ⇒ Hash
Get the selector to use for the root document when performing atomic updates. When sharding this will include the shard key.
33 34 35 36 |
# File 'lib/mongoid/atomic/paths/root.rb', line 33 def selector { "_id" => document.identifier || document._id }. merge!(document.shard_key_selector) end |