class Polipus::Storage::MemoryStore

Public Class Methods

new(_options = {}) click to toggle source
# File lib/polipus/storage/memory_store.rb, line 6
def initialize(_options = {})
  @store = {}
  @semaphore = Mutex.new
end

Public Instance Methods

add(page) click to toggle source
# File lib/polipus/storage/memory_store.rb, line 11
def add(page)
  @semaphore.synchronize do
    u = uuid(page)
    @store[u] = page
    u
  end
end
clear() click to toggle source
# File lib/polipus/storage/memory_store.rb, line 49
def clear
  @semaphore.synchronize do
    @store = {}
  end
end
count() click to toggle source
# File lib/polipus/storage/memory_store.rb, line 37
def count
  @semaphore.synchronize do
    @store.count
  end
end
each() { |k, v| ... } click to toggle source
# File lib/polipus/storage/memory_store.rb, line 43
def each
  @store.each do |k, v|
    yield k, v
  end
end
exists?(page) click to toggle source
# File lib/polipus/storage/memory_store.rb, line 19
def exists?(page)
  @semaphore.synchronize do
    @store.key?(uuid(page))
  end
end
get(page) click to toggle source
# File lib/polipus/storage/memory_store.rb, line 25
def get(page)
  @semaphore.synchronize do
    @store[uuid(page)]
  end
end
remove(page) click to toggle source
# File lib/polipus/storage/memory_store.rb, line 31
def remove(page)
  @semaphore.synchronize do
    @store.delete(uuid(page))
  end
end