Class: WineDotComApiRequest
- Inherits:
-
Object
- Object
- WineDotComApiRequest
- Defined in:
- lib/wine_dot_com_api_request.rb,
lib/wine_dot_com_api_request/configuration.rb
Constant Summary collapse
- @@api_key =
'3scale-0cef67842d4f32bc31230883e1f4f69c'
- @@base_url =
'http://services.wine.com/api/beta/service.svc'
Instance Attribute Summary collapse
-
#affiliate_id ⇒ Object
Affiliate ID for revenue sharing.
-
#api_key ⇒ Object
API key from Wine.com.
-
#base_url ⇒ Object
Base URL of API.
-
#filter ⇒ Object
Search filter.
-
#format ⇒ Object
API result format.
-
#instock ⇒ Object
In stock.
-
#offset ⇒ Object
Search offset to start at.
-
#parameters ⇒ Object
writeonly
API parameters.
-
#resource ⇒ Object
API requested resource.
-
#search ⇒ Object
Search terms.
-
#size ⇒ Object
Number of records to return.
-
#sort ⇒ Object
Sort key.
-
#state ⇒ Object
Ship to state.
-
#version ⇒ Object
API version number.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ WineDotComApiRequest
constructor
Inialize the required parameters, and setup the request defaults.
-
#query(options = {}) ⇒ Object
Execute a search.
-
#url ⇒ Object
Return URL that request will be made to.
Constructor Details
#initialize(options = {}) ⇒ WineDotComApiRequest
Inialize the required parameters, and setup the request defaults.
77 78 79 80 81 |
# File 'lib/wine_dot_com_api_request.rb', line 77 def initialize( = {}) .each_pair do |key, value| self.send("#{key}=", value) end end |
Instance Attribute Details
#affiliate_id ⇒ Object
Affiliate ID for revenue sharing.
53 54 55 |
# File 'lib/wine_dot_com_api_request.rb', line 53 def affiliate_id @affiliate_id end |
#api_key ⇒ Object
API key from Wine.com.
35 36 37 |
# File 'lib/wine_dot_com_api_request.rb', line 35 def api_key @api_key end |
#base_url ⇒ Object
Base URL of API.
50 51 52 |
# File 'lib/wine_dot_com_api_request.rb', line 50 def base_url @base_url end |
#filter ⇒ Object
Search filter. Ex. filter=categories(7155+124)+rating(85|100).
65 66 67 |
# File 'lib/wine_dot_com_api_request.rb', line 65 def filter @filter end |
#format ⇒ Object
API result format. Available API formats: xml, json.
41 42 43 |
# File 'lib/wine_dot_com_api_request.rb', line 41 def format @format end |
#instock ⇒ Object
In stock. Boolean search value.
74 75 76 |
# File 'lib/wine_dot_com_api_request.rb', line 74 def instock @instock end |
#offset ⇒ Object
Search offset to start at.
56 57 58 |
# File 'lib/wine_dot_com_api_request.rb', line 56 def offset @offset end |
#parameters=(value) ⇒ Object
API parameters.
47 48 49 |
# File 'lib/wine_dot_com_api_request.rb', line 47 def parameters=(value) @parameters = value end |
#resource ⇒ Object
API requested resource. Available API resources: catalog, reference, categorymap.
44 45 46 |
# File 'lib/wine_dot_com_api_request.rb', line 44 def resource @resource end |
#search ⇒ Object
Search terms.
62 63 64 |
# File 'lib/wine_dot_com_api_request.rb', line 62 def search @search end |
#size ⇒ Object
Number of records to return.
59 60 61 |
# File 'lib/wine_dot_com_api_request.rb', line 59 def size @size end |
#sort ⇒ Object
Sort key. Ex. sort=rating|ascending.
71 72 73 |
# File 'lib/wine_dot_com_api_request.rb', line 71 def sort @sort end |
#state ⇒ Object
Ship to state. Two letter abbrev. Ex. MA.
68 69 70 |
# File 'lib/wine_dot_com_api_request.rb', line 68 def state @state end |
#version ⇒ Object
API version number. Available API versions: v1.0, v2.3.
38 39 40 |
# File 'lib/wine_dot_com_api_request.rb', line 38 def version @version end |
Instance Method Details
#query(options = {}) ⇒ Object
Execute a search. Returns either raw json or xml.
89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/wine_dot_com_api_request.rb', line 89 def query( = {}) .each_pair do |key, value| self.send("#{key}=", value) end raise 'No API base URL provided.' unless @@base_url raise 'No API key provided.' unless @@api_key raise 'No resource specified.' unless @resource raise 'No format specified.' unless @format return do_get end |
#url ⇒ Object
Return URL that request will be made to. Mainly for debugging purposes.
84 85 86 |
# File 'lib/wine_dot_com_api_request.rb', line 84 def url api_url end |