amazon-associates 0.6.3

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 (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