Sha256: 5ee487811608f1c597f18ff6ee125c2ddc545c9b3d6e0feeffd64044dd5c9899

Contents?: true

Size: 786 Bytes

Versions: 54

Compression:

Stored size: 786 Bytes

Contents

# frozen_string_literal: true
module Valkyrie::Persistence
  # Implements the DataMapper Pattern to store metadata in Memory
  #  In Addition this stores an array of all deleted resources
  #
  # This is used by the Valkyrie::Persistence::BufferedPersister to
  #   buffer deletes for efficiency
  #
  # @see Valkyrie::Persistence::BufferedPersister
  #
  class DeleteTrackingBuffer < Valkyrie::Persistence::Memory::MetadataAdapter
    def persister
      @persister ||= DeleteTrackingBuffer::Persister.new(self)
    end

    class Persister < Valkyrie::Persistence::Memory::Persister
      attr_reader :deletes
      def initialize(*args)
        @deletes = []
        super
      end

      def delete(resource:)
        @deletes << resource
        super
      end
    end
  end
end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
valkyrie-3.5.0 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.4.0 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.3.0 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.1.5 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.1.4 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.1.3 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.1.2 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.1.1 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.1.0 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.0.3 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.0.2 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.0.1 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.0.0 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.0.0.pre.rc.1 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.0.0.pre.beta.3 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.0.0.pre.beta.2 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-3.0.0.pre.beta.1 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-2.2.0 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-2.1.2 lib/valkyrie/persistence/delete_tracking_buffer.rb
valkyrie-2.1.1 lib/valkyrie/persistence/delete_tracking_buffer.rb