amazon-associates 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/.gitignore +3 -0
  2. data/CHANGELOG +29 -0
  3. data/LICENSE +21 -0
  4. data/README.rdoc +84 -0
  5. data/Rakefile +62 -0
  6. data/VERSION.yml +5 -0
  7. data/amazon-associates.gemspec +118 -0
  8. data/lib/amazon-associates.rb +90 -0
  9. data/lib/amazon-associates/caching/filesystem_cache.rb +121 -0
  10. data/lib/amazon-associates/errors.rb +23 -0
  11. data/lib/amazon-associates/extensions/core.rb +31 -0
  12. data/lib/amazon-associates/extensions/hpricot.rb +115 -0
  13. data/lib/amazon-associates/request.rb +143 -0
  14. data/lib/amazon-associates/requests/browse_node.rb +10 -0
  15. data/lib/amazon-associates/requests/cart.rb +81 -0
  16. data/lib/amazon-associates/requests/item.rb +13 -0
  17. data/lib/amazon-associates/responses/browse_node_lookup_response.rb +10 -0
  18. data/lib/amazon-associates/responses/cart_responses.rb +26 -0
  19. data/lib/amazon-associates/responses/item_lookup_response.rb +16 -0
  20. data/lib/amazon-associates/responses/item_search_response.rb +20 -0
  21. data/lib/amazon-associates/responses/response.rb +27 -0
  22. data/lib/amazon-associates/responses/similarity_lookup_response.rb +9 -0
  23. data/lib/amazon-associates/types/api_result.rb +8 -0
  24. data/lib/amazon-associates/types/browse_node.rb +48 -0
  25. data/lib/amazon-associates/types/cart.rb +87 -0
  26. data/lib/amazon-associates/types/customer_review.rb +15 -0
  27. data/lib/amazon-associates/types/editorial_review.rb +8 -0
  28. data/lib/amazon-associates/types/error.rb +8 -0
  29. data/lib/amazon-associates/types/image.rb +37 -0
  30. data/lib/amazon-associates/types/image_set.rb +11 -0
  31. data/lib/amazon-associates/types/item.rb +156 -0
  32. data/lib/amazon-associates/types/listmania_list.rb +9 -0
  33. data/lib/amazon-associates/types/measurement.rb +47 -0
  34. data/lib/amazon-associates/types/offer.rb +10 -0
  35. data/lib/amazon-associates/types/ordinal.rb +24 -0
  36. data/lib/amazon-associates/types/price.rb +29 -0
  37. data/lib/amazon-associates/types/requests.rb +50 -0
  38. data/spec/requests/browse_node_lookup_spec.rb +41 -0
  39. data/spec/requests/item_search_spec.rb +27 -0
  40. data/spec/spec_helper.rb +8 -0
  41. data/spec/types/cart_spec.rb +294 -0
  42. data/spec/types/item_spec.rb +55 -0
  43. data/spec/types/measurement_spec.rb +43 -0
  44. data/test/amazon/browse_node_test.rb +34 -0
  45. data/test/amazon/cache_test.rb +33 -0
  46. data/test/amazon/caching/filesystem_cache_test.rb +198 -0
  47. data/test/amazon/item_test.rb +397 -0
  48. data/test/test_helper.rb +9 -0
  49. data/test/utilities/filesystem_test_helper.rb +35 -0
  50. metadata +216 -0
