module Recommendable::Helpers::RedisKeyMapper
Public Class Methods
disliked_by_set_for(klass, id)
click to toggle source
# File lib/recommendable/helpers/redis_key_mapper.rb, line 19 def disliked_by_set_for(klass, id) [redis_namespace, ratable_namespace(klass), id, 'disliked_by'].compact.join(':') end
liked_by_set_for(klass, id)
click to toggle source
# File lib/recommendable/helpers/redis_key_mapper.rb, line 15 def liked_by_set_for(klass, id) [redis_namespace, ratable_namespace(klass), id, 'liked_by'].compact.join(':') end
score_set_for(klass)
click to toggle source
# File lib/recommendable/helpers/redis_key_mapper.rb, line 23 def score_set_for(klass) [redis_namespace, ratable_namespace(klass), 'scores'].join(':') end
similarity_set_for(id)
click to toggle source
# File lib/recommendable/helpers/redis_key_mapper.rb, line 11 def similarity_set_for(id) [redis_namespace, user_namespace, id, 'similarities'].compact.join(':') end
temp_set_for(klass, id)
click to toggle source
# File lib/recommendable/helpers/redis_key_mapper.rb, line 27 def temp_set_for(klass, id) [redis_namespace, ratable_namespace(klass), id, 'temp'].compact.join(':') end
Private Class Methods
ratable_namespace(klass)
click to toggle source
If the class or a superclass has been configured as ratable with recommends :class_name
then that ratable class is used to produce the namespace. Fall back on just using the given class.
# File lib/recommendable/helpers/redis_key_mapper.rb, line 49 def ratable_namespace(klass) klass = klass.ratable_class if klass.respond_to?(:ratable_class) klass.to_s.tableize end
redis_namespace()
click to toggle source
# File lib/recommendable/helpers/redis_key_mapper.rb, line 33 def redis_namespace name_space = Recommendable.config.redis_namespace case when name_space.kind_of?(Proc) return name_space.call else return name_space end end
user_namespace()
click to toggle source
# File lib/recommendable/helpers/redis_key_mapper.rb, line 43 def user_namespace Recommendable.config.user_class.to_s.tableize end