Class: Ccp::Persistent::Base
- Inherits:
-
Object
- Object
- Ccp::Persistent::Base
- Defined in:
- lib/ccp/persistent/base.rb
Instance Attribute Summary collapse
-
#serializer ⇒ Object
readonly
Returns the value of attribute serializer.
-
#source ⇒ Object
readonly
Returns the value of attribute source.
Class Method Summary collapse
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, val) ⇒ Object
- #exist?(key) ⇒ Boolean
-
#initialize(source, serializer) ⇒ Base
constructor
A new instance of Base.
- #keys ⇒ Object
- #load(key) ⇒ Object
- #load!(key) ⇒ Object
- #read ⇒ Object
- #read! ⇒ Object
- #save(hash, keys = nil) ⇒ Object
- #truncate ⇒ Object
Constructor Details
#initialize(source, serializer) ⇒ Base
Returns a new instance of Base.
9 10 11 12 |
# File 'lib/ccp/persistent/base.rb', line 9 def initialize(source, serializer) @source = source @serializer = Ccp::Serializers.lookup(serializer) end |
Instance Attribute Details
#serializer ⇒ Object (readonly)
Returns the value of attribute serializer.
5 6 7 |
# File 'lib/ccp/persistent/base.rb', line 5 def serializer @serializer end |
#source ⇒ Object (readonly)
Returns the value of attribute source.
4 5 6 |
# File 'lib/ccp/persistent/base.rb', line 4 def source @source end |
Class Method Details
.ext ⇒ Object
14 15 16 |
# File 'lib/ccp/persistent/base.rb', line 14 def self.ext raise NotImplementedError, "subclass resposibility" end |
Instance Method Details
#[](key) ⇒ Object
36 37 38 |
# File 'lib/ccp/persistent/base.rb', line 36 def [](key) load!(key) end |
#[]=(key, val) ⇒ Object
40 41 42 |
# File 'lib/ccp/persistent/base.rb', line 40 def []=(key, val) raise NotImplementedError, "subclass resposibility" end |
#exist?(key) ⇒ Boolean
18 19 20 |
# File 'lib/ccp/persistent/base.rb', line 18 def exist?(key) raise NotImplementedError, "subclass resposibility" end |
#keys ⇒ Object
54 55 56 |
# File 'lib/ccp/persistent/base.rb', line 54 def keys raise NotImplementedError, "subclass resposibility" end |
#load(key) ⇒ Object
32 33 34 |
# File 'lib/ccp/persistent/base.rb', line 32 def load(key) raise NotImplementedError, "subclass resposibility" end |
#load!(key) ⇒ Object
28 29 30 |
# File 'lib/ccp/persistent/base.rb', line 28 def load!(key) raise NotImplementedError, "subclass resposibility" end |
#read ⇒ Object
44 45 46 47 48 |
# File 'lib/ccp/persistent/base.rb', line 44 def read read! rescue Ccp::Persistent::NotFound {} end |
#read! ⇒ Object
50 51 52 |
# File 'lib/ccp/persistent/base.rb', line 50 def read! keys.inject({}) {|h,k| h[k] = self[k]; h} end |
#save(hash, keys = nil) ⇒ Object
22 23 24 25 26 |
# File 'lib/ccp/persistent/base.rb', line 22 def save(hash, keys = nil) (keys || hash.keys).each do |key| self[key] = hash[key] end end |
#truncate ⇒ Object
58 59 60 |
# File 'lib/ccp/persistent/base.rb', line 58 def truncate raise NotImplementedError, "subclass resposibility" end |