vacuum 0.2.0.pre → 0.2.0.pre.1
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.
@@ -4,15 +4,15 @@ module Vacuum
|
|
4
4
|
class ProductAdvertising < Base
|
5
5
|
# Looks up attributes of up to twenty items.
|
6
6
|
#
|
7
|
-
# item_ids
|
8
|
-
#
|
7
|
+
# item_ids - Splat Array of item IDs. The last element may optionally
|
8
|
+
# specify a Hash of parameter key and value pairs.
|
9
9
|
#
|
10
10
|
# Examples
|
11
11
|
#
|
12
12
|
# request.find '0679753354', response_group: 'Images'
|
13
13
|
#
|
14
14
|
# Returns a Vacuum::Response.
|
15
|
-
def
|
15
|
+
def look_up(*item_ids)
|
16
16
|
given_params = item_ids.last.is_a?(Hash) ? item_ids.pop : {}
|
17
17
|
|
18
18
|
params =
|
@@ -25,8 +25,8 @@ module Vacuum
|
|
25
25
|
when 11..20
|
26
26
|
default = {
|
27
27
|
'Operation' => 'ItemLookup',
|
28
|
-
'
|
29
|
-
'
|
28
|
+
'ItemLookup.1.ItemId' => item_ids.shift(10),
|
29
|
+
'ItemLookup.2.ItemId' => item_ids
|
30
30
|
}
|
31
31
|
given_params.reduce(default) do |a, (k, v)|
|
32
32
|
a.merge "ItemLookup.Shared.#{Utils.camelize k.to_s}" => v
|
@@ -44,7 +44,7 @@ module Vacuum
|
|
44
44
|
#
|
45
45
|
# index - Symbol search index
|
46
46
|
# query_or_params - String keyword query or Hash of parameter key and
|
47
|
-
# value pairs
|
47
|
+
# value pairs.
|
48
48
|
#
|
49
49
|
# Examples
|
50
50
|
#
|
data/lib/vacuum/version.rb
CHANGED
@@ -13,7 +13,7 @@ module Vacuum
|
|
13
13
|
|
14
14
|
it_behaves_like 'a request'
|
15
15
|
|
16
|
-
describe '#
|
16
|
+
describe '#look_up' do
|
17
17
|
before do
|
18
18
|
request.stub! :get
|
19
19
|
end
|
@@ -24,13 +24,13 @@ module Vacuum
|
|
24
24
|
|
25
25
|
context 'given no items' do
|
26
26
|
it 'raises an error' do
|
27
|
-
expect { request.
|
27
|
+
expect { request.look_up }.to raise_error ArgumentError
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
31
|
context 'given up to 10 items' do
|
32
32
|
before do
|
33
|
-
request.
|
33
|
+
request.look_up *((1..10).to_a << { :foo => 'bar' })
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'builds a single-batch query' do
|
@@ -44,13 +44,13 @@ module Vacuum
|
|
44
44
|
|
45
45
|
context 'given 11 to to 20 items' do
|
46
46
|
before do
|
47
|
-
request.
|
47
|
+
request.look_up *((1..20).to_a << { :foo => 'bar' })
|
48
48
|
end
|
49
49
|
|
50
50
|
it 'builds a multi-batch query' do
|
51
|
-
first_batch = parameters['
|
51
|
+
first_batch = parameters['ItemLookup.1.ItemId'].split(',')
|
52
52
|
first_batch.should =~ (1..10).map(&:to_s)
|
53
|
-
second_batch = parameters['
|
53
|
+
second_batch = parameters['ItemLookup.2.ItemId'].split(',')
|
54
54
|
second_batch.should =~ (11..20).map(&:to_s)
|
55
55
|
end
|
56
56
|
|
@@ -61,7 +61,7 @@ module Vacuum
|
|
61
61
|
|
62
62
|
context 'given over 20 items' do
|
63
63
|
it 'raises an error' do
|
64
|
-
expect { request.
|
64
|
+
expect { request.look_up *(1..21) }.to raise_error ArgumentError
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vacuum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.0.pre
|
4
|
+
version: 0.2.0.pre.1
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-04-02 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &70260273152380 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0.9'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70260273152380
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70260273201100 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '2.9'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70260273201100
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: addressable
|
38
|
-
requirement: &
|
38
|
+
requirement: &70260273200640 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '2.2'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70260273200640
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: faraday
|
49
|
-
requirement: &
|
49
|
+
requirement: &70260273200160 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.7.6
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70260273200160
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: nokogiri
|
60
|
-
requirement: &
|
60
|
+
requirement: &70260273199640 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '1.5'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70260273199640
|
69
69
|
description: ! 'Vacuum is a wrapper to various Amazon Web Services (AWS) APIs, including
|
70
70
|
|
71
71
|
Product Advertising and Marketplace Web Services (MWS).
|