class Ccp::Persistent::Base

Attributes

serializer[R]
source[R]

Public Class Methods

ext() click to toggle source
# File lib/ccp/persistent/base.rb, line 13
def self.ext
  raise NotImplementedError, "subclass resposibility"
end
new(source, serializer) click to toggle source
# File lib/ccp/persistent/base.rb, line 8
def initialize(source, serializer)
  @source     = source
  @serializer = Ccp::Serializers.lookup(serializer)
end

Public Instance Methods

[](key) click to toggle source
# File lib/ccp/persistent/base.rb, line 35
def [](key)
  load!(key)
end
[]=(key, val) click to toggle source
# File lib/ccp/persistent/base.rb, line 39
def []=(key, val)
  raise NotImplementedError, "subclass resposibility"
end
exist?(key) click to toggle source
# File lib/ccp/persistent/base.rb, line 17
def exist?(key)
  raise NotImplementedError, "subclass resposibility"
end
keys() click to toggle source
# File lib/ccp/persistent/base.rb, line 53
def keys
  raise NotImplementedError, "subclass resposibility"
end
load(key) click to toggle source
# File lib/ccp/persistent/base.rb, line 31
def load(key)
  raise NotImplementedError, "subclass resposibility"
end
load!(key) click to toggle source
# File lib/ccp/persistent/base.rb, line 27
def load!(key)
  raise NotImplementedError, "subclass resposibility"
end
read() click to toggle source
# File lib/ccp/persistent/base.rb, line 43
def read
  read!
rescue Ccp::Persistent::NotFound
  {}
end
read!() click to toggle source
# File lib/ccp/persistent/base.rb, line 49
def read!
  keys.inject({}) {|h,k| h[k] = self[k]; h}
end
save(hash, keys = nil) click to toggle source
# File lib/ccp/persistent/base.rb, line 21
def save(hash, keys = nil)
  (keys || hash.keys).each do |key|
    self[key] = hash[key]
  end
end
truncate() click to toggle source
# File lib/ccp/persistent/base.rb, line 57
def truncate
  raise NotImplementedError, "subclass resposibility"
end