Class: Mongoid::Persistence::Atomic::Pull

Inherits:
Object
  • Object
show all
Includes:
Operation
Defined in:
lib/mongoid/persistence/atomic/pull.rb

Overview

This class provides the ability to perform an explicit $pull modification on a specific field.

Instance Attribute Summary

Attributes included from Operation

#document, #fields, #options, #value

Instance Method Summary collapse

Methods included from Operation

#collection, #initialize, #operation, #path, #prepare

Methods included from Atomic::Positionable

#positionally

Instance Method Details

#persistObject

Sends the atomic $pull operation to the database.

Examples:

Persist the new values.

pull.persist

Returns:

  • (Object)

    The new array value.

Since:

  • 2.1.0



19
20
21
22
23
24
25
26
27
28
# File 'lib/mongoid/persistence/atomic/pull.rb', line 19

def persist
  prepare do
    if document[field]
      values = document.send(field)
      values.delete(value)
      execute("$pull")
      values
    end
  end
end