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

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

#clearObject



38
# File 'lib/ccp/kvs/core.rb', line 38

def clear    ; keys.each{|k| del(k)}                              ; end

#closeObject



12
# File 'lib/ccp/kvs/core.rb', line 12

def close    ; end

#codecObject



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

#countObject



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

Raises:

  • (NotImplementedError)


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

#extObject



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

def ext; self.class.name.split(/::/).last.to_s.downcase; end

#get(k) ⇒ Object

Raises:

  • (NotImplementedError)


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

#keysObject

Raises:

  • (NotImplementedError)


7
# File 'lib/ccp/kvs/core.rb', line 7

def keys     ; raise NotImplementedError, "subclass resposibility"; end

#openObject



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

#readObject

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

Raises:

  • (NotImplementedError)


5
# File 'lib/ccp/kvs/core.rb', line 5

def set(k,v) ; raise NotImplementedError, "subclass resposibility"; end

#sourceObject



13
# File 'lib/ccp/kvs/core.rb', line 13

def source   ; @source; end

#touchObject



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