Class: Dor::ReleaseTagService

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(item) ⇒ ReleaseTagService

Returns a new instance of ReleaseTagService.



12
13
14
15
# File 'lib/dor/services/release_tag_service.rb', line 12

def initialize(item)
  @identity_metadata_service = ReleaseTags::IdentityMetadata.new(item)
  @purl_service = ReleaseTags::Purl.new(pid: item.pid, purl_host: Dor::Config.stacks.document_cache_host)
end

Class Method Details

.for(item) ⇒ Hash{String => Boolean}

Determine projects in which an item is released

Parameters:

  • item (Dor::Item)

    to get the release tags for

Returns:

  • (Hash{String => Boolean})

    all namespaces, keys are Project name Strings, values are Boolean



8
9
10
# File 'lib/dor/services/release_tag_service.rb', line 8

def self.for(item)
  new(item)
end

Instance Method Details

#newest_release_tagHash

Take a hash of tags as obtained via Dor::Item.release_tags and returns the newest tag for each namespace

Parameters:

  • tags (Hash)

    a hash of tags obtained via Dor::Item.release_tags or matching format

Returns:

  • (Hash)

    a hash of latest tags for each to value



33
# File 'lib/dor/services/release_tag_service.rb', line 33

delegate :newest_release_tag, to: :identity_metadata_service

#release_tagsHash

Helper method to get the release tags as a nodeset

Returns:

  • (Hash)

    all release tags and their attributes



28
# File 'lib/dor/services/release_tag_service.rb', line 28

delegate :release_tags, to: :identity_metadata_service

#released_for(skip_live_purl:) ⇒ Hash{String => Boolean}

Called in Dor::UpdateMarcRecordService (in dor-services-app too) Determine projects in which an item is released

Returns:

  • (Hash{String => Boolean})

    all namespaces, keys are Project name Strings, values are Boolean



20
21
22
23
24
# File 'lib/dor/services/release_tag_service.rb', line 20

def released_for(skip_live_purl:)
  released_hash = .released_for({})
  released_hash = purl_service.released_for(released_hash) unless skip_live_purl
  released_hash
end