vacuum 3.1.0 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +15 -4
- data/lib/vacuum/locale.rb +1 -1
- data/lib/vacuum/response.rb +16 -0
- data/lib/vacuum/version.rb +1 -1
- data/test/vacuum/test_response.rb +4 -0
- metadata +2 -4
- data/test/locales.yml +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7930ac186979f816a0d138d66b3a2a560d6237f7a30ee05a93a09f5e6cf4722
|
4
|
+
data.tar.gz: 7bf258d4f95d9714ca6957240b1070e1394fcb017828d3d23116a6ffa6a7eed1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba541939522a687a4f1fd800232c7f71db4d5d8c87ecf6979d8111f86f27fa8fbb3fba9aca098bb6c8ace24d75e10fef7d6916c69904896312f72d2e41742e17
|
7
|
+
data.tar.gz: 016a3f3248f2470bfeee5bfc0b4245fed9ea00fba3217056c3f4d65a6c2c4dca92bd0f43687b87a0188c53ddf7e3da74de37ee1e2912fd8dce824b567a971cea
|
data/README.md
CHANGED
@@ -98,14 +98,25 @@ response.dig('ItemsResult', 'Items')
|
|
98
98
|
|
99
99
|
### Troubleshooting
|
100
100
|
|
101
|
-
In addition to the response payload, the following attributes help you introspect
|
101
|
+
In addition to the response payload, the following attributes may help you introspect an executed request.
|
102
102
|
|
103
103
|
```ruby
|
104
|
-
request.
|
105
|
-
|
106
|
-
|
104
|
+
operation = request.operation
|
105
|
+
operation.body
|
106
|
+
operation.headers
|
107
|
+
operation.url
|
107
108
|
```
|
108
109
|
|
110
|
+
### Bring your parser
|
111
|
+
You can extend Vacuum with a custom parser. Just swap the original with a class or module that responds to `.parse`.
|
112
|
+
|
113
|
+
```ruby
|
114
|
+
response.parser = MyParser
|
115
|
+
response.parse
|
116
|
+
```
|
117
|
+
|
118
|
+
If no custom parser is set, `Vacuum::Response#parse` delegates to `#to_h`.
|
119
|
+
|
109
120
|
### VCR
|
110
121
|
|
111
122
|
If you are using [VCR](https://github.com/vcr/vcr) to test an app that accesses the API, you can use the custom VCR matcher of Vacuum to stub requests.
|
data/lib/vacuum/locale.rb
CHANGED
@@ -9,7 +9,6 @@ module Vacuum
|
|
9
9
|
# Amazon locale
|
10
10
|
class NotFound < KeyError; end
|
11
11
|
|
12
|
-
# @!visibility private
|
13
12
|
HOSTS_AND_REGIONS = {
|
14
13
|
au: ['webservices.amazon.com.au', 'us-west-2'],
|
15
14
|
br: ['webservices.amazon.com.br', 'us-east-1'],
|
@@ -26,6 +25,7 @@ module Vacuum
|
|
26
25
|
gb: ['webservices.amazon.co.uk', 'eu-west-1'],
|
27
26
|
us: ['webservices.amazon.com', 'us-east-1']
|
28
27
|
}.freeze
|
28
|
+
private_constant :HOSTS_AND_REGIONS
|
29
29
|
|
30
30
|
# @return [String]
|
31
31
|
attr_reader :host, :region, :access_key, :secret_key, :partner_tag,
|
data/lib/vacuum/response.rb
CHANGED
@@ -16,6 +16,22 @@ module Vacuum
|
|
16
16
|
# @see https://ruby-doc.org/core/Hash.html#method-i-dig
|
17
17
|
def_delegator :to_h, :dig
|
18
18
|
|
19
|
+
class << self
|
20
|
+
attr_accessor :parser
|
21
|
+
end
|
22
|
+
|
23
|
+
def_delegator :to_h, :dig
|
24
|
+
|
25
|
+
attr_writer :parser
|
26
|
+
|
27
|
+
def parser
|
28
|
+
@parser || self.class.parser
|
29
|
+
end
|
30
|
+
|
31
|
+
def parse
|
32
|
+
parser ? parser.parse(body) : to_h
|
33
|
+
end
|
34
|
+
|
19
35
|
# Casts body to Hash
|
20
36
|
# @return [Hash]
|
21
37
|
def to_h
|
data/lib/vacuum/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vacuum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hakan Ensari
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-11-
|
11
|
+
date: 2019-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sigv4
|
@@ -141,7 +141,6 @@ files:
|
|
141
141
|
- test/cassettes/vacuum.yml
|
142
142
|
- test/integration_helper.rb
|
143
143
|
- test/locales.rb
|
144
|
-
- test/locales.yml
|
145
144
|
- test/locales.yml.example
|
146
145
|
- test/vacuum/test_locale.rb
|
147
146
|
- test/vacuum/test_operation.rb
|
@@ -178,5 +177,4 @@ test_files:
|
|
178
177
|
- test/cassettes/vacuum.yml
|
179
178
|
- test/integration_helper.rb
|
180
179
|
- test/locales.rb
|
181
|
-
- test/locales.yml
|
182
180
|
- test/locales.yml.example
|
data/test/locales.yml
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
- :marketplace: CA
|
2
|
-
:access_key: AKIAIWQTVHVWCQA5THXQ
|
3
|
-
:secret_key: VOhSIqIY1wF5selhhJYJGVnIET9k5q0J8QjTX38i
|
4
|
-
:partner_tag: adabo00-20
|
5
|
-
- :marketplace: ES
|
6
|
-
:access_key: AKIAJJF26BJLZLSJLFBQ
|
7
|
-
:secret_key: txz+ESbb9Gzw6adcdKtIsLGOP0POFxtP0GHDw1ul
|
8
|
-
:partner_tag: adabo00-21
|
9
|
-
- :marketplace: DE
|
10
|
-
:access_key: AKIAJGN5UNM43HHV5MZA
|
11
|
-
:secret_key: ZdccSATM45MN9mjRTTw89mee5VbFoTRd9hYI2sMV
|
12
|
-
:partner_tag: adabo23-21
|
13
|
-
- :marketplace: FR
|
14
|
-
:access_key: AKIAJDNYBNMN23YBFK3A
|
15
|
-
:secret_key: hMet2Z4I5tgT6M8mHlGBGUajGyAZN/h2DPFb9z3j
|
16
|
-
:partner_tag: adabo-21
|
17
|
-
- :marketplace: IT
|
18
|
-
:access_key: AKIAJVBAH4XJHK6YF46Q
|
19
|
-
:secret_key: aCb2AeLxjNf4KM+Fxx2+ZOw0ftOnnMkuWqVR1kuE
|
20
|
-
:partner_tag: adabo0c-21
|
21
|
-
- :marketplace: GB
|
22
|
-
:access_key: AKIAJPAXMP45DOQJPHJQ
|
23
|
-
:secret_key: feZKxFjRGLtmEO3JXpmCGdDaCPA7AHiVFBhQ/fkf
|
24
|
-
:partner_tag: adabo21-21
|
25
|
-
- :marketplace: US
|
26
|
-
:access_key: AKIAIWQTVHVWCQA5THXQ
|
27
|
-
:secret_key: VOhSIqIY1wF5selhhJYJGVnIET9k5q0J8QjTX38i
|
28
|
-
:partner_tag: adabo-20
|