Sha256: eace6a6c8c4a438dd2b5c953aa09c2e3aa9a22ca3f8b8ed9aad4a3cb82c9fb16

Contents?: true

Size: 1.93 KB

Versions: 1

Compression:

Stored size: 1.93 KB

Contents

module Qa::Authorities::LocSubauthority
  def get_url_for_authority(authority)
    if authorities.include?(authority) then authority_base_url
    elsif vocabularies.include?(authority) then vocab_base_url
    elsif datatypes.include?(authority)    then datatype_base_url
    elsif preservation.include?(authority) then vocab_preservation_base_url
    end
  end

  def authorities
    [
      "subjects",
      "names",
      "classification",
      "childrensSubjects",
      "genreForms",
      "performanceMediums"
    ]
  end

  def vocabularies # rubocop:disable Metrics/MethodLength
    [
      "graphicMaterials",
      "organizations",
      "relators",
      "countries",
      "ethnographicTerms",
      "geographicAreas",
      "languages",
      "iso639-1",
      "iso639-2",
      "iso639-5",
      "preservation",
      "actionsGranted",
      "agentType"
    ]
  end

  def datatypes
    ["edtf"]
  end

  def preservation # rubocop:disable Metrics/MethodLength
    [
      "contentLocationType",
      "copyrightStatus",
      "cryptographicHashFunctions",
      "environmentCharacteristic",
      "environmentPurpose",
      "eventRelatedAgentRole",
      "eventRelatedObjectRole",
      "eventType",
      "formatRegistryRole",
      "hardwareType",
      "inhibitorTarget",
      "inhibitorType",
      "objectCategory",
      "preservationLevelRole",
      "relationshipSubType",
      "relationshipType",
      "rightsBasis",
      "rightsRelatedAgentRole",
      "signatureEncoding",
      "signatureMethod",
      "softwareType",
      "storageMedium"
    ]
  end

  private

    def vocab_base_url
      "cs%3Ahttps%3A%2F%2Fid.loc.gov%2Fvocabulary%2F"
    end

    def authority_base_url
      "cs%3Ahttps%3A%2F%2Fid.loc.gov%2Fauthorities%2F"
    end

    def datatype_base_url
      "cs%3Ahttps%3A%2F%2Fid.loc.gov%2Fdatatypes%2F"
    end

    def vocab_preservation_base_url
      "cs%3Ahttps%3A%2F%2Fid.loc.gov%2Fvocabulary%2Fpreservation%2F"
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
qa-5.5.0 lib/qa/authorities/loc_subauthority.rb