class FourTell
Constants
- VERSION
Public Class Methods
new(api_user, api_password, client_alias)
click to toggle source
@param [String] api_user @param [String] api_password @param [String] client_alias
# File lib/four_tell.rb, line 12 def initialize(api_user, api_password, client_alias) @api_user = api_user @api_password = api_password @client_alias = client_alias end
Public Instance Methods
build_request()
click to toggle source
@return [FourTell::Request]
# File lib/four_tell.rb, line 36 def build_request FourTell::Request.new(@client_alias) end
recommendations(request, timeout: 3)
click to toggle source
Retrieve a list of recommended product IDs for a given request.
@param [FourTell::Request] request @param [Fixnum] timeout Seconds to wait before timing out the request @raise [Timeout::Error, Errno::ECONNREFUSED, Errno::ECONNRESET] @return [Array]
# File lib/four_tell.rb, line 24 def recommendations(request, timeout: 3) url = URI(request.url) response = Timeout::timeout(timeout) { http = Net::HTTP::Persistent.new 'fourtell' req = Net::HTTP::Get.new(url.request_uri) req.basic_auth(@api_user, @api_password) http.request(url, req) } (response && response.code == '200') ? JSON.parse(response.body) : [] end