Module: Rubydora::RestApiClient::SoftDeleteBehavior

Extended by:
ActiveSupport::Concern
Included in:
Fc3Service
Defined in:
lib/generators/curate/soft_delete/active_fedora_soft_delete_monkey_patch.rb

Overview

There is likely a better way of doing this, but the ActiveFedora API doesn’t appear to support soft-deletes (i.e. changing the state to ‘D’)

So I am intercepting the :purge_object, :purge_datastream, and :purge_relationship methods and instead of purging, I’m modifying. the state.

Instance Method Summary collapse

Instance Method Details

#purge_datastream(*args) ⇒ Object



46
47
48
# File 'lib/generators/curate/soft_delete/active_fedora_soft_delete_monkey_patch.rb', line 46

def purge_datastream(*args)
  super(*args) rescue PerformedSoftDelete; true
end

#purge_object(*args) ⇒ Object



43
44
45
# File 'lib/generators/curate/soft_delete/active_fedora_soft_delete_monkey_patch.rb', line 43

def purge_object(*args)
  super(*args) rescue PerformedSoftDelete; true
end

#purge_relationship(*args) ⇒ Object



49
50
51
# File 'lib/generators/curate/soft_delete/active_fedora_soft_delete_monkey_patch.rb', line 49

def purge_relationship(*args)
  super(*args) rescue PerformedSoftDelete; true
end