class RelationalRedisMapper::Redis
Attributes
redis[R]
serializer[R]
Public Class Methods
get(opt={})
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 8 def get(opt={}) @singleton ||= new(opt) end
Also aliased as: set
new(opt)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 83 def initialize(opt) @redis = opt[:connection] @serializer = opt[:serializer] || Marshal end
Public Instance Methods
add_query_index(key,val)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 15 def add_query_index(key,val) redis.lpush key, val end
add_uniq_index(key,val)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 43 def add_uniq_index(key,val) redis.set key, val end
all_objects(key)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 35 def all_objects(key) redis.hgetall(key).values.map { |str| deserialize(str) } end
delete_object(*args)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 60 def delete_object(*args) redis.hdel *args end
deserialize(stringified)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 77 def deserialize(stringified) serializer.restore stringified end
find_id(key)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 19 def find_id(key) redis.lindex key, 0 end
find_ids(key)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 23 def find_ids(key) redis.lrange(key, 0, -1).flatten end
find_object(class_key, object_key)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 27 def find_object(class_key, object_key) deserialize redis.hget(class_key, object_key) rescue nil end
find_objects(key, ids)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 31 def find_objects(key, ids) redis.hmget(key, ids).map { |str| deserialize(str) } rescue [] end
get_uniq_index(key)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 51 def get_uniq_index(key) redis.get key end
method_missing(method, *args, &block)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 69 def method_missing(method, *args, &block) redis.send method, *args, &block end
remove_indices()
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 64 def remove_indices query_keys.each { |attr| redis.lrem search_key(attr, send(attr)),1, uuid } uniqueness_attr.each { |attr| redis.del uniq_key(attr, send(attr)) } end
rm_search_index(key,val)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 39 def rm_search_index(key,val) redis.lrem key,1,val end
rm_uniq_index(key)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 47 def rm_uniq_index(key) redis.del key end
save_object(*args)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 55 def save_object(*args) object = args.pop redis.hset *args, serialize(object) end
serialize(object)
click to toggle source
# File lib/relational_redis_mapper/redis.rb, line 73 def serialize(object) serializer.dump(object) end