Class: BestbuyApi::Request

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/bestbuy_api/request.rb

Instance Method Summary collapse

Constructor Details

#initialize(api_key, path) ⇒ Request

Returns a new instance of Request.

Raises:



9
10
11
12
13
14
# File 'lib/bestbuy_api/request.rb', line 9

def initialize(api_key, path)
  raise MissingApiKeyError, 'API Key is not defined' if api_key.empty?

  @path = path
  @options = { apiKey: api_key, format: 'json' }
end

Instance Method Details

#find(params) ⇒ Object

Raises:



16
17
18
19
20
21
22
# File 'lib/bestbuy_api/request.rb', line 16

def find(params)
  result = self.class.get("/#{@path}#{params[:slug]}", query: @options.merge(params[:query]))
  code = result.code
  raise RequestError, "#{code} Request Error: #{result.request.last_uri}" if code != 200

  Response.new(result, @path)
end