sucker 1.5.0.1 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +11 -12
- data/lib/sucker.rb +12 -9
- data/lib/sucker/parameters.rb +5 -3
- data/lib/sucker/request.rb +27 -27
- data/lib/sucker/version.rb +1 -1
- data/spec/sucker/request_spec.rb +10 -15
- data/spec/sucker/response_spec.rb +2 -2
- data/spec/support/amazon_credentials.rb +6 -2
- metadata +62 -71
- data/lib/sucker.rbc +0 -265
- data/lib/sucker/hash.rbc +0 -914
- data/lib/sucker/parameters.rbc +0 -843
- data/lib/sucker/request.rbc +0 -2315
- data/lib/sucker/response.rbc +0 -1229
- data/lib/sucker/version.rbc +0 -130
- data/spec/fixtures/cassette_library/cartcreate/e3e2f9b71afba67619a95c7178178595.yml +0 -26
- data/spec/fixtures/cassette_library/itemlookup/4908294851a4df13269707e9f6507f91.yml +0 -26
- data/spec/fixtures/cassette_library/itemlookup/5670727fa0cb9f30464e41aa1346c91c.yml +0 -26
- data/spec/fixtures/cassette_library/itemlookup/6e6b1dc74378e2e1118713e254191fc0.yml +0 -26
- data/spec/fixtures/cassette_library/itemlookup/76f548183c2804a74d0ed7e0bfbd6d4a.yml +0 -26
- data/spec/fixtures/cassette_library/itemlookup/8286b763b726d3dc1fc992023e639b9b.yml +0 -151
- data/spec/fixtures/cassette_library/itemlookup/9d82768fe80b09c4a3697c608e5edebe.yml +0 -26
- data/spec/fixtures/cassette_library/itemlookup/d3d6ea869d31173526f48907bff752a3.yml +0 -26
- data/spec/fixtures/cassette_library/itemlookup/d8ad346710c3b479febcf58e67fea7ef.yml +0 -26
- data/spec/fixtures/cassette_library/itemsearch/295b9eadfb69d55e1c0acb06220e0b6e.yml +0 -26
- data/spec/fixtures/cassette_library/itemsearch/4c1e50d070821f4eb9fe3961aba105ee.yml +0 -26
- data/spec/fixtures/cassette_library/itemsearch/5a15430433ab94c70466eb61c919a028.yml +0 -26
- data/spec/fixtures/cassette_library/itemsearch/8fd40b929a9ed46e2b38ac905c8ab53a.yml +0 -26
- data/spec/fixtures/cassette_library/sellerlistingsearch/cb25caadce96ac3de70b69b76431d730.yml +0 -26
- data/spec/fixtures/cassette_library/sellerlistingsearch/e1261838e1754870ffd309dd78eb7374.yml +0 -26
- data/spec/spec_helper.rbc +0 -230
- data/spec/sucker/hash_spec.rbc +0 -861
- data/spec/sucker/parameters_spec.rbc +0 -1475
- data/spec/sucker/request_spec.rbc +0 -2754
- data/spec/sucker/response_spec.rbc +0 -3627
- data/spec/sucker_spec.rbc +0 -287
- data/spec/support/amazon.yml +0 -3
- data/spec/support/amazon.yml.example +0 -3
- data/spec/support/amazon_credentials.rbc +0 -154
- data/spec/support/asins.rbc +0 -335
- data/spec/support/vcr.rbc +0 -356
data/README.md
CHANGED
@@ -5,18 +5,20 @@ Sucker is a Nokogiri-based Ruby wrapper to the [Amazon Product Advertising API](
|
|
5
5
|
|
6
6
|
![Hoover](https://github.com/papercavalier/sucker/raw/master/hoover.jpg)
|
7
7
|
|
8
|
+
Caption: Workers queuing to download data from Amazon.
|
9
|
+
|
8
10
|
Usage
|
9
11
|
-----
|
10
12
|
|
11
13
|
Read the [Amazon API](http://aws.amazon.com/archives/Product%20Advertising%20API).
|
12
|
-
|
14
|
+
Check out [these examples](http://relishapp.com/papercavalier/sucker) if in a hurry.
|
13
15
|
|
14
16
|
Set up.
|
15
17
|
|
16
18
|
request = Sucker.new(
|
17
|
-
:locale
|
18
|
-
:key
|
19
|
-
:secret
|
19
|
+
:locale => :us,
|
20
|
+
:key => amazon_key,
|
21
|
+
:secret => amazon_secret)
|
20
22
|
|
21
23
|
Build a request.
|
22
24
|
|
@@ -34,7 +36,7 @@ Fulfill a business value.
|
|
34
36
|
|
35
37
|
if response.valid?
|
36
38
|
response.each('Item') do |item|
|
37
|
-
consume
|
39
|
+
consume(item)
|
38
40
|
end
|
39
41
|
end
|
40
42
|
|
@@ -57,18 +59,15 @@ To dig further into the response object:
|
|
57
59
|
response.to_hash,
|
58
60
|
response.xml
|
59
61
|
|
60
|
-
To use multiple local IPs on your server, configure the request
|
62
|
+
To use multiple local IPs on your server, configure the request adapter:
|
61
63
|
|
62
64
|
adapter = request.adapter
|
63
65
|
adapter.socket_local.host = '10.0.0.2'
|
64
66
|
|
65
|
-
Browse the public interface of Sucker
|
66
|
-
[here](http://rdoc.info/github/papercavalier/sucker/master/frames). To see more
|
67
|
-
advanced usage examples such as twenty-item batch requests and remote cart
|
68
|
-
manipulation, read [here](http://relishapp.com/papercavalier/sucker).
|
67
|
+
[Browse the public interface of Sucker.](http://rdoc.info/github/papercavalier/sucker/master/frames)
|
69
68
|
|
70
|
-
Stubbing
|
71
|
-
|
69
|
+
Stubbing Tests
|
70
|
+
--------------
|
72
71
|
|
73
72
|
Try [VCR](http://github.com/myronmarston/vcr).
|
74
73
|
|
data/lib/sucker.rb
CHANGED
@@ -6,14 +6,17 @@ require 'sucker/response'
|
|
6
6
|
# Sucker is a Ruby wrapper to the Amazon Product Advertising API.
|
7
7
|
module Sucker
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
9
|
+
class << self
|
10
|
+
|
11
|
+
# Initializes a request object.
|
12
|
+
#
|
13
|
+
# request = Sucker.new(
|
14
|
+
# :locale => :us,
|
15
|
+
# :key => api_key,
|
16
|
+
# :secret => api_secret)
|
17
|
+
#
|
18
|
+
def new(args={})
|
19
|
+
Request.new(args)
|
20
|
+
end
|
18
21
|
end
|
19
22
|
end
|
data/lib/sucker/parameters.rb
CHANGED
@@ -3,10 +3,10 @@ module Sucker
|
|
3
3
|
CURRENT_API_VERSION = '2010-11-01'
|
4
4
|
|
5
5
|
def initialize
|
6
|
-
|
6
|
+
populate
|
7
7
|
end
|
8
8
|
|
9
|
-
def
|
9
|
+
def populate
|
10
10
|
self.store 'Service', 'AWSECommerceService'
|
11
11
|
self.store 'Version', CURRENT_API_VERSION
|
12
12
|
self.store 'Timestamp', timestamp
|
@@ -17,7 +17,9 @@ module Sucker
|
|
17
17
|
inject({}) do |hash, kv|
|
18
18
|
k, v = kv
|
19
19
|
v = v.is_a?(Array) ? v.join(',') : v.to_s
|
20
|
-
|
20
|
+
k = k.to_s.split('_').map {|w| w[0, 1] = w[0, 1].upcase; w }.join
|
21
|
+
hash[k] = v
|
22
|
+
|
21
23
|
hash
|
22
24
|
end
|
23
25
|
end
|
data/lib/sucker/request.rb
CHANGED
@@ -14,9 +14,12 @@ module Sucker
|
|
14
14
|
:fr => 'ecs.amazonaws.fr',
|
15
15
|
:jp => 'ecs.amazonaws.jp' }
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
class << self
|
18
|
+
|
19
|
+
# Available Amazon locales.
|
20
|
+
def locales
|
21
|
+
@locales ||= HOSTS.keys
|
22
|
+
end
|
20
23
|
end
|
21
24
|
|
22
25
|
# The Amazon associate tag.
|
@@ -37,9 +40,9 @@ module Sucker
|
|
37
40
|
#
|
38
41
|
# request = Sucker.new(
|
39
42
|
# :locale => :us,
|
40
|
-
# :key =>
|
41
|
-
# :secret =>
|
42
|
-
# :associate_tag =>
|
43
|
+
# :key => amazon_key,
|
44
|
+
# :secret => amazon_secret)
|
45
|
+
# :associate_tag => amazon_tag)
|
43
46
|
#
|
44
47
|
def initialize(args={})
|
45
48
|
args.each { |k, v| send("#{k}=", v) }
|
@@ -66,7 +69,7 @@ module Sucker
|
|
66
69
|
# response = request.get
|
67
70
|
#
|
68
71
|
def get
|
69
|
-
response = adapter.get(
|
72
|
+
response = adapter.get(url)
|
70
73
|
Response.new(response)
|
71
74
|
end
|
72
75
|
|
@@ -75,25 +78,31 @@ module Sucker
|
|
75
78
|
@parameters ||= Parameters.new
|
76
79
|
end
|
77
80
|
|
78
|
-
# Resets parameters and returns
|
81
|
+
# Resets parameters and returns self.
|
79
82
|
def reset
|
80
83
|
parameters.clear
|
81
|
-
parameters.
|
84
|
+
parameters.populate
|
82
85
|
|
83
86
|
self
|
84
87
|
end
|
85
88
|
|
86
|
-
#
|
87
|
-
|
88
|
-
|
89
|
-
|
89
|
+
# The request URL.
|
90
|
+
def url
|
91
|
+
URI::HTTP.build(
|
92
|
+
:host => host,
|
93
|
+
:path => '/onca/xml',
|
94
|
+
:query => sign(build_query_string)
|
95
|
+
)
|
96
|
+
end
|
97
|
+
|
98
|
+
# Sets the Amazon API version timestamp.
|
90
99
|
def version=(version)
|
91
100
|
parameters['Version'] = version
|
92
101
|
end
|
93
102
|
|
94
103
|
private
|
95
104
|
|
96
|
-
def
|
105
|
+
def build_query_string
|
97
106
|
parameters.
|
98
107
|
normalize.
|
99
108
|
merge({ 'AWSAccessKeyId' => key,
|
@@ -103,15 +112,13 @@ module Sucker
|
|
103
112
|
join('&')
|
104
113
|
end
|
105
114
|
|
106
|
-
def
|
107
|
-
query = build_query
|
108
|
-
|
115
|
+
def sign(query_string)
|
109
116
|
digest = OpenSSL::Digest::Digest.new('sha256')
|
110
|
-
|
111
|
-
hmac = OpenSSL::HMAC.digest(digest, secret,
|
117
|
+
url_string = ['GET', host, '/onca/xml', query_string].join("\n")
|
118
|
+
hmac = OpenSSL::HMAC.digest(digest, secret, url_string)
|
112
119
|
signature = escape([hmac].pack('m').chomp)
|
113
120
|
|
114
|
-
|
121
|
+
query_string + '&Signature=' + signature
|
115
122
|
end
|
116
123
|
|
117
124
|
def escape(value)
|
@@ -123,12 +130,5 @@ module Sucker
|
|
123
130
|
def host
|
124
131
|
HOSTS[locale.to_sym]
|
125
132
|
end
|
126
|
-
|
127
|
-
def uri
|
128
|
-
URI::HTTP.build(
|
129
|
-
:host => host,
|
130
|
-
:path => '/onca/xml',
|
131
|
-
:query => build_signed_query)
|
132
|
-
end
|
133
133
|
end
|
134
134
|
end
|
data/lib/sucker/version.rb
CHANGED
data/spec/sucker/request_spec.rb
CHANGED
@@ -44,6 +44,12 @@ module Sucker
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
+
describe '#url' do
|
48
|
+
it 'builds a URL' do
|
49
|
+
request.url.should be_an URI::HTTP
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
47
53
|
describe '#version=' do
|
48
54
|
it 'sets the Amazon API version' do
|
49
55
|
request.version = 'foo'
|
@@ -51,9 +57,9 @@ module Sucker
|
|
51
57
|
end
|
52
58
|
end
|
53
59
|
|
54
|
-
describe '#
|
60
|
+
describe '#build_query_string' do
|
55
61
|
let(:query) do
|
56
|
-
request.send(:
|
62
|
+
request.send(:build_query_string)
|
57
63
|
end
|
58
64
|
|
59
65
|
it 'canonicalizes query' do
|
@@ -70,21 +76,10 @@ module Sucker
|
|
70
76
|
end
|
71
77
|
end
|
72
78
|
|
73
|
-
describe '#
|
74
|
-
let(:query) { request.send(:
|
75
|
-
|
76
|
-
it 'includes the key for the current locale' do
|
77
|
-
request.key = 'foo'
|
78
|
-
query.should include 'AWSAccessKeyId=foo'
|
79
|
-
end
|
80
|
-
|
81
|
-
it 'includes the associate tag for the current locale' do
|
82
|
-
request.associate_tag = 'foo'
|
83
|
-
query.should include 'AssociateTag=foo'
|
84
|
-
end
|
79
|
+
describe '#sign' do
|
80
|
+
let(:query) { request.send(:sign, 'foo=bar') }
|
85
81
|
|
86
82
|
it 'returns a signed query string' do
|
87
|
-
query = request.send :build_signed_query
|
88
83
|
query.should include 'Signature='
|
89
84
|
end
|
90
85
|
end
|
@@ -11,8 +11,8 @@ module Sucker
|
|
11
11
|
let(:response) do
|
12
12
|
request = Sucker.new(
|
13
13
|
:locale => :us,
|
14
|
-
:key =>
|
15
|
-
:secret =>
|
14
|
+
:key => amazon_key,
|
15
|
+
:secret => amazon_secret)
|
16
16
|
request << {
|
17
17
|
'Operation' => 'ItemLookup',
|
18
18
|
'IdType' => 'ASIN',
|
metadata
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sucker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 1
|
7
|
+
- 6
|
8
|
+
- 0
|
9
|
+
version: 1.6.0
|
6
10
|
platform: ruby
|
7
11
|
authors:
|
8
12
|
- Paper Cavalier
|
@@ -10,7 +14,7 @@ autorequire:
|
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
16
|
|
13
|
-
date: 2011-
|
17
|
+
date: 2011-05-31 00:00:00 +01:00
|
14
18
|
default_executable:
|
15
19
|
dependencies:
|
16
20
|
- !ruby/object:Gem::Dependency
|
@@ -21,6 +25,11 @@ dependencies:
|
|
21
25
|
requirements:
|
22
26
|
- - ~>
|
23
27
|
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 2
|
30
|
+
- 2
|
31
|
+
- 0
|
32
|
+
- 2
|
24
33
|
version: 2.2.0.2
|
25
34
|
type: :runtime
|
26
35
|
version_requirements: *id001
|
@@ -32,6 +41,10 @@ dependencies:
|
|
32
41
|
requirements:
|
33
42
|
- - ~>
|
34
43
|
- !ruby/object:Gem::Version
|
44
|
+
segments:
|
45
|
+
- 1
|
46
|
+
- 4
|
47
|
+
- 0
|
35
48
|
version: 1.4.0
|
36
49
|
type: :runtime
|
37
50
|
version_requirements: *id002
|
@@ -43,29 +56,41 @@ dependencies:
|
|
43
56
|
requirements:
|
44
57
|
- - ~>
|
45
58
|
- !ruby/object:Gem::Version
|
59
|
+
segments:
|
60
|
+
- 1
|
61
|
+
- 0
|
62
|
+
- 0
|
46
63
|
version: 1.0.0
|
47
64
|
type: :development
|
48
65
|
version_requirements: *id003
|
49
66
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
67
|
+
name: cucumber
|
51
68
|
prerelease: false
|
52
69
|
requirement: &id004 !ruby/object:Gem::Requirement
|
53
70
|
none: false
|
54
71
|
requirements:
|
55
|
-
- -
|
72
|
+
- - ~>
|
56
73
|
- !ruby/object:Gem::Version
|
57
|
-
|
74
|
+
segments:
|
75
|
+
- 0
|
76
|
+
- 10
|
77
|
+
- 0
|
78
|
+
version: 0.10.0
|
58
79
|
type: :development
|
59
80
|
version_requirements: *id004
|
60
81
|
- !ruby/object:Gem::Dependency
|
61
|
-
name:
|
82
|
+
name: em-http-request
|
62
83
|
prerelease: false
|
63
84
|
requirement: &id005 !ruby/object:Gem::Requirement
|
64
85
|
none: false
|
65
86
|
requirements:
|
66
87
|
- - ~>
|
67
88
|
- !ruby/object:Gem::Version
|
68
|
-
|
89
|
+
segments:
|
90
|
+
- 0
|
91
|
+
- 3
|
92
|
+
- 0
|
93
|
+
version: 0.3.0
|
69
94
|
type: :development
|
70
95
|
version_requirements: *id005
|
71
96
|
- !ruby/object:Gem::Dependency
|
@@ -76,6 +101,10 @@ dependencies:
|
|
76
101
|
requirements:
|
77
102
|
- - ~>
|
78
103
|
- !ruby/object:Gem::Version
|
104
|
+
segments:
|
105
|
+
- 0
|
106
|
+
- 8
|
107
|
+
- 7
|
79
108
|
version: 0.8.7
|
80
109
|
type: :development
|
81
110
|
version_requirements: *id006
|
@@ -87,7 +116,11 @@ dependencies:
|
|
87
116
|
requirements:
|
88
117
|
- - ~>
|
89
118
|
- !ruby/object:Gem::Version
|
90
|
-
|
119
|
+
segments:
|
120
|
+
- 0
|
121
|
+
- 3
|
122
|
+
- 0
|
123
|
+
version: 0.3.0
|
91
124
|
type: :development
|
92
125
|
version_requirements: *id007
|
93
126
|
- !ruby/object:Gem::Dependency
|
@@ -98,7 +131,11 @@ dependencies:
|
|
98
131
|
requirements:
|
99
132
|
- - ~>
|
100
133
|
- !ruby/object:Gem::Version
|
101
|
-
|
134
|
+
segments:
|
135
|
+
- 2
|
136
|
+
- 6
|
137
|
+
- 0
|
138
|
+
version: 2.6.0
|
102
139
|
type: :development
|
103
140
|
version_requirements: *id008
|
104
141
|
- !ruby/object:Gem::Dependency
|
@@ -109,7 +146,11 @@ dependencies:
|
|
109
146
|
requirements:
|
110
147
|
- - ~>
|
111
148
|
- !ruby/object:Gem::Version
|
112
|
-
|
149
|
+
segments:
|
150
|
+
- 1
|
151
|
+
- 10
|
152
|
+
- 0
|
153
|
+
version: 1.10.0
|
113
154
|
type: :development
|
114
155
|
version_requirements: *id009
|
115
156
|
- !ruby/object:Gem::Dependency
|
@@ -120,7 +161,11 @@ dependencies:
|
|
120
161
|
requirements:
|
121
162
|
- - ~>
|
122
163
|
- !ruby/object:Gem::Version
|
123
|
-
|
164
|
+
segments:
|
165
|
+
- 1
|
166
|
+
- 6
|
167
|
+
- 4
|
168
|
+
version: 1.6.4
|
124
169
|
type: :development
|
125
170
|
version_requirements: *id010
|
126
171
|
description: A Ruby wrapper to the Amazon Product Advertising API
|
@@ -134,72 +179,40 @@ extra_rdoc_files: []
|
|
134
179
|
|
135
180
|
files:
|
136
181
|
- lib/sucker/hash.rb
|
137
|
-
- lib/sucker/hash.rbc
|
138
182
|
- lib/sucker/parameters.rb
|
139
|
-
- lib/sucker/parameters.rbc
|
140
183
|
- lib/sucker/request.rb
|
141
|
-
- lib/sucker/request.rbc
|
142
184
|
- lib/sucker/response.rb
|
143
|
-
- lib/sucker/response.rbc
|
144
185
|
- lib/sucker/version.rb
|
145
|
-
- lib/sucker/version.rbc
|
146
186
|
- lib/sucker.rb
|
147
|
-
- lib/sucker.rbc
|
148
187
|
- LICENSE
|
149
188
|
- README.md
|
150
189
|
- spec/fixtures/asins.txt
|
151
|
-
- spec/fixtures/cassette_library/cartcreate/e3e2f9b71afba67619a95c7178178595.yml
|
152
190
|
- spec/fixtures/cassette_library/cartcreate/f8fe45cc6b78ac1aac675a8f76d5f7d9.yml
|
153
191
|
- spec/fixtures/cassette_library/itemlookup/0547439fa22ec1178508f61bc8fb1dfb.yml
|
154
192
|
- spec/fixtures/cassette_library/itemlookup/2656b1813249aff0d4febb01044962ff.yml
|
155
|
-
- spec/fixtures/cassette_library/itemlookup/4908294851a4df13269707e9f6507f91.yml
|
156
193
|
- spec/fixtures/cassette_library/itemlookup/49690856d2b9cb358fc505dc52862acf.yml
|
157
|
-
- spec/fixtures/cassette_library/itemlookup/5670727fa0cb9f30464e41aa1346c91c.yml
|
158
194
|
- spec/fixtures/cassette_library/itemlookup/67b3c825b2902b511412057442db6e91.yml
|
159
|
-
- spec/fixtures/cassette_library/itemlookup/6e6b1dc74378e2e1118713e254191fc0.yml
|
160
195
|
- spec/fixtures/cassette_library/itemlookup/742f3458144935c0a3320be6e842a17c.yml
|
161
|
-
- spec/fixtures/cassette_library/itemlookup/76f548183c2804a74d0ed7e0bfbd6d4a.yml
|
162
|
-
- spec/fixtures/cassette_library/itemlookup/8286b763b726d3dc1fc992023e639b9b.yml
|
163
196
|
- spec/fixtures/cassette_library/itemlookup/9853d1f8ae05d5501df4e4390c5abeae.yml
|
164
|
-
- spec/fixtures/cassette_library/itemlookup/9d82768fe80b09c4a3697c608e5edebe.yml
|
165
197
|
- spec/fixtures/cassette_library/itemlookup/b6c76ad93b17b86adb932b9b97c1f019.yml
|
166
|
-
- spec/fixtures/cassette_library/itemlookup/d3d6ea869d31173526f48907bff752a3.yml
|
167
|
-
- spec/fixtures/cassette_library/itemlookup/d8ad346710c3b479febcf58e67fea7ef.yml
|
168
198
|
- spec/fixtures/cassette_library/itemlookup/e880c4cb3dd56cdfa2161a71fece15ac.yml
|
169
199
|
- spec/fixtures/cassette_library/itemsearch/1c4db6b83580a7498b87d7502c249307.yml
|
170
|
-
- spec/fixtures/cassette_library/itemsearch/295b9eadfb69d55e1c0acb06220e0b6e.yml
|
171
200
|
- spec/fixtures/cassette_library/itemsearch/30d2bff757af125e31b82c47380b98ba.yml
|
172
201
|
- spec/fixtures/cassette_library/itemsearch/34098006ffbbd9570b2c2f9ce23df9f3.yml
|
173
|
-
- spec/fixtures/cassette_library/itemsearch/4c1e50d070821f4eb9fe3961aba105ee.yml
|
174
|
-
- spec/fixtures/cassette_library/itemsearch/5a15430433ab94c70466eb61c919a028.yml
|
175
|
-
- spec/fixtures/cassette_library/itemsearch/8fd40b929a9ed46e2b38ac905c8ab53a.yml
|
176
202
|
- spec/fixtures/cassette_library/itemsearch/e9a6659c2b464d7388c3831c6425a526.yml
|
177
203
|
- spec/fixtures/cassette_library/sellerlistingsearch/6b38af058d6a0bda696f49de13cfd343.yml
|
178
204
|
- spec/fixtures/cassette_library/sellerlistingsearch/c92200a4bd3d6d9023fa6317a780589b.yml
|
179
|
-
- spec/fixtures/cassette_library/sellerlistingsearch/cb25caadce96ac3de70b69b76431d730.yml
|
180
|
-
- spec/fixtures/cassette_library/sellerlistingsearch/e1261838e1754870ffd309dd78eb7374.yml
|
181
205
|
- spec/fixtures/cassette_library/spec/sucker/request.yml
|
182
206
|
- spec/fixtures/cassette_library/spec/sucker/response.yml
|
183
207
|
- spec/spec_helper.rb
|
184
|
-
- spec/spec_helper.rbc
|
185
208
|
- spec/sucker/hash_spec.rb
|
186
|
-
- spec/sucker/hash_spec.rbc
|
187
209
|
- spec/sucker/parameters_spec.rb
|
188
|
-
- spec/sucker/parameters_spec.rbc
|
189
210
|
- spec/sucker/request_spec.rb
|
190
|
-
- spec/sucker/request_spec.rbc
|
191
211
|
- spec/sucker/response_spec.rb
|
192
|
-
- spec/sucker/response_spec.rbc
|
193
212
|
- spec/sucker_spec.rb
|
194
|
-
- spec/sucker_spec.rbc
|
195
|
-
- spec/support/amazon.yml
|
196
|
-
- spec/support/amazon.yml.example
|
197
213
|
- spec/support/amazon_credentials.rb
|
198
|
-
- spec/support/amazon_credentials.rbc
|
199
214
|
- spec/support/asins.rb
|
200
|
-
- spec/support/asins.rbc
|
201
215
|
- spec/support/vcr.rb
|
202
|
-
- spec/support/vcr.rbc
|
203
216
|
has_rdoc: true
|
204
217
|
homepage: https://rubygems.org/gems/sucker
|
205
218
|
licenses: []
|
@@ -214,71 +227,49 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
214
227
|
requirements:
|
215
228
|
- - ">="
|
216
229
|
- !ruby/object:Gem::Version
|
230
|
+
segments:
|
231
|
+
- 0
|
217
232
|
version: "0"
|
218
233
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
219
234
|
none: false
|
220
235
|
requirements:
|
221
236
|
- - ">="
|
222
237
|
- !ruby/object:Gem::Version
|
238
|
+
segments:
|
239
|
+
- 0
|
223
240
|
version: "0"
|
224
241
|
requirements: []
|
225
242
|
|
226
243
|
rubyforge_project: sucker
|
227
|
-
rubygems_version: 1.
|
244
|
+
rubygems_version: 1.3.7
|
228
245
|
signing_key:
|
229
246
|
specification_version: 3
|
230
247
|
summary: A Ruby wrapper to the Amazon Product Advertising API
|
231
248
|
test_files:
|
232
249
|
- spec/fixtures/asins.txt
|
233
|
-
- spec/fixtures/cassette_library/cartcreate/e3e2f9b71afba67619a95c7178178595.yml
|
234
250
|
- spec/fixtures/cassette_library/cartcreate/f8fe45cc6b78ac1aac675a8f76d5f7d9.yml
|
235
251
|
- spec/fixtures/cassette_library/itemlookup/0547439fa22ec1178508f61bc8fb1dfb.yml
|
236
252
|
- spec/fixtures/cassette_library/itemlookup/2656b1813249aff0d4febb01044962ff.yml
|
237
|
-
- spec/fixtures/cassette_library/itemlookup/4908294851a4df13269707e9f6507f91.yml
|
238
253
|
- spec/fixtures/cassette_library/itemlookup/49690856d2b9cb358fc505dc52862acf.yml
|
239
|
-
- spec/fixtures/cassette_library/itemlookup/5670727fa0cb9f30464e41aa1346c91c.yml
|
240
254
|
- spec/fixtures/cassette_library/itemlookup/67b3c825b2902b511412057442db6e91.yml
|
241
|
-
- spec/fixtures/cassette_library/itemlookup/6e6b1dc74378e2e1118713e254191fc0.yml
|
242
255
|
- spec/fixtures/cassette_library/itemlookup/742f3458144935c0a3320be6e842a17c.yml
|
243
|
-
- spec/fixtures/cassette_library/itemlookup/76f548183c2804a74d0ed7e0bfbd6d4a.yml
|
244
|
-
- spec/fixtures/cassette_library/itemlookup/8286b763b726d3dc1fc992023e639b9b.yml
|
245
256
|
- spec/fixtures/cassette_library/itemlookup/9853d1f8ae05d5501df4e4390c5abeae.yml
|
246
|
-
- spec/fixtures/cassette_library/itemlookup/9d82768fe80b09c4a3697c608e5edebe.yml
|
247
257
|
- spec/fixtures/cassette_library/itemlookup/b6c76ad93b17b86adb932b9b97c1f019.yml
|
248
|
-
- spec/fixtures/cassette_library/itemlookup/d3d6ea869d31173526f48907bff752a3.yml
|
249
|
-
- spec/fixtures/cassette_library/itemlookup/d8ad346710c3b479febcf58e67fea7ef.yml
|
250
258
|
- spec/fixtures/cassette_library/itemlookup/e880c4cb3dd56cdfa2161a71fece15ac.yml
|
251
259
|
- spec/fixtures/cassette_library/itemsearch/1c4db6b83580a7498b87d7502c249307.yml
|
252
|
-
- spec/fixtures/cassette_library/itemsearch/295b9eadfb69d55e1c0acb06220e0b6e.yml
|
253
260
|
- spec/fixtures/cassette_library/itemsearch/30d2bff757af125e31b82c47380b98ba.yml
|
254
261
|
- spec/fixtures/cassette_library/itemsearch/34098006ffbbd9570b2c2f9ce23df9f3.yml
|
255
|
-
- spec/fixtures/cassette_library/itemsearch/4c1e50d070821f4eb9fe3961aba105ee.yml
|
256
|
-
- spec/fixtures/cassette_library/itemsearch/5a15430433ab94c70466eb61c919a028.yml
|
257
|
-
- spec/fixtures/cassette_library/itemsearch/8fd40b929a9ed46e2b38ac905c8ab53a.yml
|
258
262
|
- spec/fixtures/cassette_library/itemsearch/e9a6659c2b464d7388c3831c6425a526.yml
|
259
263
|
- spec/fixtures/cassette_library/sellerlistingsearch/6b38af058d6a0bda696f49de13cfd343.yml
|
260
264
|
- spec/fixtures/cassette_library/sellerlistingsearch/c92200a4bd3d6d9023fa6317a780589b.yml
|
261
|
-
- spec/fixtures/cassette_library/sellerlistingsearch/cb25caadce96ac3de70b69b76431d730.yml
|
262
|
-
- spec/fixtures/cassette_library/sellerlistingsearch/e1261838e1754870ffd309dd78eb7374.yml
|
263
265
|
- spec/fixtures/cassette_library/spec/sucker/request.yml
|
264
266
|
- spec/fixtures/cassette_library/spec/sucker/response.yml
|
265
267
|
- spec/spec_helper.rb
|
266
|
-
- spec/spec_helper.rbc
|
267
268
|
- spec/sucker/hash_spec.rb
|
268
|
-
- spec/sucker/hash_spec.rbc
|
269
269
|
- spec/sucker/parameters_spec.rb
|
270
|
-
- spec/sucker/parameters_spec.rbc
|
271
270
|
- spec/sucker/request_spec.rb
|
272
|
-
- spec/sucker/request_spec.rbc
|
273
271
|
- spec/sucker/response_spec.rb
|
274
|
-
- spec/sucker/response_spec.rbc
|
275
272
|
- spec/sucker_spec.rb
|
276
|
-
- spec/sucker_spec.rbc
|
277
|
-
- spec/support/amazon.yml
|
278
|
-
- spec/support/amazon.yml.example
|
279
273
|
- spec/support/amazon_credentials.rb
|
280
|
-
- spec/support/amazon_credentials.rbc
|
281
274
|
- spec/support/asins.rb
|
282
|
-
- spec/support/asins.rbc
|
283
275
|
- spec/support/vcr.rb
|
284
|
-
- spec/support/vcr.rbc
|