Sha256: 667104f34cdb6506871413cc21ae81a854e1e526f2b615dddd135230d29559fb

Contents?: true

Size: 634 Bytes

Versions: 14

Compression:

Stored size: 634 Bytes

Contents

# frozen_string_literal: true

module Hyrax
  module Listeners
    ##
    # Listens for object deleted events and cleans up associated members
    class TrophyCleanupListener
      # Called when 'object.deleted' event is published
      # @param [Dry::Events::Event] event
      # @return [void]
      def on_object_deleted(event)
        Trophy.where(work_id: event[:id]).destroy_all
      rescue StandardError => err
        Hyrax.logger.warn "Failed to delete trophies for #{event[:id]}. " \
                          'These trophies might be orphaned.' \
                          "\n\t#{err.message}"
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
hyrax-5.0.0.rc2 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-5.0.0.rc1 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-3.6.0 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-4.0.0 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-4.0.0.rc3 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-4.0.0.rc2 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-4.0.0.rc1 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-3.5.0 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-4.0.0.beta2 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-3.4.2 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-4.0.0.beta1 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-3.4.1 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-3.4.0 app/services/hyrax/listeners/trophy_cleanup_listener.rb
hyrax-3.3.0 app/services/hyrax/listeners/trophy_cleanup_listener.rb