Class: Persistent::StorageRAM
- Inherits:
-
Object
- Object
- Persistent::StorageRAM
- Defined in:
- lib/persistent-cache/storage/storage_ram.rb
Instance Attribute Summary collapse
-
#storage ⇒ Object
Returns the value of attribute storage.
Instance Method Summary collapse
- #clear ⇒ Object
- #delete_entry(serialized_key) ⇒ Object
-
#initialize ⇒ StorageRAM
constructor
A new instance of StorageRAM.
- #keys ⇒ Object
- #lookup_key(serialized_key) ⇒ Object
- #save_key_value_pair(serialized_key, serialized_value, timestamp = nil) ⇒ Object
- #size ⇒ Object
Constructor Details
#initialize ⇒ StorageRAM
Returns a new instance of StorageRAM.
7 8 9 |
# File 'lib/persistent-cache/storage/storage_ram.rb', line 7 def initialize() @storage = {} end |
Instance Attribute Details
#storage ⇒ Object
Returns the value of attribute storage.
5 6 7 |
# File 'lib/persistent-cache/storage/storage_ram.rb', line 5 def storage @storage end |
Instance Method Details
#clear ⇒ Object
45 46 47 48 49 |
# File 'lib/persistent-cache/storage/storage_ram.rb', line 45 def clear EH.retry!(:args => []) do @storage.clear end end |
#delete_entry(serialized_key) ⇒ Object
26 27 28 29 30 |
# File 'lib/persistent-cache/storage/storage_ram.rb', line 26 def delete_entry(serialized_key) EH.retry!(:args => [serialized_key]) do @storage.delete(serialized_key) end end |
#keys ⇒ Object
38 39 40 41 42 43 |
# File 'lib/persistent-cache/storage/storage_ram.rb', line 38 def keys EH.retry!(:args => []) do return [] if @storage.keys == [] [@storage.keys] end end |
#lookup_key(serialized_key) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/persistent-cache/storage/storage_ram.rb', line 19 def lookup_key(serialized_key) EH.retry!(:args => [serialized_key]) do return [] if @storage[serialized_key].nil? [@storage[serialized_key][:value], @storage[serialized_key][:timestamp]] end end |
#save_key_value_pair(serialized_key, serialized_value, timestamp = nil) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/persistent-cache/storage/storage_ram.rb', line 11 def save_key_value_pair(serialized_key, serialized_value, = nil) delete_entry(serialized_key) time_entry = .nil? ? Time.now.to_s : .to_s EH.retry!(:args => [serialized_key, serialized_value, time_entry]) do @storage[serialized_key] = {:value => serialized_value, :timestamp => time_entry} end end |
#size ⇒ Object
32 33 34 35 36 |
# File 'lib/persistent-cache/storage/storage_ram.rb', line 32 def size EH.retry!(:args => []) do @storage.size end end |