Module: Parliament::OpenSearch::DescriptionCache
- Defined in:
- lib/parliament/open_search/description_cache.rb
Overview
A module used to download, cache and serve description files for our OpenSearch requests.
Constant Summary collapse
- DESCRIPTION_CACHE_TIME =
10 minutes
600
Class Method Summary collapse
-
.delete(uri) ⇒ nil|Hash
Given a uri, remove the description from our store.
-
.fetch(uri, request_id = nil) ⇒ String
Given a description uri, either download the file or serve it from our cache.
-
.store ⇒ Hash
Returns a copy of our description store.
Class Method Details
.delete(uri) ⇒ nil|Hash
Given a uri, remove the description from our store.
33 34 35 36 37 |
# File 'lib/parliament/open_search/description_cache.rb', line 33 def delete(uri) store @store.delete(uri) end |
.fetch(uri, request_id = nil) ⇒ String
Given a description uri, either download the file or serve it from our cache
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/parliament/open_search/description_cache.rb', line 14 def fetch(uri, request_id = nil) store if cache_valid?(store[uri]) templates = @store[uri][:templates] else templates = download_description_templates(uri, request_id) @store[uri] = { timestamp: Time.now, templates: templates } end templates end |
.store ⇒ Hash
Returns a copy of our description store
42 43 44 |
# File 'lib/parliament/open_search/description_cache.rb', line 42 def store @store ||= {} end |