Sha256: 2260021d53fbac6cbf3ef1bcd6adc5d09fca5e2fef15dbdfdce1bd860eea7713
Contents?: true
Size: 873 Bytes
Versions: 5
Compression:
Stored size: 873 Bytes
Contents
require "ezid-client" module Ddr module Jobs module PermanentId class Job def self.inherited(subclass) subclass.instance_variable_set("@queue", :permanent_id) end end class MakeUnavailable < Job def self.call(*args) event = ActiveSupport::Notifications::Event.new(*args) id = event.payload[:permanent_id] reason = case event.name.split(".").first when "destroy" "deleted" when "deaccession" "deaccessioned" end Resque.enqueue(self, id, reason) if id.present? end def self.perform(id, reason = nil) identifier = Ezid::Identifier.find(id) identifier.unavailable!(reason) identifier.save end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems