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
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