Module: Ccp::Kvs::Core

Included in:
Hash, Tokyo::Base
Defined in:
lib/ccp/kvs/core.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



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

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



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

def [](k)    ; get(k)   ; end

#[]=(k, v) ⇒ Object



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

def []=(k,v) ; set(k,v) ; end

#closeObject



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

def close    ; end

#codecObject



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

def codec    ; @codec                               ; end

#codec!(c) ⇒ Object



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

def codec!(c); @codec = Ccp::Serializers[c] ; self  ; end

#countObject



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

def count    ; end

#decode(v) ⇒ Object



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

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



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

def encode(v); @codec ? @codec.encode(v)        : v ; end

#exist?(k) ⇒ Boolean

Returns:

  • (Boolean)


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

def exist?(k); !! get(k)                                          ; end

#extObject



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

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

Returns:

  • (Boolean)


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

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



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

def open(*)  ; end

#out(k) ⇒ Object



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

def out(k)   ; del(k)   ; end

#put(k, v) ⇒ Object



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

def put(k,v) ; set(k,v) ; end

#read!Object



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

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



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

def source   ; @source; end

#touchObject



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

def touch    ; end