Class: Dor::DecommissionService

Inherits:
Object
  • Object
show all
Defined in:
lib/dor/services/decommission_service.rb

Overview

Responsible for decommissioning objects

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(object) ⇒ DecommissionService

Returns a new instance of DecommissionService.

Parameters:



7
8
9
# File 'lib/dor/services/decommission_service.rb', line 7

def initialize(object)
  @object = object
end

Instance Attribute Details

#objectObject (readonly)

Returns the value of attribute object.



11
12
13
# File 'lib/dor/services/decommission_service.rb', line 11

def object
  @object
end

Instance Method Details

#decommission(tag) ⇒ Object

Clears RELS-EXT relationships, sets the isGovernedBy relationship to the SDR Graveyard APO

Parameters:

  • tag (String)

    optional String of text that is concatenated to the identityMetadata/tag “Decommissioned : ”



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/dor/services/decommission_service.rb', line 15

def decommission(tag)
  # remove isMemberOf and isMemberOfCollection relationships
  object.clear_relationship :is_member_of
  object.clear_relationship :is_member_of_collection
  # remove isGovernedBy relationship
  object.clear_relationship :is_governed_by
  # add isGovernedBy to graveyard APO druid:sw909tc7852
  # SEARCH BY dc title for 'SDR Graveyard'
  object.add_relationship :is_governed_by, ActiveFedora::Base.find(Dor::SearchService.sdr_graveyard_apo_druid)
  # eliminate contentMetadata. set it to <contentMetadata/> ?
  object..content = '<contentMetadata/>'
  # eliminate rightsMetadata. set it to <rightsMetadata/> ?
  object..content = '<rightsMetadata/>'
  TagService.add object, "Decommissioned : #{tag}"
end