module RelationalRedisMapper::ClassMethods
Public Instance Methods
all()
click to toggle source
# File lib/relational_redis_mapper.rb, line 132 def all redis.all_objects(class_key) end
class_key()
click to toggle source
# File lib/relational_redis_mapper.rb, line 136 def class_key key_gen.class_key end
find(id)
click to toggle source
# File lib/relational_redis_mapper.rb, line 116 def find(id) redis.find_object(class_key, id) end
find_all_by_ids(ids)
click to toggle source
# File lib/relational_redis_mapper.rb, line 120 def find_all_by_ids(ids) redis.find_objects(class_key, ids) end
get_all_ids(attr, val)
click to toggle source
# File lib/relational_redis_mapper.rb, line 128 def get_all_ids(attr, val) redis.find_ids key_gen.query_key(attr, val) end
has_many_ordered(opt)
click to toggle source
# File lib/relational_redis_mapper.rb, line 100 def has_many_ordered(opt) opt.each do |relation_collection, order_by| define_method relation_collection do instance_variable_set( "@#{relation_collection}", instance_variable_get("@#{relation_collection}") || Relation.new(self, relation_collection, order_by) ) end end end
Also aliased as: has_many
query_attr(*keys)
click to toggle source
# File lib/relational_redis_mapper.rb, line 89 def query_attr(*keys) @query_keys = keys keys.each do |key| define_singleton_method "find_by_#{key}" do |query| find redis.find_id(key_gen.query_key(key, query)) end end end
validate_uniqueness_of(*args)
click to toggle source
# File lib/relational_redis_mapper.rb, line 85 def validate_uniqueness_of(*args) @uniqueness_attr = args end
where(attr, attr_val)
click to toggle source
# File lib/relational_redis_mapper.rb, line 124 def where(attr, attr_val) find_all_by_ids get_all_ids(attr, attr_val) end
Private Instance Methods
key_gen()
click to toggle source
# File lib/relational_redis_mapper.rb, line 146 def key_gen @key_gen ||= KeyGen.new(self) end
redis()
click to toggle source
# File lib/relational_redis_mapper.rb, line 142 def redis Redis.get end