class Jober::SharedObject
Public Class Methods
[](name)
click to toggle source
# File lib/jober/shared_object.rb, line 29 def [](name) get(name) end
[]=(name, obj)
click to toggle source
# File lib/jober/shared_object.rb, line 33 def []=(name, obj) set name, obj end
clear()
click to toggle source
# File lib/jober/shared_object.rb, line 49 def clear Jober.catch do Jober.redis.keys(key('*')).each { |k| Jober.redis.del(k) } end end
del(name)
click to toggle source
# File lib/jober/shared_object.rb, line 43 def del(name) Jober.catch do Jober.redis.del key(name) end end
get(name, conn = Jober.redis)
click to toggle source
# File lib/jober/shared_object.rb, line 9 def get(name, conn = Jober.redis) Jober.catch do r = conn.get(key(name)) Marshal.load(r) if r end end
get_by_pure_key(name, conn = Jober.redis)
click to toggle source
# File lib/jober/shared_object.rb, line 16 def get_by_pure_key(name, conn = Jober.redis) Jober.catch do r = conn.get(name) Marshal.load(r) if r end end
inc(name, by = 1)
click to toggle source
# File lib/jober/shared_object.rb, line 37 def inc(name, by = 1) Jober.catch do Jober.redis.incrby(key(name), by) end end
key(name)
click to toggle source
# File lib/jober/shared_object.rb, line 67 def key(name) k = if name.start_with?('shared:') name else "shared:#{name}" end Jober.key(k) end
keys(mask)
click to toggle source
# File lib/jober/shared_object.rb, line 55 def keys(mask) Jober.catch do Jober.redis.keys(key(mask)) end end
raw_get(name)
click to toggle source
# File lib/jober/shared_object.rb, line 23 def raw_get(name) Jober.catch do Jober.redis.get(key(name)) end end
set(name, obj, conn = Jober.redis)
click to toggle source
# File lib/jober/shared_object.rb, line 3 def set(name, obj, conn = Jober.redis) Jober.catch do conn.set(key(name), Marshal.dump(obj)) end end
values(mask)
click to toggle source
# File lib/jober/shared_object.rb, line 61 def values(mask) Jober.catch do Jober.redis.keys(key(mask)).map { |key| get_by_pure_key(key) } end end