Module: Zebris::Document

Defined in:
lib/zebris/document.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



3
4
5
# File 'lib/zebris/document.rb', line 3

def self.included(klass)
  klass.extend(ClassMethods)
end

Instance Method Details

#keyObject



19
20
21
# File 'lib/zebris/document.rb', line 19

def key
  @key ||= self.class.keygen.call
end

#saveObject



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/zebris/document.rb', line 7

def save
  raise "#{self.class} does not define a key generator" unless self.class.keygen.kind_of?(Proc)

  data = self.class.serialize(self)

  result = Zebris.redis.set self.key, Zebris.serializer.serialize(data)

  raise "Could not save #{self.class}" unless result == "OK"

  self.key
end