class Asynchronic::DataStore::ScopedStore
Attributes
data_store[R]
scope[R]
Public Class Methods
connect(options)
click to toggle source
# File lib/asynchronic/data_store/scoped_store.rb, line 9 def self.connect(options) data_store = options[:data_store_class].connect(*options[:data_store_connection_args]) new data_store, options[:scope] end
new(data_store, scope)
click to toggle source
# File lib/asynchronic/data_store/scoped_store.rb, line 14 def initialize(data_store, scope) @data_store = data_store @scope = Key[scope] end
Public Instance Methods
[](key)
click to toggle source
# File lib/asynchronic/data_store/scoped_store.rb, line 19 def [](key) data_store[scope[key]] end
[]=(key, value)
click to toggle source
# File lib/asynchronic/data_store/scoped_store.rb, line 23 def []=(key, value) data_store[scope[key]] = value end
connection_args()
click to toggle source
# File lib/asynchronic/data_store/scoped_store.rb, line 45 def connection_args [ { data_store_class: data_store.class, data_store_connection_args: data_store.connection_args, scope: scope } ] end
delete(key)
click to toggle source
# File lib/asynchronic/data_store/scoped_store.rb, line 27 def delete(key) data_store.delete scope[key] end
delete_cascade()
click to toggle source
# File lib/asynchronic/data_store/scoped_store.rb, line 31 def delete_cascade data_store.delete_cascade scope end
keys()
click to toggle source
# File lib/asynchronic/data_store/scoped_store.rb, line 35 def keys data_store.keys .select { |k| k.start_with? scope[''] } .map { |k| Key[k].remove_first scope.sections.count } end
synchronize(key, &block)
click to toggle source
# File lib/asynchronic/data_store/scoped_store.rb, line 41 def synchronize(key, &block) data_store.synchronize(key, &block) end
to_s()
click to toggle source
# File lib/asynchronic/data_store/scoped_store.rb, line 55 def to_s "#<#{self.class} @data_store=#{data_store} @scope=#{scope}>" end