class Yoda::Store::Adapters::MemoryAdapter
An adapter implementation to store object in memory. This implementation losts data on exit and we recommend to use this adapter only for test.
Attributes
db[R]
@return [Hash{String => String}]
Public Class Methods
for(path)
click to toggle source
# File lib/yoda/store/adapters/memory_adapter.rb, line 10 def for(path) @pool ||= {} @pool[path] || (@pool[path] = new(path)) end
new(path = nil)
click to toggle source
@param path [String, nil] represents the path to store db.
# File lib/yoda/store/adapters/memory_adapter.rb, line 24 def initialize(path = nil) @path = path @db = {} end
type()
click to toggle source
# File lib/yoda/store/adapters/memory_adapter.rb, line 15 def type :memory end
Public Instance Methods
batch_write(data, bar)
click to toggle source
@param data [Enumerator<(String, Object)>] @param bar [#increment, nil]
# File lib/yoda/store/adapters/memory_adapter.rb, line 37 def batch_write(data, bar) data.each do |(k, v)| put(k, v) bar&.increment end end
clear()
click to toggle source
# File lib/yoda/store/adapters/memory_adapter.rb, line 72 def clear db.clear end
delete(address)
click to toggle source
@param address [String] @return [void]
# File lib/yoda/store/adapters/memory_adapter.rb, line 53 def delete(address) db.delete(address.to_s) end
exist?(address)
click to toggle source
@param address [String] @return [true, false]
# File lib/yoda/store/adapters/memory_adapter.rb, line 59 def exist?(address) db.member?(address.to_s) end
get(address)
click to toggle source
@param address [String] @return [any]
# File lib/yoda/store/adapters/memory_adapter.rb, line 31 def get(address) JSON.load(db[address.to_s], symbolize_names: true) end
keys()
click to toggle source
@return [Array<String>]
# File lib/yoda/store/adapters/memory_adapter.rb, line 64 def keys db.keys end
put(address, object)
click to toggle source
@param address [String] @param object [Object] @return [void]
# File lib/yoda/store/adapters/memory_adapter.rb, line 47 def put(address, object) db[address.to_s] = object.to_json end
stats()
click to toggle source
# File lib/yoda/store/adapters/memory_adapter.rb, line 68 def stats "No stats" end
sync()
click to toggle source
# File lib/yoda/store/adapters/memory_adapter.rb, line 76 def sync end