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