public
Description: API wrapper for Amazon Associates Web Service.
Clone URL: git://github.com/jnunemaker/aaws.git
Search Repo:
starting to add parsing of responses and such
jnunemaker (author)
Thu May 08 09:33:18 -0700 2008
commit  8a95d8eccdbf362dfcc4f07f380101b2e982b644
tree    d949dede457c588ae0d737cebc519034c03381c3
parent  1955a037d3bc0580b699658f13f3efb7d7c490c7
...
5
6
7
8
 
...
5
6
7
 
8
0
@@ -5,5 +5,5 @@
0
 config = YAML::load(open(ENV['HOME'] + '/.aaws'))
0
 
0
 AAWS::Base.establish_connection(config[:access_key])
0
-pp AAWS::Book.search(:title => 'Harry Potter')
0
+pp AAWS::Book.search(:title => 'Ruby on Rails')
...
4
5
6
7
 
 
 
 
8
9
10
...
4
5
6
 
7
8
9
10
11
12
13
0
@@ -4,7 +4,10 @@
0
 # Operation=ItemSearch&SearchIndex=Books&Title=Harry%20Potter&Version=2008-03-03
0
 
0
 require 'rubygems'
0
-require 'active_support'
0
+gem 'activesupport', '>= 2.0.2'
0
+require 'activesupport'
0
+gem 'hpricot', '>= 0.6'
0
+require 'hpricot'
0
 require 'class_level_inheritable_attributes'
0
 require 'aaws/base'
0
 require 'aaws/connection'
...
7
8
9
10
11
12
13
...
20
21
22
 
 
 
 
23
24
25
...
7
8
9
 
10
11
12
...
19
20
21
22
23
24
25
26
27
28
0
@@ -7,7 +7,6 @@
0
     
0
     def self.establish_connection(access_key)
0
       raise ArgumentError, "Missing access key in establish_connection" if access_key.blank?
0
- @default_params ||= {}
0
       @default_params[:aws_access_key_id] = access_key
0
     end
0
     
0
@@ -20,6 +19,10 @@
0
       params, options = {}, default_params.merge(options)
0
       options.map { |k,v| params[k.to_s.camelize.gsub(/^aws/i, 'AWS')] = v }
0
       connection.get('/onca/xml', params)
0
+ end
0
+
0
+ def self.parse(xml)
0
+ Hpricot::XML(xml)
0
     end
0
   end
0
 end
...
6
7
8
9
 
 
 
 
 
10
11
...
6
7
8
 
9
10
11
12
13
14
15
0
@@ -6,7 +6,11 @@
0
   end
0
   
0
   it "should return a collection of book objects when searching" do
0
- AAWS::Book.search(:title => 'Ruby on Rails')
0
+ AAWS::Base.establish_connection('blah')
0
+ xml = open(File.dirname(__FILE__) + '/fixtures/book_search_ruby_on_rails.xml').read
0
+ AAWS::Connection.should_receive(:get).and_return(xml)
0
+ books = AAWS::Book.search(:title => 'Ruby on Rails')
0
+
0
   end
0
 end
