Module: Ccp::Kvs
- Extended by:
- Kvs
- Includes:
- Enumerable
- Included in:
- Kvs
- Defined in:
- lib/ccp/kvs.rb,
lib/ccp/kvs/kch.rb,
lib/ccp/kvs/tch.rb,
lib/ccp/kvs/core.rb,
lib/ccp/kvs/hash.rb,
lib/ccp/kvs/kyoto.rb,
lib/ccp/kvs/tokyo.rb,
lib/ccp/kvs/kyoto/base.rb,
lib/ccp/kvs/tokyo/base.rb,
lib/ccp/kvs/tokyo/info.rb,
lib/ccp/kvs/kyoto/cabinet.rb,
lib/ccp/kvs/tokyo/cabinet.rb,
lib/ccp/kvs/kyoto/state_machine.rb,
lib/ccp/kvs/tokyo/state_machine.rb
Defined Under Namespace
Modules: Core, Kyoto, Tokyo
Classes: Hash, Kch, 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)
{}
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.load(path) ⇒ Object
13
14
15
16
17
18
19
|
# File 'lib/ccp/kvs.rb', line 13
def self.load(path)
array = path.to_s.split(".")
kvs = Ccp::Kvs[array.pop].new(path)
codec = Ccp::Serializers[array.pop]
kvs.codec!(codec)
return kvs
end
|
Instance Method Details
#<<(kvs) ⇒ Object
39
40
41
42
|
# File 'lib/ccp/kvs.rb', line 39
def <<(kvs)
kvs.must(Core)
self[kvs.ext] = kvs
end
|
#[](name) ⇒ Object
Also known as:
lookup
28
29
30
31
32
33
|
# File 'lib/ccp/kvs.rb', line 28
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
35
36
37
|
# File 'lib/ccp/kvs.rb', line 35
def []=(key, val)
DICTIONARY[key.to_s] = val
end
|
#each(&block) ⇒ Object
24
25
26
|
# File 'lib/ccp/kvs.rb', line 24
def each(&block)
DICTIONARY.each_value(&block)
end
|