asin 0.6.1 → 0.6.2

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.
Files changed (44) hide show
  1. data/Gemfile.lock +4 -4
  2. data/lib/asin/client.rb +13 -2
  3. data/lib/asin/version.rb +1 -1
  4. data/spec/browse_node_spec.rb +0 -10
  5. data/spec/cart_spec.rb +0 -7
  6. data/spec/cassettes/add_items1430216263.yml +67 -0
  7. data/spec/cassettes/browse_node_599826.yml +38 -0
  8. data/spec/cassettes/clear_cart.yml +65 -0
  9. data/spec/cassettes/create_cart_with_asin_1430218150_and_other_asin_1430216263.yml +36 -0
  10. data/spec/cassettes/get_cart.yml +67 -0
  11. data/spec/cassettes/lookup_1430218150.yml +63 -0
  12. data/spec/cassettes/lookup_1430218150_item_class.yml +63 -0
  13. data/spec/cassettes/lookup_1430218150_mash.yml +63 -0
  14. data/spec/cassettes/lookup_1430218150_medium.yml +63 -0
  15. data/spec/cassettes/lookup_1430218150_rash.yml +63 -0
  16. data/spec/cassettes/lookup_1430218150_raw.yml +63 -0
  17. data/spec/cassettes/lookup_1430218150_small_and_alternateversions.yml +43 -0
  18. data/{cassettes → spec/cassettes}/lookup_multiple_asins.yml +12 -11
  19. data/spec/cassettes/search_index_music.yml +32 -0
  20. data/spec/cassettes/search_keywords.yml +479 -0
  21. data/{cassettes → spec/cassettes}/search_keywords_index_music.yml +36 -36
  22. data/spec/cassettes/search_keywords_key_index_music.yml +113 -0
  23. data/{cassettes → spec/cassettes}/search_keywords_single_result.yml +13 -13
  24. data/spec/cassettes/update_items.yml +70 -0
  25. data/spec/config_spec.rb +53 -0
  26. data/spec/search_spec.rb +13 -58
  27. data/spec/spec_helper.rb +13 -1
  28. metadata +134 -106
  29. data/cassettes/add_items1430216263.yml +0 -204
  30. data/cassettes/browse_node_599826.yml +0 -112
  31. data/cassettes/clear_cart.yml +0 -196
  32. data/cassettes/create_cart_with_asin_1430218150_and_other_asin_1430216263.yml +0 -36
  33. data/cassettes/get_cart.yml +0 -199
  34. data/cassettes/lookup_1430218150-0439023521_multiple.yml +0 -26
  35. data/cassettes/lookup_1430218150.yml +0 -184
  36. data/cassettes/lookup_1430218150_item_class.yml +0 -184
  37. data/cassettes/lookup_1430218150_mash.yml +0 -184
  38. data/cassettes/lookup_1430218150_medium.yml +0 -184
  39. data/cassettes/lookup_1430218150_rash.yml +0 -184
  40. data/cassettes/lookup_1430218150_raw.yml +0 -184
  41. data/cassettes/search_index_music.yml +0 -92
  42. data/cassettes/search_keywords.yml +0 -1513
  43. data/cassettes/search_keywords_key_index_music.yml +0 -231
  44. data/cassettes/update_items.yml +0 -208
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- asin (0.6.0)
4
+ asin (0.6.2)
5
5
  crack (~> 0.1.8)
6
6
  hashie (~> 1.0.0)
7
7
  httpi (~> 0.9.5)
@@ -11,10 +11,10 @@ GEM
11
11
  specs:
12
12
  addressable (2.2.6)
13
13
  crack (0.1.8)
14
- diff-lcs (1.1.2)
15
- fuubar (0.0.5)
14
+ diff-lcs (1.1.3)
15
+ fuubar (0.0.6)
16
16
  rspec (~> 2.0)
17
- rspec-instafail (~> 0.1.4)
17
+ rspec-instafail (~> 0.1.8)
18
18
  ruby-progressbar (~> 0.0.10)
19
19
  hashie (1.0.0)
20
20
  httpclient (2.2.1)
data/lib/asin/client.rb CHANGED
@@ -145,6 +145,10 @@ module ASIN
145
145
  #
146
146
  # lookup(asin, :ResponseGroup => :Medium)
147
147
  #
148
+ # Or with multiple parameters:
149
+ #
150
+ # lookup(asin, :ResponseGroup => [:Small, :AlternateVersions])
151
+ #
148
152
  def lookup(*asins)
149
153
  params = asins.last.is_a?(Hash) ? asins.pop : {:ResponseGroup => :Medium}
150
154
  response = call(params.merge(:Operation => :ItemLookup, :ItemId => asins.join(',')))
@@ -367,8 +371,8 @@ module ASIN
367
371
  # utc timestamp needed for signing
368
372
  params[:Timestamp] = Time.now.utc.strftime('%Y-%m-%dT%H:%M:%SZ')
369
373
 
370
- # signing needs to order the query alphabetically
371
- query = params.map{|key, value| "#{key}=#{CGI.escape(value.to_s)}" }.sort.join('&').gsub('+','%20')
374
+
375
+ query = create_query(params)
372
376
 
373
377
  # yeah, you really need to sign the get-request not the query
374
378
  request_to_sign = "GET\n#{Configuration.host}\n#{PATH}\n#{query}"
@@ -378,6 +382,13 @@ module ASIN
378
382
  signature = CGI.escape(Base64.encode64(hmac).chomp)
379
383
  "#{query}&Signature=#{signature}"
380
384
  end
385
+
386
+ def create_query(params)
387
+ params.map do |key, value|
388
+ value = value.collect{|v| v.to_s.strip}.join(',') if value.is_a?(Array)
389
+ "#{key}=#{CGI.escape(value.to_s)}"
390
+ end.sort.join('&').gsub('+','%20') # signing needs to order the query alphabetically
391
+ end
381
392
 
382
393
  def log(severity, message)
383
394
  Configuration.logger.send severity, message if Configuration.logger
data/lib/asin/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module ASIN
2
- VERSION = "0.6.1"
2
+ VERSION = "0.6.2"
3
3
  end
@@ -2,16 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  module ASIN
4
4
  describe ASIN do
5
- before do
6
- ASIN::Configuration.reset
7
- @helper = ASIN::Client.instance
8
- @helper.configure :logger => nil
9
-
10
- @secret = ENV['ASIN_SECRET']
11
- @key = ENV['ASIN_KEY']
12
- puts "configure #{@secret} and #{@key} for this test"
13
- end
14
-
15
5
  context "browse_node" do
16
6
  before do
17
7
  @helper.configure :secret => @secret, :key => @key
data/spec/cart_spec.rb CHANGED
@@ -3,13 +3,6 @@ require 'spec_helper'
3
3
  module ASIN
4
4
  describe ASIN do
5
5
  before do
6
- ASIN::Configuration.reset
7
- @helper = ASIN::Client.instance
8
- @helper.configure :logger => nil
9
-
10
- @secret = ENV['ASIN_SECRET']
11
- @key = ENV['ASIN_KEY']
12
- puts "configure #{@secret} and #{@key} for this test"
13
6
  @helper.configure :secret => @secret, :key => @key
