class Sterling::API::Product
Attributes
currency[R]
distance[R]
inventory[R]
lastUpdated[R]
location[R]
price[R]
product[R]
Public Class Methods
new(object)
click to toggle source
# File lib/sterling/api/product.rb, line 28 def initialize(object) object.each do |k,v| self.class.class_eval { attr_reader k.to_sym } instance_variable_set "@#{k}", object[k] end end
search(client, params)
click to toggle source
# File lib/sterling/api/product.rb, line 6 def self.search(client, params) return [] unless params[:keywords] && params[:user_location] && params[:requestor_id] response = client.conn.get do |req| req.url 'products' req.params['apikey'] = client.config.api_key req.params['userlocation'] = params[:user_location] req.params['requestorid'] = params[:requestor_id] req.params['keywords'] = params[:keywords] end parsed = JSON.parse(response.body) if !parsed['RetailigenceSearchResult'].nil? && parsed['RetailigenceSearchResult']['results'] && parsed['RetailigenceSearchResult']['results'].size > 0 products = parsed['RetailigenceSearchResult']['results'].map do |product| Product.new(product['SearchResult']) end else [] end end