amazon_mws_products 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
data/README.md
CHANGED
@@ -4,8 +4,6 @@ A client for the AmazonMWS Products API as defined by:
|
|
4
4
|
|
5
5
|
https://images-na.ssl-images-amazon.com/images/G/01/mwsportal/doc/en_US/products/MWSProductsApiReference._V388666043_.pdf
|
6
6
|
|
7
|
-
TODO: Write a gem description
|
8
|
-
|
9
7
|
## Installation
|
10
8
|
|
11
9
|
Add this line to your application's Gemfile:
|
@@ -22,7 +20,19 @@ Or install it yourself as:
|
|
22
20
|
|
23
21
|
## Usage
|
24
22
|
|
25
|
-
|
23
|
+
```ruby
|
24
|
+
require 'amazon_mws_products'
|
25
|
+
require 'ostruct'
|
26
|
+
|
27
|
+
account = OpenStruct.new(seller_id: "your mws seller id",
|
28
|
+
aws_access_key_id: "your mws access key",
|
29
|
+
marketplace_id: "the marketplace id",
|
30
|
+
secret_access_key: "your secret access key")
|
31
|
+
|
32
|
+
client = AmazonMwsProducts::ListMatchingProducts.new(account, "harry potter dvd")
|
33
|
+
response = client.execute # response body will be a Nokogiri::XML::Document
|
34
|
+
puts response.body.to_xml
|
35
|
+
```
|
26
36
|
|
27
37
|
## Contributing
|
28
38
|
|
data/TODO.md
ADDED
@@ -1,14 +1,17 @@
|
|
1
1
|
module AmazonMwsProducts
|
2
2
|
class ListMatchingProducts
|
3
|
-
attr_reader :account, :query
|
3
|
+
attr_reader :account, :query, :query_context_id
|
4
4
|
|
5
|
-
def initialize(account, query)
|
5
|
+
def initialize(account, query, query_context_id = nil)
|
6
6
|
@account = account
|
7
7
|
@query = query
|
8
|
+
@query_context_id = query_context_id
|
8
9
|
end
|
9
10
|
|
10
11
|
def execute
|
11
|
-
|
12
|
+
params = { "Query" => URI.encode(query) }
|
13
|
+
params["QueryContextId"] = query_context_id if query_context_id
|
14
|
+
client.get(params)
|
12
15
|
end
|
13
16
|
|
14
17
|
def client
|
@@ -38,6 +38,19 @@ module AmazonMwsProducts
|
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
+
context "query context id included in request" do
|
42
|
+
subject { ListMatchingProducts.new(account, query, "Toys") }
|
43
|
+
it "adds the proper query parameter" do
|
44
|
+
subject.execute
|
45
|
+
|
46
|
+
a_request(:get, "https://mws.amazonservices.com/Products/2011-10-01").
|
47
|
+
with(:query => hash_including(
|
48
|
+
"Query" => "harry%20potter%20dvd",
|
49
|
+
"QueryContextId" => "Toys"
|
50
|
+
)).should have_been_made.once
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
41
54
|
it "signs the request" do
|
42
55
|
Timecop.freeze(DateTime.new(2012, 3, 14, 15, 9, 26, Rational(-7,24))) do
|
43
56
|
subject.execute
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: amazon_mws_products
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Donald Plummer
|
@@ -172,6 +172,7 @@ files:
|
|
172
172
|
- LICENSE.txt
|
173
173
|
- README.md
|
174
174
|
- Rakefile
|
175
|
+
- TODO.md
|
175
176
|
- amazon_mws_products.gemspec
|
176
177
|
- examples/list_matching_products.rb
|
177
178
|
- lib/amazon_mws_products.rb
|