sucker 1.5.0.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|

|
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
|