Class: Polipus::Storage::MemoryStore
- Inherits:
-
Base
- Object
- Base
- Polipus::Storage::MemoryStore
show all
- Defined in:
- lib/polipus/storage/memory_store.rb
Instance Attribute Summary
Attributes inherited from Base
#include_query_string_in_uuid
Instance Method Summary
collapse
Constructor Details
#initialize(_options = {}) ⇒ MemoryStore
Returns a new instance of MemoryStore.
6
7
8
9
|
# File 'lib/polipus/storage/memory_store.rb', line 6
def initialize(_options = {})
@store = {}
@semaphore = Mutex.new
end
|
Instance Method Details
#add(page) ⇒ Object
11
12
13
14
15
16
17
|
# 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 ⇒ Object
49
50
51
52
53
|
# File 'lib/polipus/storage/memory_store.rb', line 49
def clear
@semaphore.synchronize do
@store = Hash.new
end
end
|
#count ⇒ Object
37
38
39
40
41
|
# File 'lib/polipus/storage/memory_store.rb', line 37
def count
@semaphore.synchronize do
@store.count
end
end
|
#each ⇒ Object
43
44
45
46
47
|
# File 'lib/polipus/storage/memory_store.rb', line 43
def each
@store.each do |k, v|
yield k, v
end
end
|
#exists?(page) ⇒ Boolean
19
20
21
22
23
|
# File 'lib/polipus/storage/memory_store.rb', line 19
def exists?(page)
@semaphore.synchronize do
@store.key?(uuid(page))
end
end
|
#get(page) ⇒ Object
25
26
27
28
29
|
# File 'lib/polipus/storage/memory_store.rb', line 25
def get(page)
@semaphore.synchronize do
@store[uuid(page)]
end
end
|
#remove(page) ⇒ Object
31
32
33
34
35
|
# File 'lib/polipus/storage/memory_store.rb', line 31
def remove(page)
@semaphore.synchronize do
@store.delete(uuid(page))
end
end
|