Module: Ccp::Kvs::Core
- Included in:
- Hash, Kyoto::Base, Tokyo::Base
- Defined in:
- lib/ccp/kvs/core.rb
Class Method Summary collapse
Instance Method Summary collapse
- #[](k) ⇒ Object
- #[]=(k, v) ⇒ Object
- #clear ⇒ Object
- #close ⇒ Object
- #codec ⇒ Object
- #codec!(c) ⇒ Object
- #count ⇒ Object
- #decode(v) ⇒ Object
- #del(k) ⇒ Object
- #encode(v) ⇒ Object
- #exist?(k) ⇒ Boolean
- #ext ⇒ Object
- #get(k) ⇒ Object
- #key?(k) ⇒ Boolean
- #keys ⇒ Object
- #open ⇒ Object
- #out(k) ⇒ Object
- #put(k, v) ⇒ Object
-
#read ⇒ Object
bulk operation.
- #set(k, v) ⇒ Object
- #source ⇒ Object
- #touch ⇒ Object
- #write(h) ⇒ Object
Class Method Details
.included(klass) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/ccp/kvs/core.rb', line 28 def self.included(klass) klass.class_eval do def self.ext; name.split(/::/).last.to_s.downcase; end def self.open(*args); new.tap{|kvs| kvs.open(*args)}; end end end |
Instance Method Details
#[](k) ⇒ Object
17 |
# File 'lib/ccp/kvs/core.rb', line 17 def [](k) ; get(k) ; end |
#[]=(k, v) ⇒ Object
18 |
# File 'lib/ccp/kvs/core.rb', line 18 def []=(k,v) ; set(k,v) ; end |
#clear ⇒ Object
38 |
# File 'lib/ccp/kvs/core.rb', line 38 def clear ; keys.each{|k| del(k)} ; end |
#close ⇒ Object
12 |
# File 'lib/ccp/kvs/core.rb', line 12 def close ; end |
#codec ⇒ Object
22 |
# File 'lib/ccp/kvs/core.rb', line 22 def codec ; @codec ; end |
#codec!(c) ⇒ Object
23 |
# File 'lib/ccp/kvs/core.rb', line 23 def codec!(c); @codec = Ccp::Serializers[c] ; self ; end |
#count ⇒ Object
14 |
# File 'lib/ccp/kvs/core.rb', line 14 def count ; end |
#decode(v) ⇒ Object
25 |
# File 'lib/ccp/kvs/core.rb', line 25 def decode(v); (v && @codec) ? @codec.decode(v) : v ; end |
#del(k) ⇒ Object
6 |
# File 'lib/ccp/kvs/core.rb', line 6 def del(k) ; raise NotImplementedError, "subclass resposibility"; end |
#encode(v) ⇒ Object
24 |
# File 'lib/ccp/kvs/core.rb', line 24 def encode(v); @codec ? @codec.encode(v) : v ; end |
#exist?(k) ⇒ Boolean
8 |
# File 'lib/ccp/kvs/core.rb', line 8 def exist?(k); !! get(k) ; end |
#ext ⇒ Object
27 |
# File 'lib/ccp/kvs/core.rb', line 27 def ext; self.class.name.split(/::/).last.to_s.downcase; end |
#get(k) ⇒ Object
4 |
# File 'lib/ccp/kvs/core.rb', line 4 def get(k) ; raise NotImplementedError, "subclass resposibility"; end |
#key?(k) ⇒ Boolean
9 |
# File 'lib/ccp/kvs/core.rb', line 9 def key?(k) ; exist?(k) ; end |
#keys ⇒ Object
7 |
# File 'lib/ccp/kvs/core.rb', line 7 def keys ; raise NotImplementedError, "subclass resposibility"; end |
#open ⇒ Object
11 |
# File 'lib/ccp/kvs/core.rb', line 11 def open(*) ; end |
#out(k) ⇒ Object
20 |
# File 'lib/ccp/kvs/core.rb', line 20 def out(k) ; del(k) ; end |
#put(k, v) ⇒ Object
19 |
# File 'lib/ccp/kvs/core.rb', line 19 def put(k,v) ; set(k,v) ; end |
#read ⇒ Object
bulk operation
36 |
# File 'lib/ccp/kvs/core.rb', line 36 def read ; keys.inject({}){|h,k| h[k] = get(k); h } ; end |
#set(k, v) ⇒ Object
5 |
# File 'lib/ccp/kvs/core.rb', line 5 def set(k,v) ; raise NotImplementedError, "subclass resposibility"; end |
#source ⇒ Object
13 |
# File 'lib/ccp/kvs/core.rb', line 13 def source ; @source; end |
#touch ⇒ Object
15 |
# File 'lib/ccp/kvs/core.rb', line 15 def touch ; end |
#write(h) ⇒ Object
37 |
# File 'lib/ccp/kvs/core.rb', line 37 def write(h) ; h.each_pair{|k,v| set(k,v)} ; end |