Sha256: 1567eb74e72e89986ae4f6f549d833385612263bbefcd2aabfdc78a334f430b8

Contents?: true

Size: 544 Bytes

Versions: 3

Compression:

Stored size: 544 Bytes

Contents

$:.unshift(File.dirname(__FILE__))

Dir.glob("#{File.dirname(__FILE__)}/../ext/*.rb").each { |file| require file }
require 'monitored_array'
require 'simple_array_eviction'

# This is a FIFO array, a way to keep a limited queue.  This is very
# useful for Percept Histories. 
class ArrayCache
  def initialize(opts={})
    eviction_policy = SimpleArrayEviction.new(opts[:n])
    @array = MonitoredArray.new
    @array.add_observer(eviction_policy)
  end
  
  def method_missing(sym, *args, &block)
    @array.send(sym, *args, &block)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
davidrichards-repositories-0.0.3 lib/repositories/array_cache.rb
davidrichards-repositories-0.0.4 lib/repositories/array_cache.rb
davidrichards-repositories-0.0.5 lib/repositories/array_cache.rb