@@ -0,0 +1,9 @@
1
+ require "rubygems"
2
+ require "test/unit"
3
+ require "shoulda"
4
+ require "mocha"
5
+
6
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__) , '..', 'lib'))
7
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__) , 'utilities'))
8
+ require 'amazon-associates'
9
+ require 'filesystem_test_helper'
@@ -0,0 +1,35 @@
1
+ module FilesystemTestHelper
2
+ CACHE_TEST_PATH = File.join(File.dirname(__FILE__), "../amazon/caching/cache/")
3
+
4
+ protected
5
+ def set_valid_caching_options(path = nil)
6
+ path ||= File.join(File.dirname(__FILE__), "cache")
7
+ if @path
8
+ raise "Expected same path: #{path} != #{@path}" if path != @path
9
+ return
10
+ end
11
+
12
+ @path = path
13
+
14
+ #configure Amazon library for filesystem caching
15
+ FileUtils.mkdir_p(@path)
16
+ Amazon::Associates.configure do |options|
17
+ options.merge!(:caching_strategy => :filesystem,
18
+ :caching_options => {
19
+ :cache_path => @path,
20
+ :disk_quota => 200
21
+ })
22
+ end
23
+ end
24
+
25
+ def reset_cache
26
+ #reset caching to off
27
+ Amazon::Associates.configure do |options|
28
+ options.delete(:caching_strategy)
29
+ options.delete(:caching_options)
30
+ end
31
+
32
+ #remove all the cache files
33
+ FileUtils.rm_rf(@path)
34
+ end
35
+ end
metadata ADDED
@@ -0,0 +1,216 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: amazon-associates
3
+ version: !ruby/object:Gem::Version
4
+ hash: 1
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 6
9
+ - 3
10
+ version: 0.6.3
11
+ platform: ruby
12
+ authors:
13
+ - Ben Woosley
14
+ - Dan Pickett
15
+ - Herryanto Siatono
16
+ autorequire:
17
+ bindir: bin
18
+ cert_chain: []
19
+
20
+ date: 2010-08-16 00:00:00 -04:00
21
+ default_executable:
22
+ dependencies:
23
+ - !ruby/object:Gem::Dependency
24
+ name: roxml
25
+ prerelease: false
26
+ requirement: &id001 !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ hash: 5
32
+ segments:
33
+ - 3
34
+ - 1
35
+ - 3
36
+ version: 3.1.3
37
+ type: :runtime
38
+ version_requirements: *id001
39
+ - !ruby/object:Gem::Dependency
40
+ name: activesupport
41
+ prerelease: false
42
+ requirement: &id002 !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ hash: 11
48
+ segments:
49
+ - 2
50
+ - 3
51
+ - 4
52
+ version: 2.3.4
53
+ type: :runtime
54
+ version_requirements: *id002
55
+ - !ruby/object:Gem::Dependency
56
+ name: ruby-hmac
57
+ prerelease: false
58
+ requirement: &id003 !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ hash: 3
64
+ segments:
65
+ - 0
66
+ version: "0"
67
+ type: :runtime
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ name: will_paginate
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ hash: 3
78
+ segments:
79
+ - 0
80
+ version: "0"
81
+ type: :runtime
82
+ version_requirements: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ name: thoughtbot-shoulda
85
+ prerelease: false
86
+ requirement: &id005 !ruby/object:Gem::Requirement
87
+ none: false
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ hash: 3
92
+ segments:
93
+ - 0
94
+ version: "0"
95
+ type: :development
96
+ version_requirements: *id005
97
+ - !ruby/object:Gem::Dependency
98
+ name: mocha
99
+ prerelease: false
100
+ requirement: &id006 !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ hash: 3
106
+ segments:
107
+ - 0
108
+ version: "0"
109
+ type: :development
110
+ version_requirements: *id006
111
+ description: amazon-associates offers object-oriented access to the Amazon Associates API, built on ROXML
112
+ email: ben.woosley@gmail.com
113
+ executables: []
114
+
115
+ extensions: []
116
+
117
+ extra_rdoc_files:
118
+ - LICENSE
119
+ - README.rdoc
120
+ files:
121
+ - .gitignore
122
+ - CHANGELOG
123
+ - LICENSE
124
+ - README.rdoc
125
+ - Rakefile
126
+ - VERSION.yml
127
+ - amazon-associates.gemspec
128
+ - lib/amazon-associates.rb
129
+ - lib/amazon-associates/caching/filesystem_cache.rb
130
+ - lib/amazon-associates/errors.rb
131
+ - lib/amazon-associates/extensions/core.rb
132
+ - lib/amazon-associates/extensions/hpricot.rb
133
+ - lib/amazon-associates/request.rb
134
+ - lib/amazon-associates/requests/browse_node.rb
135
+ - lib/amazon-associates/requests/cart.rb
136
+ - lib/amazon-associates/requests/item.rb
137
+ - lib/amazon-associates/responses/browse_node_lookup_response.rb
138
+ - lib/amazon-associates/responses/cart_responses.rb
139
+ - lib/amazon-associates/responses/item_lookup_response.rb
140
+ - lib/amazon-associates/responses/item_search_response.rb
141
+ - lib/amazon-associates/responses/response.rb
142
+ - lib/amazon-associates/responses/similarity_lookup_response.rb
143
+ - lib/amazon-associates/types/api_result.rb
144
+ - lib/amazon-associates/types/browse_node.rb
145
+ - lib/amazon-associates/types/cart.rb
146
+ - lib/amazon-associates/types/customer_review.rb
147
+ - lib/amazon-associates/types/editorial_review.rb
148
+ - lib/amazon-associates/types/error.rb
149
+ - lib/amazon-associates/types/image.rb
150
+ - lib/amazon-associates/types/image_set.rb
151
+ - lib/amazon-associates/types/item.rb
152
+ - lib/amazon-associates/types/listmania_list.rb
153
+ - lib/amazon-associates/types/measurement.rb
154
+ - lib/amazon-associates/types/offer.rb
155
+ - lib/amazon-associates/types/ordinal.rb
156
+ - lib/amazon-associates/types/price.rb
157
+ - lib/amazon-associates/types/requests.rb
158
+ - spec/requests/browse_node_lookup_spec.rb
159
+ - spec/requests/item_search_spec.rb
160
+ - spec/spec_helper.rb
161
+ - spec/types/cart_spec.rb
162
+ - spec/types/item_spec.rb
163
+ - spec/types/measurement_spec.rb
164
+ - test/amazon/browse_node_test.rb
165
+ - test/amazon/cache_test.rb
166
+ - test/amazon/caching/filesystem_cache_test.rb
167
+ - test/amazon/item_test.rb
168
+ - test/test_helper.rb
169
+ - test/utilities/filesystem_test_helper.rb
170
+ has_rdoc: true
171
+ homepage: http://github.com/Empact/amazon-associates
172
+ licenses: []
173
+
174
+ post_install_message:
175
+ rdoc_options:
176
+ - --charset=UTF-8
177
+ require_paths:
178
+ - lib
179
+ required_ruby_version: !ruby/object:Gem::Requirement
180
+ none: false
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ hash: 3
185
+ segments:
186
+ - 0
187
+ version: "0"
188
+ required_rubygems_version: !ruby/object:Gem::Requirement
189
+ none: false
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ hash: 3
194
+ segments:
195
+ - 0
196
+ version: "0"
197
+ requirements: []
198
+
199
+ rubyforge_project:
200
+ rubygems_version: 1.3.7
201
+ signing_key:
202
+ specification_version: 3
203
+ summary: Generic Amazon Associates Web Service (Formerly ECS) REST API. Supports ECS 4.0.
204
+ test_files:
205
+ - spec/requests/browse_node_lookup_spec.rb
206
+ - spec/requests/item_search_spec.rb
207
+ - spec/spec_helper.rb
208
+ - spec/types/cart_spec.rb
209
+ - spec/types/item_spec.rb
210
+ - spec/types/measurement_spec.rb
211
+ - test/amazon/browse_node_test.rb
212
+ - test/amazon/cache_test.rb
213
+ - test/amazon/caching/filesystem_cache_test.rb
214
+ - test/amazon/item_test.rb
215
+ - test/test_helper.rb
216
+ - test/utilities/filesystem_test_helper.rb