class Mongoid::Atomic::Paths::Embedded::One

This class encapsulates behavior for locating and updating documents that are defined as an embedded 1-1.

Public Class Methods

new(document) click to toggle source

Create the new path utility.

@example Create the path util.

One.new(document)

@param [ Document ] document The document to generate the paths for.

@since 2.1.0

# File lib/mongoid/atomic/paths/embedded/one.rb, line 22
def initialize(document)
  @document, @parent = document, document._parent
  @insert_modifier, @delete_modifier ="$set", "$unset"
end

Public Instance Methods

position() click to toggle source

Get the position of the document in the hierarchy. This will include indexes of 1-n embedded associations that may sit above the embedded one.

@example Get the position.

one.position

@return [ String ] The position of the document.

@since 2.1.0

# File lib/mongoid/atomic/paths/embedded/one.rb, line 37
def position
  pos = parent.atomic_position
  "#{pos}#{"." unless pos.blank?}#{document._association.store_as}"
end