module Predictable::Item::ClassMethods
Attributes
pio_engines[W]
recommender[W]
Public Instance Methods
pio_engines()
click to toggle source
# File lib/predictable/item.rb, line 58 def pio_engines @pio_engines || Predictable.engines end
pio_itype()
click to toggle source
# File lib/predictable/item.rb, line 66 def pio_itype to_s.underscore end
recommended_for(user, n, opts={})
click to toggle source
# File lib/predictable/item.rb, line 70 def recommended_for(user, n, opts={}) options = { "itypes" => [pio_itype] }.merge(opts) item_ids = recommender.recommended_items(user, n, options) item_ids = item_ids.map { |id| id.gsub! /[^\d]/, '' } where(:id => item_ids) end
recommender()
click to toggle source
# File lib/predictable/item.rb, line 62 def recommender @recommender ||= Recommender.new(Predictable.client, pio_engines) end
similar_to(item, n, opts={})
click to toggle source
# File lib/predictable/item.rb, line 78 def similar_to(item, n, opts={}) options = opts.stringify_keys options["pio_itypes"] ||= [pio_itype] limit = options.delete("limit") || 100 item_ids = recommender.similar_items(item, n, options) item_ids = item_ids.map { |id| id.gsub! /[^\d]/, '' } where(:id => item_ids) end