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