class REES46::Recommender

Constants

RECOMMENDER_TYPES

Public Class Methods

normalize(params, recommender_type) click to toggle source
# File lib/rees46/recommender.rb, line 24
def normalize(params, recommender_type)
  result = params.dup
  result = result.merge(recommender_type: recommender_type)

  [:locations, :categories].each do |key|
    if result[key].present? && result[key].any?
      result[key] = result[key].join(',')
    end
  end

  if params[:cart].present?
    params[:cart].each_with_index do |cart_id, i|
      result["cart[#{i}]"] = cart_id
    end

    result.delete(:cart)
  end

  result
end
recommend(recommender_type, params) click to toggle source
# File lib/rees46/recommender.rb, line 12
def recommend(recommender_type, params)
  raise REES46::NotConfiguredError.new('REES46 should be configured first') unless REES46.configured?
  
  result = REES46::Requester.recommend(normalize(params, recommender_type))

  if result.code == 200
    return result.to_a
  else
    return []
  end
end