...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
0
@@ -1 +1,138 @@
0
+<?xml version=\"1.0\" encoding=\"UTF-8\"?>
0
+<ItemSearchResponse xmlns=\"http://webservices.amazon.com/AWSECommerceService/2005-10-05\">
0
+ <OperationRequest>
0
+ <HTTPHeaders>
0
+ <Header Name=\"UserAgent\">
0
+ </Header>
0
+ </HTTPHeaders>
0
+ <RequestId>16WRJBVEM155Q026KCV1</RequestId>
0
+ <Arguments>
0
+ <Argument Name=\"SearchIndex\" Value=\"Books\">
0
+ </Argument>
0
+ <Argument Name=\"Service\" Value=\"AWSECommerceService\">
0
+ </Argument>
0
+ <Argument Name=\"Title\" Value=\"Ruby on Rails\">
0
+ </Argument>
0
+ <Argument Name=\"Operation\" Value=\"ItemSearch\">
0
+ </Argument>
0
+ <Argument Name=\"AWSAccessKeyId\" Value=\"13BGQE8Q6AKCRYPHG0G2\">
0
+ </Argument>
0
+ </Arguments>
0
+ <RequestProcessingTime>0.064924955368042</RequestProcessingTime>
0
+ </OperationRequest>
0
+ <Items>
0
+ <Request>
0
+ <IsValid>True</IsValid>
0
+ <ItemSearchRequest>
0
+ <SearchIndex>Books</SearchIndex>
0
+ <Title>Ruby on Rails</Title>
0
+ </ItemSearchRequest>
0
+ </Request>
0
+ <TotalResults>22</TotalResults>
0
+ <TotalPages>3</TotalPages>
0
+ <Item>
0
+ <ASIN>0321480791</ASIN>
0
+ <DetailPageURL>http://www.amazon.com/gp/redirect.html%3FASIN=0321480791%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0321480791%253FSubscriptionId=13BGQE8Q6AKCRYPHG0G2</DetailPageURL>
0
+ <ItemAttributes>
0
+ <Author>Michael Hartl</Author>
0
+ <Author>Aurelius Prochazka</Author>
0
+ <Manufacturer>Addison-Wesley Professional</Manufacturer>
0
+ <ProductGroup>Book</ProductGroup>
0
+ <Title>RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series)</Title>
0
+ </ItemAttributes>
0
+ </Item>
0
+ <Item>
0
+ <ASIN>047022388X</ASIN>
0
+ <DetailPageURL>http://www.amazon.com/gp/redirect.html%3FASIN=047022388X%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/047022388X%253FSubscriptionId=13BGQE8Q6AKCRYPHG0G2</DetailPageURL>
0
+ <ItemAttributes>
0
+ <Author>Noel Rappin</Author>
0
+ <Manufacturer>Wrox</Manufacturer>
0
+ <ProductGroup>Book</ProductGroup>
0
+ <Title>Professional Ruby on Rails</Title>
0
+ </ItemAttributes>
0
+ </Item>
0
+ <Item>
0
+ <ASIN>1590598814</ASIN>
0
+ <DetailPageURL>http://www.amazon.com/gp/redirect.html%3FASIN=1590598814%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/1590598814%253FSubscriptionId=13BGQE8Q6AKCRYPHG0G2</DetailPageURL>
0
+ <ItemAttributes>
0
+ <Author>Ola Bini</Author>
0
+ <Manufacturer>Apress</Manufacturer>
0
+ <ProductGroup>Book</ProductGroup>
0
+ <Title>Practical JRuby on Rails Web 2.0 Projects: Bringing Ruby on Rails to Java</Title>
0
+ </ItemAttributes>
0
+ </Item>
0
+ <Item>
0
+ <ASIN>0596101325</ASIN>
0
+ <DetailPageURL>http://www.amazon.com/gp/redirect.html%3FASIN=0596101325%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0596101325%253FSubscriptionId=13BGQE8Q6AKCRYPHG0G2</DetailPageURL>
0
+ <ItemAttributes>
0
+ <Author>Bruce Tate</Author>
0
+ <Author>Curt Hibbs</Author>
0
+ <Manufacturer>O'Reilly Media, Inc.</Manufacturer>
0
+ <ProductGroup>Book</ProductGroup>
0
+ <Title>Ruby on Rails: Up and Running</Title>
0
+ </ItemAttributes>
0
+ </Item>
0
+ <Item>
0
+ <ASIN>0470081201</ASIN>
0
+ <DetailPageURL>http://www.amazon.com/gp/redirect.html%3FASIN=0470081201%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0470081201%253FSubscriptionId=13BGQE8Q6AKCRYPHG0G2</DetailPageURL>
0
+ <ItemAttributes>
0
+ <Author>Barry Burd</Author>
0
+ <Manufacturer>For Dummies</Manufacturer>
0
+ <ProductGroup>Book</ProductGroup>
0
+ <Title>Ruby on Rails For Dummies (For Dummies (Computer/Tech))</Title>
0
+ </ItemAttributes>
0
+ </Item>
0
+ <Item>
0
+ <ASIN>0975841955</ASIN>
0
+ <DetailPageURL>http://www.amazon.com/gp/redirect.html%3FASIN=0975841955%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0975841955%253FSubscriptionId=13BGQE8Q6AKCRYPHG0G2</DetailPageURL>
0
+ <ItemAttributes>
0
+ <Author>Patrick Lenz</Author>
0
+ <Manufacturer>SitePoint</Manufacturer>
0
+ <ProductGroup>Book</ProductGroup>
0
+ <Title>Build Your Own Ruby on Rails Web Applications</Title>
0
+ </ItemAttributes>
0
+ </Item>
0
+ <Item>
0
+ <ASIN>0470069155</ASIN>
0
+ <DetailPageURL>http://www.amazon.com/gp/redirect.html%3FASIN=0470069155%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0470069155%253FSubscriptionId=13BGQE8Q6AKCRYPHG0G2</DetailPageURL>
0
+ <ItemAttributes>
0
+ <Author>Steve, Ph.D. Holzner</Author>
0
+ <Manufacturer>Wrox</Manufacturer>
0
+ <ProductGroup>Book</ProductGroup>
0
+ <Title>Beginning Ruby on Rails (Wrox Beginning Guides)</Title>
0
+ </ItemAttributes>
0
+ </Item>
0
+ <Item>
0
+ <ASIN>1590597362</ASIN>
0
+ <DetailPageURL>http://www.amazon.com/gp/redirect.html%3FASIN=1590597362%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/1590597362%253FSubscriptionId=13BGQE8Q6AKCRYPHG0G2</DetailPageURL>
0
+ <ItemAttributes>
0
+ <Author>Christian Hellsten</Author>
0
+ <Author>Jarkko Laine</Author>
0
+ <Manufacturer>Apress</Manufacturer>
0
+ <ProductGroup>Book</ProductGroup>
0
+ <Title>Beginning Ruby on Rails E-Commerce: From Novice to Professional (Rails)</Title>
0
+ </ItemAttributes>
0
+ </Item>
0
+ <Item>
0
+ <ASIN>1590597524</ASIN>
0
+ <DetailPageURL>http://www.amazon.com/gp/redirect.html%3FASIN=1590597524%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/1590597524%253FSubscriptionId=13BGQE8Q6AKCRYPHG0G2</DetailPageURL>
0
+ <ItemAttributes>
0
+ <Author>Justin Williams</Author>
0
+ <Manufacturer>friends of ED</Manufacturer>
0
+ <ProductGroup>Book</ProductGroup>
0
+ <Title>Rails Solutions: Ruby on Rails Made Easy (Solutions)</Title>
0
+ </ItemAttributes>
0
+ </Item>
0
+ <Item>
0
+ <ASIN>0321517067</ASIN>
0
+ <DetailPageURL>http://www.amazon.com/gp/redirect.html%3FASIN=0321517067%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0321517067%253FSubscriptionId=13BGQE8Q6AKCRYPHG0G2</DetailPageURL>
0
+ <ItemAttributes>
0
+ <Author>Aurelius Prochazka</Author>
0
+ <Manufacturer>Addison-Wesley Professional</Manufacturer>
0
+ <ProductGroup>Book</ProductGroup>
0
+ <Title>RailsSpace Ruby on Rails Tutorial (Video Training) (LiveLessons)</Title>
0
+ </ItemAttributes>
0
+ </Item>
0
+ </Items>
0
+</ItemSearchResponse>

Comments

    No one has commented yet.