Module: BELParser::Resource::LRUReader
- Included in:
- JenaTDBReader, SPARQLReader
- Defined in:
- lib/bel_parser/resource/lru_reader.rb
Instance Method Summary collapse
- #retrieve_resource(resource_identifier) ⇒ Object
- #retrieve_value_from_resource(resource_identifier, value) ⇒ Object
- #retrieve_values_from_resource(resource_identifier) ⇒ Object
Instance Method Details
#retrieve_resource(resource_identifier) ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/bel_parser/resource/lru_reader.rb', line 10 def retrieve_resource(resource_identifier) @resources ||= Hash.new { |hash, key| hash[key] = {} } cached_dataset = @resources[resource_identifier][:dataset] return cached_dataset if cached_dataset resolved_dataset = super @resources[resource_identifier][:dataset] = resolved_dataset @resources[resource_identifier][:values] = LRUCache.new(LRU_MAX_SIZE) resolved_dataset end |
#retrieve_value_from_resource(resource_identifier, value) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/bel_parser/resource/lru_reader.rb', line 21 def retrieve_value_from_resource(resource_identifier, value) retrieve_resource(resource_identifier) @resources[resource_identifier][:values].getset(value) { super } end |
#retrieve_values_from_resource(resource_identifier) ⇒ Object
28 29 30 31 |
# File 'lib/bel_parser/resource/lru_reader.rb', line 28 def retrieve_values_from_resource(resource_identifier) retrieve_resource(resource_identifier) super end |