Module: Hyrax::ControlledVocabularies::ResourceLabelCaching
- Included in:
- Location
- Defined in:
- lib/hyrax/controlled_vocabularies/resource_label_caching.rb
Overview
adds caching to the #rdf_label method.
for systems that check the #rdf_labeland use #fetch to get upstream data if it is not present, this can be used to avoid making round trips to an authoritative web source.
Constant Summary collapse
- CACHE_KEY_PREFIX =
"hy_label-v1-"
Instance Method Summary collapse
Instance Method Details
#fetch ⇒ Object
Note:
adds behavior to clear the cache whenever a manual fetch of data is performed.
30 31 32 33 |
# File 'lib/hyrax/controlled_vocabularies/resource_label_caching.rb', line 30 def fetch(*, **) Rails.cache.delete(cache_key) super end |
#rdf_label ⇒ Object
Note:
uses the Rails cache to avoid repeated lookups.
18 19 20 21 22 23 24 |
# File 'lib/hyrax/controlled_vocabularies/resource_label_caching.rb', line 18 def rdf_label # only cache if this rdf source is represented by a URI; # i.e. don't cache for blank nodes return super unless uri? Rails.cache.fetch(cache_key) { super } end |