Module: DigitalScriptorium::Transformers
- Includes:
- PropertyId
- Defined in:
- lib/digital_scriptorium/transformers.rb
Overview
Factory for creating claim transformers
Constant Summary
collapse
- TRANSFORMERS =
{
HOLDING_INSTITUTION_AS_RECORDED => QualifiedClaimTransformer,
SHELFMARK => ShelfmarkClaimTransformer,
LINK_TO_INSTITUTIONAL_RECORD => LinkClaimTransformer,
TITLE_AS_RECORDED => QualifiedClaimTransformerWithFacetFallback,
UNIFORM_TITLE_AS_RECORDED => UniformTitleClaimTransformer,
ASSOCIATED_NAME_AS_RECORDED => NameClaimTransformer,
GENRE_AS_RECORDED => QualifiedClaimTransformerWithFacetFallback,
SUBJECT_AS_RECORDED => QualifiedClaimTransformerWithFacetFallback,
LANGUAGE_AS_RECORDED => QualifiedClaimTransformer,
PRODUCTION_DATE_AS_RECORDED => DateClaimTransformer,
DATED => DatedClaimTransformer,
PRODUCTION_PLACE_AS_RECORDED => QualifiedClaimTransformer,
PHYSICAL_DESCRIPTION => PhysicalDescriptionClaimTransformer,
MATERIAL_AS_RECORDED => QualifiedClaimTransformer,
NOTE => NoteClaimTransformer,
ACKNOWLEDGEMENTS => AcknowledgementsClaimTransformer,
IIIF_MANIFEST => IiifManifestClaimTransformer
}.freeze
- AUTHORITY_IDS =
{
HOLDING_INSTITUTION_AS_RECORDED => HOLDING_INSTITUTION_IN_AUTHORITY_FILE,
TITLE_AS_RECORDED => STANDARD_TITLE,
ASSOCIATED_NAME_AS_RECORDED => NAME_IN_AUTHORITY_FILE,
GENRE_AS_RECORDED => TERM_IN_AUTHORITY_FILE,
SUBJECT_AS_RECORDED => TERM_IN_AUTHORITY_FILE,
LANGUAGE_AS_RECORDED => LANGUAGE_IN_AUTHORITY_FILE,
PRODUCTION_DATE_AS_RECORDED => PRODUCTION_CENTURY_IN_AUTHORITY_FILE,
PRODUCTION_PLACE_AS_RECORDED => PLACE_IN_AUTHORITY_FILE,
MATERIAL_AS_RECORDED => MATERIAL_IN_AUTHORITY_FILE
}.freeze
- PREFIXES =
{
HOLDING_INSTITUTION_AS_RECORDED => 'institution',
SHELFMARK => 'shelfmark',
LINK_TO_INSTITUTIONAL_RECORD => 'institutional_record',
TITLE_AS_RECORDED => 'title',
UNIFORM_TITLE_AS_RECORDED => 'uniform_title',
ASSOCIATED_NAME_AS_RECORDED => 'name',
GENRE_AS_RECORDED => 'term',
SUBJECT_AS_RECORDED => 'term',
LANGUAGE_AS_RECORDED => 'language',
PRODUCTION_DATE_AS_RECORDED => 'date',
DATED => 'dated',
PRODUCTION_PLACE_AS_RECORDED => 'place',
PHYSICAL_DESCRIPTION => 'physical_description',
MATERIAL_AS_RECORDED => 'material',
NOTE => 'note',
ACKNOWLEDGEMENTS => 'acknowledgements',
IIIF_MANIFEST => 'iiif_manifest'
}.freeze
Constants included
from PropertyId
PropertyId::ACKNOWLEDGEMENTS, PropertyId::ASSOCIATED_NAME_AS_RECORDED, PropertyId::CENTURY, PropertyId::DATED, PropertyId::DATE_ADDED, PropertyId::DATE_LAST_UPDATED, PropertyId::DESCRIBED_MANUSCRIPT, PropertyId::DS_ID, PropertyId::EARLIEST_DATE, PropertyId::END_TIME, PropertyId::EQUIVALENT_PROPERTY, PropertyId::EXTERNAL_IDENTIFIER, PropertyId::EXTERNAL_URI, PropertyId::FORMATTER_URL, PropertyId::GENRE_AS_RECORDED, PropertyId::HOLDING_INSTITUTION_AS_RECORDED, PropertyId::HOLDING_INSTITUTION_IN_AUTHORITY_FILE, PropertyId::HOLDING_STATUS, PropertyId::IIIF_MANIFEST, PropertyId::INSTANCE_OF, PropertyId::INSTITUTIONAL_ID, PropertyId::IN_ORIGINAL_SCRIPT, PropertyId::LANGUAGE_AS_RECORDED, PropertyId::LANGUAGE_IN_AUTHORITY_FILE, PropertyId::LATEST_DATE, PropertyId::LINK_TO_INSTITUTIONAL_RECORD, PropertyId::MANUSCRIPT_HOLDING, PropertyId::MATERIAL_AS_RECORDED, PropertyId::MATERIAL_IN_AUTHORITY_FILE, PropertyId::NAME_IN_AUTHORITY_FILE, PropertyId::NOTE, PropertyId::PHYSICAL_DESCRIPTION, PropertyId::PLACE_IN_AUTHORITY_FILE, PropertyId::PRODUCTION_CENTURY_IN_AUTHORITY_FILE, PropertyId::PRODUCTION_DATE_AS_RECORDED, PropertyId::PRODUCTION_PLACE_AS_RECORDED, PropertyId::ROLE_IN_AUTHORITY_FILE, PropertyId::SHELFMARK, PropertyId::STANDARD_TITLE, PropertyId::START_TIME, PropertyId::SUBCLASS_OF, PropertyId::SUBJECT_AS_RECORDED, PropertyId::TERM_IN_AUTHORITY_FILE, PropertyId::TITLE_AS_RECORDED, PropertyId::UNIFORM_TITLE_AS_RECORDED, PropertyId::VIAF_ID, PropertyId::WIKIDATA_QID
Class Method Summary
collapse
Class Method Details
.authority_id(property_id) ⇒ Object
83
84
85
|
# File 'lib/digital_scriptorium/transformers.rb', line 83
def self.authority_id(property_id)
AUTHORITY_IDS[property_id]
end
|
.create(property_id, claim, export_hash) ⇒ Object
91
92
93
94
95
96
97
98
|
# File 'lib/digital_scriptorium/transformers.rb', line 91
def self.create(property_id, claim, export_hash)
transformer_class = TRANSFORMERS[property_id]
authority_id = AUTHORITY_IDS[property_id]
prefix = PREFIXES[property_id]
return unless transformer_class && prefix
transformer_class.new(claim, export_hash, prefix: prefix, authority_id: authority_id)
end
|
.defined?(property_id) ⇒ Boolean
75
76
77
|
# File 'lib/digital_scriptorium/transformers.rb', line 75
def self.defined?(property_id)
TRANSFORMERS.include?(property_id)
end
|
.prefix(property_id) ⇒ Object
87
88
89
|
# File 'lib/digital_scriptorium/transformers.rb', line 87
def self.prefix(property_id)
PREFIXES[property_id]
end
|
79
80
81
|
# File 'lib/digital_scriptorium/transformers.rb', line 79
def self.transformer(property_id)
TRANSFORMERS[property_id]
end
|