Sha256: 43f101bfea17b616f33ab0758df81f660d82645d254a1755abca25ec6fe7bed6

Contents?: true

Size: 1.85 KB

Versions: 8

Compression:

Stored size: 1.85 KB

Contents

module Qa::Authorities::LocSubauthority

  def get_url_for_authority authority
    case
      when authorities.include?(authority)  then authority_base_url
      when vocabularies.include?(authority) then vocab_base_url
      when datatypes.include?(authority)    then datatype_base_url
      when preservation.include?(authority) then vocab_preservation_base_url
    end
  end

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

  def vocabularies
    [
      "graphicMaterials",
      "organizations",
      "relators",
      "countries",
      "ethnographicTerms",
      "geographicAreas",
      "languages",
      "iso639-1",
      "iso639-2",
      "iso639-5",
      "preservation",
      "actionsGranted",
      "agentType"
    ]
  end

  def datatypes
    ["edtf"]
  end

  def preservation
    [
      "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%3Ahttp%3A%2F%2Fid.loc.gov%2Fvocabulary%2F"
  end

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

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

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

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
qa-0.10.1 lib/qa/authorities/loc_subauthority.rb
qa-0.10.0 lib/qa/authorities/loc_subauthority.rb
qa-0.9.0 lib/qa/authorities/loc_subauthority.rb
qa-0.8.0 lib/qa/authorities/loc_subauthority.rb
qa-0.7.0 lib/qa/authorities/loc_subauthority.rb
qa-0.6.0 lib/qa/authorities/loc_subauthority.rb
qa-0.5.0 lib/qa/authorities/loc_subauthority.rb
qa-0.4.3 lib/qa/authorities/loc_subauthority.rb