Module: ROC::Store::ObjectInitializers

Included in:
RedisStore, TransientStore
Defined in:
lib/roc/store/object_initializers.rb

Instance Method Summary collapse

Instance Method Details

#class_for_key(key) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/roc/store/object_initializers.rb', line 17

def class_for_key(key)
  case t = self.call(:type, key)
  when 'string'
    ROC::String
  when 'list'
    ROC::List
  when 'set'
    ROC::Set
  when 'zset'
    ROC::SortedSet
  when 'hash'
    ROC::Hash
  when 'none'
    nil
  else
    raise "unknown type: #{t}"
  end
end

#find(key) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/roc/store/object_initializers.rb', line 9

def find(key)
  if klass = class_for_key(key)
    init(klass, key)
  else
    nil
  end
end

#init(klass, key, *seed_data_and_options) ⇒ Object



5
6
7
# File 'lib/roc/store/object_initializers.rb', line 5

def init(klass, key, *seed_data_and_options)
  klass.new(key, self, *seed_data_and_options)
end

#init_float(key, *seed_data_and_options) ⇒ Object



44
45
46
# File 'lib/roc/store/object_initializers.rb', line 44

def init_float(key, *seed_data_and_options)
  init(ROC::Float, key, *seed_data_and_options)
end

#init_hash(key, *seed_data_and_options) ⇒ Object



68
69
70
# File 'lib/roc/store/object_initializers.rb', line 68

def init_hash(key, *seed_data_and_options)
  init(ROC::Hash, key, *seed_data_and_options)
end

#init_integer(key, *seed_data_and_options) ⇒ Object



40
41
42
# File 'lib/roc/store/object_initializers.rb', line 40

def init_integer(key, *seed_data_and_options)
  init(ROC::Integer, key, *seed_data_and_options)
end

#init_list(key, *seed_data_and_options) ⇒ Object



56
57
58
# File 'lib/roc/store/object_initializers.rb', line 56

def init_list(key, *seed_data_and_options)
  init(ROC::List, key, *seed_data_and_options)
end

#init_lock(key, *seed_data_and_options) ⇒ Object



52
53
54
# File 'lib/roc/store/object_initializers.rb', line 52

def init_lock(key, *seed_data_and_options)
  init(ROC::Lock, key, *seed_data_and_options)
end

#init_set(key, *seed_data_and_options) ⇒ Object



60
61
62
# File 'lib/roc/store/object_initializers.rb', line 60

def init_set(key, *seed_data_and_options)
  init(ROC::Set, key, *seed_data_and_options)
end

#init_sorted_set(key, *seed_data_and_options) ⇒ Object



64
65
66
# File 'lib/roc/store/object_initializers.rb', line 64

def init_sorted_set(key, *seed_data_and_options)
  init(ROC::SortedSet, key, *seed_data_and_options)
end

#init_string(key, *seed_data_and_options) ⇒ Object



36
37
38
# File 'lib/roc/store/object_initializers.rb', line 36

def init_string(key, *seed_data_and_options)
  init(ROC::String, key, *seed_data_and_options)
end

#init_time(key, *seed_data_and_options) ⇒ Object



48
49
50
# File 'lib/roc/store/object_initializers.rb', line 48

def init_time(key, *seed_data_and_options)
  init(ROC::Time, key, *seed_data_and_options)
end