Module: Ccp::Kvs

Extended by:
Kvs
Includes:
Enumerable
Included in:
Kvs
Defined in:
lib/ccp/kvs.rb,
lib/ccp/kvs/tch.rb,
lib/ccp/kvs/core.rb,
lib/ccp/kvs/hash.rb,
lib/ccp/kvs/tokyo.rb,
lib/ccp/kvs/tokyo/base.rb,
lib/ccp/kvs/tokyo/info.rb,
lib/ccp/kvs/tokyo/cabinet.rb,
lib/ccp/kvs/tokyo/state_machine.rb

Defined Under Namespace

Modules: Core, Tokyo Classes: Hash, Tch

Constant Summary collapse

Error =
Class.new(RuntimeError)
NotFound =
Class.new(Error)
NotConnected =
Class.new(Error)
NotAllowed =
Class.new(Error)
IOError =
Class.new(Error)
DICTIONARY =

cache for (extname -> Kvs)

{}

Instance Method Summary collapse

Instance Method Details

#<<(kvs) ⇒ Object



31
32
33
34
# File 'lib/ccp/kvs.rb', line 31

def <<(kvs)
  kvs.must(Core)
  self[kvs.ext] = kvs
end

#[](name) ⇒ Object Also known as: lookup



20
21
22
23
24
25
# File 'lib/ccp/kvs.rb', line 20

def [](name)
  kvs = DICTIONARY[name.to_s] and return kvs
  name.must(Core) {
    raise NotFound, "%s(%s) for %s" % [name, name.class, DICTIONARY.keys.inspect]
  }
end

#[]=(key, val) ⇒ Object



27
28
29
# File 'lib/ccp/kvs.rb', line 27

def []=(key, val)
  DICTIONARY[key.to_s] = val
end

#each(&block) ⇒ Object



16
17
18
# File 'lib/ccp/kvs.rb', line 16

def each(&block)
  DICTIONARY.each_value(&block)
end