Sha256: 686e6a7916b684482b31a7bd2bd8799442f31290d2af46d056ee62b56c4b0161
Contents?: true
Size: 1.26 KB
Versions: 27
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true # encoding: utf-8 module Mongoid module Atomic module Paths module Embedded # This class encapsulates behavior for locating and updating # documents that are defined as an embedded 1-1. class One include Embedded # 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 def initialize(document) @document, @parent = document, document._parent @insert_modifier, @delete_modifier ="$set", "$unset" end # 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 def position pos = parent.atomic_position "#{pos}#{"." unless pos.blank?}#{document._association.store_as}" end end end end end end
Version data entries
27 entries across 27 versions & 2 rubygems