14
7
  end
15
8
 
@@ -0,0 +1,67 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://webservices.amazon.com:80/onca/xml?AWSAccessKeyId=AKIAJFA5X7RTOKFNPVZQ&AssociateTag=&Item.0.ASIN=1430218150&Item.0.Quantity=1&Operation=CartCreate&Service=AWSECommerceService&Signature=teKwB2EafVm0YnL0yBFFiYYG7xmBGvoaLKLxDULbhTI=&Timestamp=2011-09-04T15:14:34Z&Version=2010-11-01
6
+ body: !!null
7
+ headers: !!null
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ date:
14
+ - Sun, 04 Sep 2011 15:14:34 GMT
15
+ server:
16
+ - Server
17
+ content-type:
18
+ - text/xml;charset=UTF-8
19
+ vary:
20
+ - Accept-Encoding,User-Agent
21
+ nncoection:
22
+ - close
23
+ transfer-encoding:
24
+ - chunked
25
+ body: <?xml version="1.0" encoding="UTF-8"?><CartCreateResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2010-11-01"><OperationRequest><HTTPHeaders><Header
26
+ Name="UserAgent" Value="Jakarta Commons-HttpClient/3.0.1"></Header></HTTPHeaders><RequestId>18THXK6XGKZYXGB6J7PE</RequestId><Arguments><Argument
27
+ Name="AssociateTag"></Argument><Argument Name="Service" Value="AWSECommerceService"></Argument><Argument
28
+ Name="Item.0.Quantity" Value="1"></Argument><Argument Name="Signature" Value="teKwB2EafVm0YnL0yBFFiYYG7xmBGvoaLKLxDULbhTI="></Argument><Argument
29
+ Name="Item.0.ASIN" Value="1430218150"></Argument><Argument Name="Operation"
30
+ Value="CartCreate"></Argument><Argument Name="AWSAccessKeyId" Value="AKIAJFA5X7RTOKFNPVZQ"></Argument><Argument
31
+ Name="Version" Value="2010-11-01"></Argument><Argument Name="Timestamp" Value="2011-09-04T15:14:34Z"></Argument></Arguments><RequestProcessingTime>0.107334136962891</RequestProcessingTime></OperationRequest><Cart><Request><IsValid>True</IsValid><CartCreateRequest><Items><Item><ASIN>1430218150</ASIN><Quantity>1</Quantity></Item></Items></CartCreateRequest></Request><CartId>184-2045758-8444214</CartId><HMAC>ygwiou9hFiNQqNEBV+naz/iEIg0=</HMAC><URLEncodedHMAC>ygwiou9hFiNQqNEBV%2Bnaz%2FiEIg0%3D</URLEncodedHMAC><PurchaseURL>https://www.amazon.com/gp/cart/aws-merge.html?cart-id=184-2045758-8444214%26associate-id=ws%26hmac=ygwiou9hFiNQqNEBV%2Bnaz/iEIg0=%26SubscriptionId=AKIAJFA5X7RTOKFNPVZQ%26MergeCart=False</PurchaseURL><SubTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></SubTotal><CartItems><SubTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></SubTotal><CartItem><CartItemId>U3G241HVLLB8N6</CartItemId><ASIN>1430218150</ASIN><MerchantId>ATVPDKIKX0DER</MerchantId><SellerId>A2R2RITDJNW1Q6</SellerId><SellerNickname>Amazon.com</SellerNickname><Quantity>1</Quantity><Title>Learn
32
+ Objective-C on the Mac (Learn Series)</Title><ProductGroup>Book</ProductGroup><Price><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></Price><ItemTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></ItemTotal></CartItem></CartItems></Cart></CartCreateResponse>
33
+ http_version: '1.1'
34
+ - !ruby/struct:VCR::HTTPInteraction
35
+ request: !ruby/struct:VCR::Request
36
+ method: :get
37
+ uri: http://webservices.amazon.com:80/onca/xml?AWSAccessKeyId=AKIAJFA5X7RTOKFNPVZQ&AssociateTag=&CartId=184-2045758-8444214&HMAC=ygwiou9hFiNQqNEBV+naz/iEIg0=&Item.0.ASIN=1430216263&Item.0.Quantity=2&Operation=CartAdd&Service=AWSECommerceService&Signature=krTtPiYQ+WqRqoN6mYUPrZy5Q2JL8HcZvKMlkwidl/s=&Timestamp=2011-09-04T15:14:34Z&Version=2010-11-01
38
+ body: !!null
39
+ headers: !!null
40
+ response: !ruby/struct:VCR::Response
41
+ status: !ruby/struct:VCR::ResponseStatus
42
+ code: 200
43
+ message: OK
44
+ headers:
45
+ date:
46
+ - Sun, 04 Sep 2011 15:14:34 GMT
47
+ server:
48
+ - Server
49
+ content-type:
50
+ - text/xml;charset=UTF-8
51
+ vary:
52
+ - Accept-Encoding,User-Agent
53
+ nncoection:
54
+ - close
55
+ transfer-encoding:
56
+ - chunked
57
+ body: ! '<?xml version="1.0" encoding="UTF-8"?><CartAddResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2010-11-01"><OperationRequest><HTTPHeaders><Header
58
+ Name="UserAgent" Value="Jakarta Commons-HttpClient/3.0.1"></Header></HTTPHeaders><RequestId>009ASSP2NBPMQ5BT7SC6</RequestId><Arguments><Argument
59
+ Name="AssociateTag"></Argument><Argument Name="Service" Value="AWSECommerceService"></Argument><Argument
60
+ Name="Item.0.Quantity" Value="2"></Argument><Argument Name="Signature" Value="krTtPiYQ+WqRqoN6mYUPrZy5Q2JL8HcZvKMlkwidl/s="></Argument><Argument
61
+ Name="Item.0.ASIN" Value="1430216263"></Argument><Argument Name="HMAC" Value="ygwiou9hFiNQqNEBV+naz/iEIg0="></Argument><Argument
62
+ Name="Operation" Value="CartAdd"></Argument><Argument Name="CartId" Value="184-2045758-8444214"></Argument><Argument
63
+ Name="AWSAccessKeyId" Value="AKIAJFA5X7RTOKFNPVZQ"></Argument><Argument Name="Timestamp"
64
+ Value="2011-09-04T15:14:34Z"></Argument><Argument Name="Version" Value="2010-11-01"></Argument></Arguments><RequestProcessingTime>0.124479055404663</RequestProcessingTime></OperationRequest><Cart><Request><IsValid>True</IsValid><CartAddRequest><CartId>184-2045758-8444214</CartId><HMAC>ygwiou9hFiNQqNEBV+naz/iEIg0=</HMAC><Items><Item><ASIN>1430216263</ASIN><Quantity>2</Quantity></Item></Items></CartAddRequest></Request><CartId>184-2045758-8444214</CartId><HMAC>ygwiou9hFiNQqNEBV+naz/iEIg0=</HMAC><URLEncodedHMAC>ygwiou9hFiNQqNEBV%2Bnaz%2FiEIg0%3D</URLEncodedHMAC><PurchaseURL>https://www.amazon.com/gp/cart/aws-merge.html?cart-id=184-2045758-8444214%26associate-id=ws%26hmac=ygwiou9hFiNQqNEBV%2Bnaz/iEIg0=%26SubscriptionId=AKIAJFA5X7RTOKFNPVZQ%26MergeCart=False</PurchaseURL><SubTotal><Amount>7712</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$77.12</FormattedPrice></SubTotal><CartItems><SubTotal><Amount>7712</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$77.12</FormattedPrice></SubTotal><CartItem><CartItemId>U3CFEHHIPJNW3L</CartItemId><ASIN>1430216263</ASIN><MerchantId>ATVPDKIKX0DER</MerchantId><SellerId>A2R2RITDJNW1Q6</SellerId><SellerNickname>Amazon.com</SellerNickname><Quantity>2</Quantity><Title>Beginning
65
+ iPhone Development: Exploring the iPhone SDK</Title><ProductGroup>Book</ProductGroup><Price><Amount>2639</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$26.39</FormattedPrice></Price><ItemTotal><Amount>5278</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$52.78</FormattedPrice></ItemTotal></CartItem><CartItem><CartItemId>U3G241HVLLB8N6</CartItemId><ASIN>1430218150</ASIN><MerchantId>ATVPDKIKX0DER</MerchantId><SellerId>A2R2RITDJNW1Q6</SellerId><SellerNickname>Amazon.com</SellerNickname><Quantity>1</Quantity><Title>Learn
66
+ Objective-C on the Mac (Learn Series)</Title><ProductGroup>Book</ProductGroup><Price><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></Price><ItemTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></ItemTotal></CartItem></CartItems></Cart></CartAddResponse>'
67
+ http_version: '1.1'
@@ -0,0 +1,38 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://webservices.amazon.com:80/onca/xml?AWSAccessKeyId=AKIAJFA5X7RTOKFNPVZQ&AssociateTag=&BrowseNodeId=599826&Operation=BrowseNodeLookup&ResponseGroup=BrowseNodeInfo&Service=AWSECommerceService&Signature=in3sb43Mf0bUomPefvenStLtUHDLZ70uabaNFTJEhIE=&Timestamp=2011-09-04T15:14:31Z&Version=2010-11-01
6
+ body: !!null
7
+ headers: !!null
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ date:
14
+ - Sun, 04 Sep 2011 15:14:31 GMT
15
+ server:
16
+ - Server
17
+ content-type:
18
+ - text/xml;charset=UTF-8
19
+ vary:
20
+ - Accept-Encoding,User-Agent
21
+ nncoection:
22
+ - close
23
+ transfer-encoding:
24
+ - chunked
25
+ body: <?xml version="1.0" encoding="UTF-8"?><BrowseNodeLookupResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2010-11-01"><OperationRequest><HTTPHeaders><Header
26
+ Name="UserAgent" Value="Jakarta Commons-HttpClient/3.0.1"></Header></HTTPHeaders><RequestId>0VQQ8N4DGR07DYVX434N</RequestId><Arguments><Argument
27
+ Name="AssociateTag"></Argument><Argument Name="Service" Value="AWSECommerceService"></Argument><Argument
28
+ Name="Signature" Value="in3sb43Mf0bUomPefvenStLtUHDLZ70uabaNFTJEhIE="></Argument><Argument
29
+ Name="ResponseGroup" Value="BrowseNodeInfo"></Argument><Argument Name="Operation"
30
+ Value="BrowseNodeLookup"></Argument><Argument Name="BrowseNodeId" Value="599826"></Argument><Argument
31
+ Name="AWSAccessKeyId" Value="AKIAJFA5X7RTOKFNPVZQ"></Argument><Argument Name="Version"
32
+ Value="2010-11-01"></Argument><Argument Name="Timestamp" Value="2011-09-04T15:14:31Z"></Argument></Arguments><RequestProcessingTime>0.01361083984375</RequestProcessingTime></OperationRequest><BrowseNodes><Request><IsValid>True</IsValid><BrowseNodeLookupRequest><BrowseNodeId>599826</BrowseNodeId><ResponseGroup>BrowseNodeInfo</ResponseGroup></BrowseNodeLookupRequest></Request><BrowseNode><BrowseNodeId>599826</BrowseNodeId><Name>Comedy</Name><Ancestors><BrowseNode><BrowseNodeId>501230</BrowseNodeId><Name>Boxed
33
+ Sets</Name><Ancestors><BrowseNode><BrowseNodeId>2998369011</BrowseNodeId><Name>DVD
34
+ Custom Stores</Name><Ancestors><BrowseNode><BrowseNodeId>2644982011</BrowseNodeId><Name>Custom
35
+ Stores</Name><Ancestors><BrowseNode><BrowseNodeId>2644981011</BrowseNodeId><Name>Specialty
36
+ Stores</Name><Ancestors><BrowseNode><BrowseNodeId>2625373011</BrowseNodeId><Name>Movies
37
+ &amp; TV</Name></BrowseNode></Ancestors></BrowseNode></Ancestors></BrowseNode></Ancestors></BrowseNode></Ancestors></BrowseNode></Ancestors></BrowseNode></BrowseNodes></BrowseNodeLookupResponse>
38
+ http_version: '1.1'
@@ -0,0 +1,65 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://webservices.amazon.com:80/onca/xml?AWSAccessKeyId=AKIAJFA5X7RTOKFNPVZQ&AssociateTag=&Item.0.ASIN=1430218150&Item.0.Quantity=1&Operation=CartCreate&Service=AWSECommerceService&Signature=f867HKL2lUgVYFl1I7cYOSMtTSqoHXYXRrQE8nOk3ss=&Timestamp=2011-09-04T15:14:32Z&Version=2010-11-01
6
+ body: !!null
7
+ headers: !!null
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ date:
14
+ - Sun, 04 Sep 2011 15:14:32 GMT
15
+ server:
16
+ - Server
17
+ content-type:
18
+ - text/xml;charset=UTF-8
19
+ vary:
20
+ - Accept-Encoding,User-Agent
21
+ nncoection:
22
+ - close
23
+ transfer-encoding:
24
+ - chunked
25
+ body: <?xml version="1.0" encoding="UTF-8"?><CartCreateResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2010-11-01"><OperationRequest><HTTPHeaders><Header
26
+ Name="UserAgent" Value="Jakarta Commons-HttpClient/3.0.1"></Header></HTTPHeaders><RequestId>0QJ23BCEVQDKBNSPPYXW</RequestId><Arguments><Argument
27
+ Name="AssociateTag"></Argument><Argument Name="Service" Value="AWSECommerceService"></Argument><Argument
28
+ Name="Item.0.Quantity" Value="1"></Argument><Argument Name="Signature" Value="f867HKL2lUgVYFl1I7cYOSMtTSqoHXYXRrQE8nOk3ss="></Argument><Argument
29
+ Name="Item.0.ASIN" Value="1430218150"></Argument><Argument Name="Operation"
30
+ Value="CartCreate"></Argument><Argument Name="AWSAccessKeyId" Value="AKIAJFA5X7RTOKFNPVZQ"></Argument><Argument
31
+ Name="Version" Value="2010-11-01"></Argument><Argument Name="Timestamp" Value="2011-09-04T15:14:32Z"></Argument></Arguments><RequestProcessingTime>0.1250159740448</RequestProcessingTime></OperationRequest><Cart><Request><IsValid>True</IsValid><CartCreateRequest><Items><Item><ASIN>1430218150</ASIN><Quantity>1</Quantity></Item></Items></CartCreateRequest></Request><CartId>191-4948901-2826126</CartId><HMAC>5HltElWE2HYIAFstNFV+rIkSqy0=</HMAC><URLEncodedHMAC>5HltElWE2HYIAFstNFV%2BrIkSqy0%3D</URLEncodedHMAC><PurchaseURL>https://www.amazon.com/gp/cart/aws-merge.html?cart-id=191-4948901-2826126%26associate-id=ws%26hmac=5HltElWE2HYIAFstNFV%2BrIkSqy0=%26SubscriptionId=AKIAJFA5X7RTOKFNPVZQ%26MergeCart=False</PurchaseURL><SubTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></SubTotal><CartItems><SubTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></SubTotal><CartItem><CartItemId>U3G241HVLLB8N6</CartItemId><ASIN>1430218150</ASIN><MerchantId>ATVPDKIKX0DER</MerchantId><SellerId>A2R2RITDJNW1Q6</SellerId><SellerNickname>Amazon.com</SellerNickname><Quantity>1</Quantity><Title>Learn
32
+ Objective-C on the Mac (Learn Series)</Title><ProductGroup>Book</ProductGroup><Price><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></Price><ItemTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></ItemTotal></CartItem></CartItems></Cart></CartCreateResponse>
33
+ http_version: '1.1'
34
+ - !ruby/struct:VCR::HTTPInteraction
35
+ request: !ruby/struct:VCR::Request
36
+ method: :get
37
+ uri: http://webservices.amazon.com:80/onca/xml?AWSAccessKeyId=AKIAJFA5X7RTOKFNPVZQ&AssociateTag=&CartId=191-4948901-2826126&HMAC=5HltElWE2HYIAFstNFV+rIkSqy0=&Operation=CartClear&Service=AWSECommerceService&Signature=bA5VnHSLLFfb6MYE6o7R2a6XXr0SPPGQcVYZW9a/oe4=&Timestamp=2011-09-04T15:14:32Z&Version=2010-11-01
38
+ body: !!null
39
+ headers: !!null
40
+ response: !ruby/struct:VCR::Response
41
+ status: !ruby/struct:VCR::ResponseStatus
42
+ code: 200
43
+ message: OK
44
+ headers:
45
+ date:
46
+ - Sun, 04 Sep 2011 15:14:32 GMT
47
+ server:
48
+ - Server
49
+ content-type:
50
+ - text/xml;charset=UTF-8
51
+ vary:
52
+ - Accept-Encoding,User-Agent
53
+ nncoection:
54
+ - close
55
+ transfer-encoding:
56
+ - chunked
57
+ body: <?xml version="1.0" encoding="UTF-8"?><CartClearResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2010-11-01"><OperationRequest><HTTPHeaders><Header
58
+ Name="UserAgent" Value="Jakarta Commons-HttpClient/3.0.1"></Header></HTTPHeaders><RequestId>1NT20MGHK0464SCHHDFN</RequestId><Arguments><Argument
59
+ Name="Service" Value="AWSECommerceService"></Argument><Argument Name="Operation"
60
+ Value="CartClear"></Argument><Argument Name="Timestamp" Value="2011-09-04T15:14:32Z"></Argument><Argument
61
+ Name="Version" Value="2010-11-01"></Argument><Argument Name="AssociateTag"></Argument><Argument
62
+ Name="Signature" Value="bA5VnHSLLFfb6MYE6o7R2a6XXr0SPPGQcVYZW9a/oe4="></Argument><Argument
63
+ Name="HMAC" Value="5HltElWE2HYIAFstNFV+rIkSqy0="></Argument><Argument Name="CartId"
64
+ Value="191-4948901-2826126"></Argument><Argument Name="AWSAccessKeyId" Value="AKIAJFA5X7RTOKFNPVZQ"></Argument></Arguments><RequestProcessingTime>0.0305790901184082</RequestProcessingTime></OperationRequest><Cart><Request><IsValid>True</IsValid><CartClearRequest><CartId>191-4948901-2826126</CartId><HMAC>5HltElWE2HYIAFstNFV+rIkSqy0=</HMAC></CartClearRequest></Request><CartId>191-4948901-2826126</CartId><HMAC>5HltElWE2HYIAFstNFV+rIkSqy0=</HMAC><URLEncodedHMAC>5HltElWE2HYIAFstNFV%2BrIkSqy0%3D</URLEncodedHMAC></Cart></CartClearResponse>
65
+ http_version: '1.1'
@@ -0,0 +1,36 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://webservices.amazon.com:80/onca/xml?AWSAccessKeyId=AKIAJFA5X7RTOKFNPVZQ&AssociateTag=&Item.0.ASIN=1430218150&Item.0.Quantity=1&Item.1.ASIN=1430216263&Item.1.Quantity=2&Operation=CartCreate&Service=AWSECommerceService&Signature=BUUwXi4jBwiSkFyN1/K4ztUliQnwOgDZAGn3GYrH0wE=&Timestamp=2011-09-04T15:14:31Z&Version=2010-11-01
6
+ body: !!null
7
+ headers: !!null
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ date:
14
+ - Sun, 04 Sep 2011 15:14:31 GMT
15
+ server:
16
+ - Server
17
+ content-type:
18
+ - text/xml;charset=UTF-8
19
+ vary:
20
+ - Accept-Encoding,User-Agent
21
+ nncoection:
22
+ - close
23
+ transfer-encoding:
24
+ - chunked
25
+ body: ! '<?xml version="1.0" encoding="UTF-8"?><CartCreateResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2010-11-01"><OperationRequest><HTTPHeaders><Header
26
+ Name="UserAgent" Value="Jakarta Commons-HttpClient/3.0.1"></Header></HTTPHeaders><RequestId>1AXVJR3CA495HBJSGG7X</RequestId><Arguments><Argument
27
+ Name="Timestamp" Value="2011-09-04T15:14:31Z"></Argument><Argument Name="Version"
28
+ Value="2010-11-01"></Argument><Argument Name="Signature" Value="BUUwXi4jBwiSkFyN1/K4ztUliQnwOgDZAGn3GYrH0wE="></Argument><Argument
29
+ Name="Item.0.ASIN" Value="1430218150"></Argument><Argument Name="AWSAccessKeyId"
30
+ Value="AKIAJFA5X7RTOKFNPVZQ"></Argument><Argument Name="Service" Value="AWSECommerceService"></Argument><Argument
31
+ Name="Item.0.Quantity" Value="1"></Argument><Argument Name="Item.1.Quantity"
32
+ Value="2"></Argument><Argument Name="Operation" Value="CartCreate"></Argument><Argument
33
+ Name="AssociateTag"></Argument><Argument Name="Item.1.ASIN" Value="1430216263"></Argument></Arguments><RequestProcessingTime>0.219246864318848</RequestProcessingTime></OperationRequest><Cart><Request><IsValid>True</IsValid><CartCreateRequest><Items><Item><ASIN>1430218150</ASIN><Quantity>1</Quantity></Item><Item><ASIN>1430216263</ASIN><Quantity>2</Quantity></Item></Items></CartCreateRequest></Request><CartId>177-4381811-0405801</CartId><HMAC>EdQk/2nKhLtbU4xuDGkY11HBZak=</HMAC><URLEncodedHMAC>EdQk%2F2nKhLtbU4xuDGkY11HBZak%3D</URLEncodedHMAC><PurchaseURL>https://www.amazon.com/gp/cart/aws-merge.html?cart-id=177-4381811-0405801%26associate-id=ws%26hmac=EdQk/2nKhLtbU4xuDGkY11HBZak=%26SubscriptionId=AKIAJFA5X7RTOKFNPVZQ%26MergeCart=False</PurchaseURL><SubTotal><Amount>7712</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$77.12</FormattedPrice></SubTotal><CartItems><SubTotal><Amount>7712</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$77.12</FormattedPrice></SubTotal><CartItem><CartItemId>U3G241HVLLB8N6</CartItemId><ASIN>1430218150</ASIN><MerchantId>ATVPDKIKX0DER</MerchantId><SellerId>A2R2RITDJNW1Q6</SellerId><SellerNickname>Amazon.com</SellerNickname><Quantity>1</Quantity><Title>Learn
34
+ Objective-C on the Mac (Learn Series)</Title><ProductGroup>Book</ProductGroup><Price><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></Price><ItemTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></ItemTotal></CartItem><CartItem><CartItemId>U3CFEHHIPJNW3L</CartItemId><ASIN>1430216263</ASIN><MerchantId>ATVPDKIKX0DER</MerchantId><SellerId>A2R2RITDJNW1Q6</SellerId><SellerNickname>Amazon.com</SellerNickname><Quantity>2</Quantity><Title>Beginning
35
+ iPhone Development: Exploring the iPhone SDK</Title><ProductGroup>Book</ProductGroup><Price><Amount>2639</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$26.39</FormattedPrice></Price><ItemTotal><Amount>5278</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$52.78</FormattedPrice></ItemTotal></CartItem></CartItems></Cart></CartCreateResponse>'
36
+ http_version: '1.1'
@@ -0,0 +1,67 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://webservices.amazon.com:80/onca/xml?AWSAccessKeyId=AKIAJFA5X7RTOKFNPVZQ&AssociateTag=&Item.0.ASIN=1430218150&Item.0.Quantity=1&Operation=CartCreate&Service=AWSECommerceService&Signature=fQ1yWXRX44iW3XpOApWLW/9CBdV3K5mZdA3SZtg2fLI=&Timestamp=2011-09-04T15:14:33Z&Version=2010-11-01
6
+ body: !!null
7
+ headers: !!null
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ date:
14
+ - Sun, 04 Sep 2011 15:14:33 GMT
15
+ server:
16
+ - Server
17
+ content-type:
18
+ - text/xml;charset=UTF-8
19
+ vary:
20
+ - Accept-Encoding,User-Agent
21
+ nncoection:
22
+ - close
23
+ transfer-encoding:
24
+ - chunked
25
+ body: <?xml version="1.0" encoding="UTF-8"?><CartCreateResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2010-11-01"><OperationRequest><HTTPHeaders><Header
26
+ Name="UserAgent" Value="Jakarta Commons-HttpClient/3.0.1"></Header></HTTPHeaders><RequestId>19RMKP8JAFT5TDJ8FBCD</RequestId><Arguments><Argument
27
+ Name="Service" Value="AWSECommerceService"></Argument><Argument Name="Item.0.Quantity"
28
+ Value="1"></Argument><Argument Name="Operation" Value="CartCreate"></Argument><Argument
29
+ Name="Version" Value="2010-11-01"></Argument><Argument Name="Timestamp" Value="2011-09-04T15:14:33Z"></Argument><Argument
30
+ Name="AssociateTag"></Argument><Argument Name="Signature" Value="fQ1yWXRX44iW3XpOApWLW/9CBdV3K5mZdA3SZtg2fLI="></Argument><Argument
31
+ Name="Item.0.ASIN" Value="1430218150"></Argument><Argument Name="AWSAccessKeyId"
32
+ Value="AKIAJFA5X7RTOKFNPVZQ"></Argument></Arguments><RequestProcessingTime>0.135751962661743</RequestProcessingTime></OperationRequest><Cart><Request><IsValid>True</IsValid><CartCreateRequest><Items><Item><ASIN>1430218150</ASIN><Quantity>1</Quantity></Item></Items></CartCreateRequest></Request><CartId>180-1285717-6097004</CartId><HMAC>zbxJIldBYcf8Ce73+9SUPpdqh4E=</HMAC><URLEncodedHMAC>zbxJIldBYcf8Ce73%2B9SUPpdqh4E%3D</URLEncodedHMAC><PurchaseURL>https://www.amazon.com/gp/cart/aws-merge.html?cart-id=180-1285717-6097004%26associate-id=ws%26hmac=zbxJIldBYcf8Ce73%2B9SUPpdqh4E=%26SubscriptionId=AKIAJFA5X7RTOKFNPVZQ%26MergeCart=False</PurchaseURL><SubTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></SubTotal><CartItems><SubTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></SubTotal><CartItem><CartItemId>U3G241HVLLB8N6</CartItemId><ASIN>1430218150</ASIN><MerchantId>ATVPDKIKX0DER</MerchantId><SellerId>A2R2RITDJNW1Q6</SellerId><SellerNickname>Amazon.com</SellerNickname><Quantity>1</Quantity><Title>Learn
33
+ Objective-C on the Mac (Learn Series)</Title><ProductGroup>Book</ProductGroup><Price><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></Price><ItemTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></ItemTotal></CartItem></CartItems></Cart></CartCreateResponse>
34
+ http_version: '1.1'
35
+ - !ruby/struct:VCR::HTTPInteraction
36
+ request: !ruby/struct:VCR::Request
37
+ method: :get
38
+ uri: http://webservices.amazon.com:80/onca/xml?AWSAccessKeyId=AKIAJFA5X7RTOKFNPVZQ&AssociateTag=&CartId=180-1285717-6097004&HMAC=zbxJIldBYcf8Ce73+9SUPpdqh4E=&Operation=CartGet&Service=AWSECommerceService&Signature=+G/q1ITb0ceCsjLxZ5hY6121747ckI8kt1qYWn7vpiI=&Timestamp=2011-09-04T15:14:33Z&Version=2010-11-01
39
+ body: !!null
40
+ headers: !!null
41
+ response: !ruby/struct:VCR::Response
42
+ status: !ruby/struct:VCR::ResponseStatus
43
+ code: 200
44
+ message: OK
45
+ headers:
46
+ date:
47
+ - Sun, 04 Sep 2011 15:14:33 GMT
48
+ server:
49
+ - Server
50
+ content-type:
51
+ - text/xml;charset=UTF-8
52
+ vary:
53
+ - Accept-Encoding,User-Agent
54
+ nncoection:
55
+ - close
56
+ transfer-encoding:
57
+ - chunked
58
+ body: <?xml version="1.0" encoding="UTF-8"?><CartGetResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2010-11-01"><OperationRequest><HTTPHeaders><Header
59
+ Name="UserAgent" Value="Jakarta Commons-HttpClient/3.0.1"></Header></HTTPHeaders><RequestId>043J24JFBYP3C3N8CW4Y</RequestId><Arguments><Argument
60
+ Name="AssociateTag"></Argument><Argument Name="Service" Value="AWSECommerceService"></Argument><Argument
61
+ Name="Signature" Value="+G/q1ITb0ceCsjLxZ5hY6121747ckI8kt1qYWn7vpiI="></Argument><Argument
62
+ Name="HMAC" Value="zbxJIldBYcf8Ce73+9SUPpdqh4E="></Argument><Argument Name="Operation"
63
+ Value="CartGet"></Argument><Argument Name="CartId" Value="180-1285717-6097004"></Argument><Argument
64
+ Name="AWSAccessKeyId" Value="AKIAJFA5X7RTOKFNPVZQ"></Argument><Argument Name="Timestamp"
65
+ Value="2011-09-04T15:14:33Z"></Argument><Argument Name="Version" Value="2010-11-01"></Argument></Arguments><RequestProcessingTime>0.069011926651001</RequestProcessingTime></OperationRequest><Cart><Request><IsValid>True</IsValid><CartGetRequest><CartId>180-1285717-6097004</CartId><HMAC>zbxJIldBYcf8Ce73+9SUPpdqh4E=</HMAC></CartGetRequest></Request><CartId>180-1285717-6097004</CartId><HMAC>zbxJIldBYcf8Ce73+9SUPpdqh4E=</HMAC><URLEncodedHMAC>zbxJIldBYcf8Ce73%2B9SUPpdqh4E%3D</URLEncodedHMAC><PurchaseURL>https://www.amazon.com/gp/cart/aws-merge.html?cart-id=180-1285717-6097004%26associate-id=ws%26hmac=zbxJIldBYcf8Ce73%2B9SUPpdqh4E=%26SubscriptionId=AKIAJFA5X7RTOKFNPVZQ%26MergeCart=False</PurchaseURL><SubTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></SubTotal><CartItems><SubTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></SubTotal><CartItem><CartItemId>U3G241HVLLB8N6</CartItemId><ASIN>1430218150</ASIN><MerchantId>ATVPDKIKX0DER</MerchantId><SellerId>A2R2RITDJNW1Q6</SellerId><SellerNickname>Amazon.com</SellerNickname><Quantity>1</Quantity><Title>Learn
66
+ Objective-C on the Mac (Learn Series)</Title><ProductGroup>Book</ProductGroup><Price><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></Price><ItemTotal><Amount>2434</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$24.34</FormattedPrice></ItemTotal></CartItem></CartItems></Cart></CartGetResponse>
67
+ http_version: '1.1'
@@ -0,0 +1,63 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://webservices.amazon.com:80/onca/xml?AWSAccessKeyId=AKIAJFA5X7RTOKFNPVZQ&AssociateTag=&ItemId=1430218150&Operation=ItemLookup&ResponseGroup=Medium&Service=AWSECommerceService&Signature=o4arQ7mpwDM2yIOoXuXA3qSU7FsP8tBOxT3oWZu6T74=&Timestamp=2011-09-04T15:14:35Z&Version=2010-11-01
6
+ body: !!null
7
+ headers: !!null
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ date:
14
+ - Sun, 04 Sep 2011 15:14:36 GMT
15
+ server:
16
+ - Server
17
+ content-type:
18
+ - text/xml;charset=UTF-8
19
+ vary:
20
+ - Accept-Encoding,User-Agent
21
+ nncoection:
22
+ - close
23
+ transfer-encoding:
24
+ - chunked
25
+ body: <?xml version="1.0" ?><ItemLookupResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2010-11-01"><OperationRequest><RequestId>8f379224-95aa-42e8-8abd-274ded0ba08d</RequestId><Arguments><Argument
26
+ Name="Operation" Value="ItemLookup"></Argument><Argument Name="Service" Value="AWSECommerceService"></Argument><Argument
27
+ Name="ItemId" Value="1430218150"></Argument><Argument Name="AWSAccessKeyId"
28
+ Value="AKIAJFA5X7RTOKFNPVZQ"></Argument><Argument Name="Timestamp" Value="2011-09-04T15:14:35Z"></Argument><Argument
29
+ Name="Signature" Value="o4arQ7mpwDM2yIOoXuXA3qSU7FsP8tBOxT3oWZu6T74="></Argument><Argument
30
+ Name="ResponseGroup" Value="Medium"></Argument><Argument Name="AssociateTag"></Argument><Argument
31
+ Name="Version" Value="2010-11-01"></Argument></Arguments><RequestProcessingTime>0.0129220000000000</RequestProcessingTime></OperationRequest><Items><Request><IsValid>True</IsValid><ItemLookupRequest><Condition>New</Condition><DeliveryMethod>Ship</DeliveryMethod><IdType>ASIN</IdType><MerchantId>Amazon</MerchantId><OfferPage>1</OfferPage><ItemId>1430218150</ItemId><ResponseGroup>Medium</ResponseGroup><ReviewPage>1</ReviewPage><ReviewSort>-SubmissionDate</ReviewSort><VariationPage>All</VariationPage></ItemLookupRequest></Request><Item><ASIN>1430218150</ASIN><DetailPageURL>http://www.amazon.com/Learn-Objective-C-Mac-Mark-Dalrymple/dp/1430218150%3FSubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1430218150</DetailPageURL><ItemLinks><ItemLink><Description>Technical
32
+ Details</Description><URL>http://www.amazon.com/Learn-Objective-C-Mac-Mark-Dalrymple/dp/tech-data/1430218150%3FSubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink><ItemLink><Description>Add
33
+ To Baby Registry</Description><URL>http://www.amazon.com/gp/registry/baby/add-item.html%3Fasin.0%3D1430218150%26SubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink><ItemLink><Description>Add
34
+ To Wedding Registry</Description><URL>http://www.amazon.com/gp/registry/wedding/add-item.html%3Fasin.0%3D1430218150%26SubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink><ItemLink><Description>Add
35
+ To Wishlist</Description><URL>http://www.amazon.com/gp/registry/wishlist/add-item.html%3Fasin.0%3D1430218150%26SubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink><ItemLink><Description>Tell
36
+ A Friend</Description><URL>http://www.amazon.com/gp/pdp/taf/1430218150%3FSubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink><ItemLink><Description>All
37
+ Customer Reviews</Description><URL>http://www.amazon.com/review/product/1430218150%3FSubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink><ItemLink><Description>All
38
+ Offers</Description><URL>http://www.amazon.com/gp/offer-listing/1430218150%3FSubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink></ItemLinks><SalesRank>92255</SalesRank><SmallImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL75_.jpg</URL><Height
39
+ Units="pixels">75</Height><Width Units="pixels">57</Width></SmallImage><MediumImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL160_.jpg</URL><Height
40
+ Units="pixels">160</Height><Width Units="pixels">121</Width></MediumImage><LargeImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL.jpg</URL><Height
41
+ Units="pixels">500</Height><Width Units="pixels">379</Width></LargeImage><ImageSets><ImageSet
42
+ Category="primary"><SwatchImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL30_.jpg</URL><Height
43
+ Units="pixels">30</Height><Width Units="pixels">23</Width></SwatchImage><SmallImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL75_.jpg</URL><Height
44
+ Units="pixels">75</Height><Width Units="pixels">57</Width></SmallImage><ThumbnailImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL75_.jpg</URL><Height
45
+ Units="pixels">75</Height><Width Units="pixels">57</Width></ThumbnailImage><TinyImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL110_.jpg</URL><Height
46
+ Units="pixels">110</Height><Width Units="pixels">83</Width></TinyImage><MediumImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL160_.jpg</URL><Height
47
+ Units="pixels">160</Height><Width Units="pixels">121</Width></MediumImage><LargeImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL.jpg</URL><Height
48
+ Units="pixels">500</Height><Width Units="pixels">379</Width></LargeImage></ImageSet></ImageSets><ItemAttributes><Author>Mark
49
+ Dalrymple</Author><Author>Scott Knaster</Author><Binding>Paperback</Binding><Brand>Apress</Brand><CatalogNumberList><CatalogNumberListElement>9781430218159</CatalogNumberListElement></CatalogNumberList><DeweyDecimalNumber>005.117</DeweyDecimalNumber><EAN>9781430218159</EAN><EANList><EANListElement>9781430218159</EANListElement></EANList><Edition>1st
50
+ ed. 2009. Corr. 3rd printing</Edition><Feature>Apress Learn ObjectiveC on the
51
+ Mac</Feature><Feature>Take your coding skills to the next level with this extensive
52
+ guide to ObjectiveC, the native programming language for developing sophisticated
53
+ software applications for Mac OS X.</Feature><ISBN>1430218150</ISBN><IsEligibleForTradeIn>1</IsEligibleForTradeIn><ItemDimensions><Height
54
+ Units="hundredths-inches">90</Height><Length Units="hundredths-inches">925</Length><Weight
55
+ Units="hundredths-pounds">122</Weight><Width Units="hundredths-inches">697</Width></ItemDimensions><Label>Apress</Label><Languages><Language><Name>English</Name><Type>Unknown</Type></Language><Language><Name>English</Name><Type>Original
56
+ Language</Type></Language><Language><Name>English</Name><Type>Published</Type></Language></Languages><ListPrice><Amount>3999</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$39.99</FormattedPrice></ListPrice><Manufacturer>Apress</Manufacturer><MPN>978-1-4302-1815-9</MPN><NumberOfItems>1</NumberOfItems><NumberOfPages>360</NumberOfPages><PackageDimensions><Height
57
+ Units="hundredths-inches">102</Height><Length Units="hundredths-inches">921</Length><Weight
58
+ Units="hundredths-pounds">123</Weight><Width Units="hundredths-inches">701</Width></PackageDimensions><PartNumber>978-1-4302-1815-9</PartNumber><ProductGroup>Book</ProductGroup><ProductTypeName>ABIS_BOOK</ProductTypeName><PublicationDate>2008-12-25</PublicationDate><Publisher>Apress</Publisher><SKU>mon0000005185</SKU><Studio>Apress</Studio><Title>Learn
59
+ Objective-C on the Mac (Learn Series)</Title><TradeInValue><Amount>432</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$4.32</FormattedPrice></TradeInValue></ItemAttributes><OfferSummary><LowestNewPrice><Amount>1394</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$13.94</FormattedPrice></LowestNewPrice><LowestUsedPrice><Amount>1499</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$14.99</FormattedPrice></LowestUsedPrice><TotalNew>48</TotalNew><TotalUsed>26</TotalUsed><TotalCollectible>0</TotalCollectible><TotalRefurbished>0</TotalRefurbished></OfferSummary><EditorialReviews><EditorialReview><Source>Product
60
+ Description</Source><Content>&lt;P&gt;Learn Objective-C on the Macintosh is
61
+ a classic programming primer for Mac OS X developers. And it’s hard to believe,
62
+ but this will be the only guide to Objective-C specifically aimed at new developers!&lt;/P&gt;</Content><IsLinkSuppressed>0</IsLinkSuppressed></EditorialReview></EditorialReviews></Item></Items></ItemLookupResponse>
63
+ http_version: '1.1'
@@ -0,0 +1,63 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://webservices.amazon.com:80/onca/xml?AWSAccessKeyId=AKIAJFA5X7RTOKFNPVZQ&AssociateTag=&ItemId=1430218150&Operation=ItemLookup&ResponseGroup=Medium&Service=AWSECommerceService&Signature=1J3L4fkcOeUxwwtQAzzt1iQDXJNsiS0N0SsK5IhIdAk=&Timestamp=2011-09-04T15:14:37Z&Version=2010-11-01
6
+ body: !!null
7
+ headers: !!null
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ date:
14
+ - Sun, 04 Sep 2011 15:14:37 GMT
15
+ server:
16
+ - Server
17
+ content-type:
18
+ - text/xml;charset=UTF-8
19
+ vary:
20
+ - Accept-Encoding,User-Agent
21
+ nncoection:
22
+ - close
23
+ transfer-encoding:
24
+ - chunked
25
+ body: <?xml version="1.0" ?><ItemLookupResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2010-11-01"><OperationRequest><RequestId>09b771bd-d14d-4e3c-b68e-b54a549f2a3f</RequestId><Arguments><Argument
26
+ Name="Operation" Value="ItemLookup"></Argument><Argument Name="Service" Value="AWSECommerceService"></Argument><Argument
27
+ Name="Signature" Value="1J3L4fkcOeUxwwtQAzzt1iQDXJNsiS0N0SsK5IhIdAk="></Argument><Argument
28
+ Name="AssociateTag"></Argument><Argument Name="Version" Value="2010-11-01"></Argument><Argument
29
+ Name="ItemId" Value="1430218150"></Argument><Argument Name="AWSAccessKeyId"
30
+ Value="AKIAJFA5X7RTOKFNPVZQ"></Argument><Argument Name="Timestamp" Value="2011-09-04T15:14:37Z"></Argument><Argument
31
+ Name="ResponseGroup" Value="Medium"></Argument></Arguments><RequestProcessingTime>0.0137080000000000</RequestProcessingTime></OperationRequest><Items><Request><IsValid>True</IsValid><ItemLookupRequest><Condition>New</Condition><DeliveryMethod>Ship</DeliveryMethod><IdType>ASIN</IdType><MerchantId>Amazon</MerchantId><OfferPage>1</OfferPage><ItemId>1430218150</ItemId><ResponseGroup>Medium</ResponseGroup><ReviewPage>1</ReviewPage><ReviewSort>-SubmissionDate</ReviewSort><VariationPage>All</VariationPage></ItemLookupRequest></Request><Item><ASIN>1430218150</ASIN><DetailPageURL>http://www.amazon.com/Learn-Objective-C-Mac-Mark-Dalrymple/dp/1430218150%3FSubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1430218150</DetailPageURL><ItemLinks><ItemLink><Description>Technical
32
+ Details</Description><URL>http://www.amazon.com/Learn-Objective-C-Mac-Mark-Dalrymple/dp/tech-data/1430218150%3FSubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink><ItemLink><Description>Add
33
+ To Baby Registry</Description><URL>http://www.amazon.com/gp/registry/baby/add-item.html%3Fasin.0%3D1430218150%26SubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink><ItemLink><Description>Add
34
+ To Wedding Registry</Description><URL>http://www.amazon.com/gp/registry/wedding/add-item.html%3Fasin.0%3D1430218150%26SubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink><ItemLink><Description>Add
35
+ To Wishlist</Description><URL>http://www.amazon.com/gp/registry/wishlist/add-item.html%3Fasin.0%3D1430218150%26SubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink><ItemLink><Description>Tell
36
+ A Friend</Description><URL>http://www.amazon.com/gp/pdp/taf/1430218150%3FSubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink><ItemLink><Description>All
37
+ Customer Reviews</Description><URL>http://www.amazon.com/review/product/1430218150%3FSubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink><ItemLink><Description>All
38
+ Offers</Description><URL>http://www.amazon.com/gp/offer-listing/1430218150%3FSubscriptionId%3DAKIAJFA5X7RTOKFNPVZQ%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D1430218150</URL></ItemLink></ItemLinks><SalesRank>92255</SalesRank><SmallImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL75_.jpg</URL><Height
39
+ Units="pixels">75</Height><Width Units="pixels">57</Width></SmallImage><MediumImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL160_.jpg</URL><Height
40
+ Units="pixels">160</Height><Width Units="pixels">121</Width></MediumImage><LargeImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL.jpg</URL><Height
41
+ Units="pixels">500</Height><Width Units="pixels">379</Width></LargeImage><ImageSets><ImageSet
42
+ Category="primary"><SwatchImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL30_.jpg</URL><Height
43
+ Units="pixels">30</Height><Width Units="pixels">23</Width></SwatchImage><SmallImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL75_.jpg</URL><Height
44
+ Units="pixels">75</Height><Width Units="pixels">57</Width></SmallImage><ThumbnailImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL75_.jpg</URL><Height
45
+ Units="pixels">75</Height><Width Units="pixels">57</Width></ThumbnailImage><TinyImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL110_.jpg</URL><Height
46
+ Units="pixels">110</Height><Width Units="pixels">83</Width></TinyImage><MediumImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL._SL160_.jpg</URL><Height
47
+ Units="pixels">160</Height><Width Units="pixels">121</Width></MediumImage><LargeImage><URL>http://ecx.images-amazon.com/images/I/41kq5bDvnUL.jpg</URL><Height
48
+ Units="pixels">500</Height><Width Units="pixels">379</Width></LargeImage></ImageSet></ImageSets><ItemAttributes><Author>Mark
49
+ Dalrymple</Author><Author>Scott Knaster</Author><Binding>Paperback</Binding><Brand>Apress</Brand><CatalogNumberList><CatalogNumberListElement>9781430218159</CatalogNumberListElement></CatalogNumberList><DeweyDecimalNumber>005.117</DeweyDecimalNumber><EAN>9781430218159</EAN><EANList><EANListElement>9781430218159</EANListElement></EANList><Edition>1st
50
+ ed. 2009. Corr. 3rd printing</Edition><Feature>Apress Learn ObjectiveC on the
51
+ Mac</Feature><Feature>Take your coding skills to the next level with this extensive
52
+ guide to ObjectiveC, the native programming language for developing sophisticated
53
+ software applications for Mac OS X.</Feature><ISBN>1430218150</ISBN><IsEligibleForTradeIn>1</IsEligibleForTradeIn><ItemDimensions><Height
54
+ Units="hundredths-inches">90</Height><Length Units="hundredths-inches">925</Length><Weight
55
+ Units="hundredths-pounds">122</Weight><Width Units="hundredths-inches">697</Width></ItemDimensions><Label>Apress</Label><Languages><Language><Name>English</Name><Type>Unknown</Type></Language><Language><Name>English</Name><Type>Original
56
+ Language</Type></Language><Language><Name>English</Name><Type>Published</Type></Language></Languages><ListPrice><Amount>3999</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$39.99</FormattedPrice></ListPrice><Manufacturer>Apress</Manufacturer><MPN>978-1-4302-1815-9</MPN><NumberOfItems>1</NumberOfItems><NumberOfPages>360</NumberOfPages><PackageDimensions><Height
57
+ Units="hundredths-inches">102</Height><Length Units="hundredths-inches">921</Length><Weight
58
+ Units="hundredths-pounds">123</Weight><Width Units="hundredths-inches">701</Width></PackageDimensions><PartNumber>978-1-4302-1815-9</PartNumber><ProductGroup>Book</ProductGroup><ProductTypeName>ABIS_BOOK</ProductTypeName><PublicationDate>2008-12-25</PublicationDate><Publisher>Apress</Publisher><SKU>mon0000005185</SKU><Studio>Apress</Studio><Title>Learn
59
+ Objective-C on the Mac (Learn Series)</Title><TradeInValue><Amount>432</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$4.32</FormattedPrice></TradeInValue></ItemAttributes><OfferSummary><LowestNewPrice><Amount>1394</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$13.94</FormattedPrice></LowestNewPrice><LowestUsedPrice><Amount>1499</Amount><CurrencyCode>USD</CurrencyCode><FormattedPrice>$14.99</FormattedPrice></LowestUsedPrice><TotalNew>48</TotalNew><TotalUsed>26</TotalUsed><TotalCollectible>0</TotalCollectible><TotalRefurbished>0</TotalRefurbished></OfferSummary><EditorialReviews><EditorialReview><Source>Product
60
+ Description</Source><Content>&lt;P&gt;Learn Objective-C on the Macintosh is
61
+ a classic programming primer for Mac OS X developers. And it’s hard to believe,
62
+ but this will be the only guide to Objective-C specifically aimed at new developers!&lt;/P&gt;</Content><IsLinkSuppressed>0</IsLinkSuppressed></EditorialReview></EditorialReviews></Item></Items></ItemLookupResponse>
63
+ http_version: '1.1'