module BELParser::Resource::LRUReader

Constants

LRU_MAX_SIZE

Public Instance Methods

retrieve_resource(resource_identifier) click to toggle source
Calls superclass method
# 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) click to toggle source
Calls superclass method
# 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) click to toggle source
Calls superclass method
# File lib/bel_parser/resource/lru_reader.rb, line 28
def retrieve_values_from_resource(resource_identifier)
  retrieve_resource(resource_identifier)
  super
end