rasin 0.7.0

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 (42) hide show
  1. data/.document +3 -0
  2. data/.gitignore +6 -0
  3. data/.travis.yml +13 -0
  4. data/CHANGELOG.rdoc +49 -0
  5. data/Gemfile +4 -0
  6. data/Gemfile.lock +54 -0
  7. data/README.rdoc +166 -0
  8. data/asin.gemspec +36 -0
  9. data/lib/asin.rb +8 -0
  10. data/lib/asin/client.rb +398 -0
  11. data/lib/asin/configuration.rb +105 -0
  12. data/lib/asin/simple_cart.rb +54 -0
  13. data/lib/asin/simple_item.rb +44 -0
  14. data/lib/asin/simple_node.rb +44 -0
  15. data/lib/asin/version.rb +3 -0
  16. data/rakefile.rb +11 -0
  17. data/spec/asin.yml +4 -0
  18. data/spec/browse_node_spec.rb +17 -0
  19. data/spec/cart_spec.rb +150 -0
  20. data/spec/cassettes/asin/asin_cart_with_an_existing_cart_should_add_items_to_a_cart.yml +68 -0
  21. data/spec/cassettes/asin/asin_cart_with_an_existing_cart_should_clear_a_cart.yml +66 -0
  22. data/spec/cassettes/asin/asin_cart_with_an_existing_cart_should_get_a_cart.yml +67 -0
  23. data/spec/cassettes/asin/asin_cart_with_an_existing_cart_should_update_a_cart.yml +70 -0
  24. data/spec/cassettes/asin/browse_node_should_lookup_a_browse_node.yml +38 -0
  25. data/spec/cassettes/asin/cart_should_create_a_cart.yml +36 -0
  26. data/spec/cassettes/asin/lookup_and_search_should_have_metadata.yml +81 -0
  27. data/spec/cassettes/asin/lookup_and_search_should_lookup_a_book.yml +81 -0
  28. data/spec/cassettes/asin/lookup_and_search_should_lookup_multiple_books.yml +131 -0
  29. data/spec/cassettes/asin/lookup_and_search_should_lookup_multiple_response_groups.yml +43 -0
  30. data/spec/cassettes/asin/lookup_and_search_should_return_a_custom_item_class.yml +81 -0
  31. data/spec/cassettes/asin/lookup_and_search_should_return_a_mash_value.yml +81 -0
  32. data/spec/cassettes/asin/lookup_and_search_should_return_a_rash_value.yml +81 -0
  33. data/spec/cassettes/asin/lookup_and_search_should_return_a_raw_value.yml +81 -0
  34. data/spec/cassettes/asin/lookup_and_search_should_search_keywords_a_book_with_fulltext.yml +538 -0
  35. data/spec/cassettes/asin/lookup_and_search_should_search_keywords_and_handle_a_single_result.yml +72 -0
  36. data/spec/cassettes/asin/lookup_and_search_should_search_keywords_never_mind_music.yml +119 -0
  37. data/spec/cassettes/asin/lookup_and_search_should_search_music.yml +37 -0
  38. data/spec/cassettes/asin/lookup_and_search_should_search_never_mind_music.yml +122 -0
  39. data/spec/config_spec.rb +53 -0
  40. data/spec/search_spec.rb +101 -0
  41. data/spec/spec_helper.rb +47 -0
  42. metadata +197 -0
@@ -0,0 +1,47 @@
1
+ $:.unshift File.join(File.dirname(__FILE__),'..','..','lib')
2
+
3
+ require 'rspec'
4
+ require 'asin'
5
+ require 'asin/client' # is somehow needed for jruby
6
+ require 'pp'
7
+ require 'httpclient'
8
+ require 'vcr'
9
+ require 'httpi'
10
+
11
+ VCR.config do |c|
12
+ c.cassette_library_dir = 'spec/cassettes'
13
+ c.stub_with :webmock
14
+ # c.default_cassette_options = { :record => :new_episodes }
15
+ end
16
+
17
+ ANY_ASIN = '1430218150'
18
+ ANY_OTHER_ASIN = '1430216263'
19
+ ANY_BROWSE_NODE_ID = '599826'
20
+
21
+ RSpec.configure do |config|
22
+ config.mock_with :rspec
23
+
24
+ # https://gist.github.com/1212530
25
+ config.treat_symbols_as_metadata_keys_with_true_values = true
26
+ config.around(:each, :vcr => true) do |example|
27
+ name = example.metadata[:full_description].downcase.gsub(/\W+/, "_").split("_", 2).join("/")
28
+ VCR.use_cassette(name, :record => :new_episodes, :match_requests_on => [:host, :path]) do
29
+ example.call
30
+ end
31
+ end
32
+
33
+ config.before :each do
34
+ HTTPI.log = false
35
+
36
+ ASIN::Configuration.reset
37
+ @helper = ASIN::Client.instance
38
+ @helper.configure :logger => nil
39
+
40
+ @secret = ENV['ASIN_SECRET']
41
+ @key = ENV['ASIN_KEY']
42
+ end
43
+ end
44
+
45
+ # setup for travis-ci
46
+ ENV['ASIN_SECRET'] ||= 'any_secret'
47
+ ENV['ASIN_KEY'] ||= 'any_key'
metadata ADDED
@@ -0,0 +1,197 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rasin
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Peter Schröder
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-02-07 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: crack
16
+ requirement: &80125230 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '0.3'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *80125230
25
+ - !ruby/object:Gem::Dependency
26
+ name: hashie
27
+ requirement: &80124920 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '1.1'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *80124920
36
+ - !ruby/object:Gem::Dependency
37
+ name: httpi
38
+ requirement: &80124690 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: '0.9'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *80124690
47
+ - !ruby/object:Gem::Dependency
48
+ name: httpclient
49
+ requirement: &80124370 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.2.3
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *80124370
58
+ - !ruby/object:Gem::Dependency
59
+ name: rash
60
+ requirement: &80124120 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: 0.3.1
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *80124120
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: &80123810 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 0.9.2.2
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *80123810
80
+ - !ruby/object:Gem::Dependency
81
+ name: vcr
82
+ requirement: &80123580 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 1.11.3
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *80123580
91
+ - !ruby/object:Gem::Dependency
92
+ name: webmock
93
+ requirement: &80123340 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: 1.7.7
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *80123340
102
+ - !ruby/object:Gem::Dependency
103
+ name: rspec
104
+ requirement: &80123110 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 2.7.0
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *80123110
113
+ - !ruby/object:Gem::Dependency
114
+ name: fuubar
115
+ requirement: &80122800 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ version: 0.0.5
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *80122800
124
+ description: Amazon Simple INterface.
125
+ email:
126
+ - phoetmail@googlemail.com
127
+ executables: []
128
+ extensions: []
129
+ extra_rdoc_files: []
130
+ files:
131
+ - .document
132
+ - .gitignore
133
+ - .rvmrc
134
+ - .travis.yml
135
+ - CHANGELOG.rdoc
136
+ - Gemfile
137
+ - Gemfile.lock
138
+ - README.rdoc
139
+ - asin.gemspec
140
+ - lib/asin.rb
141
+ - lib/asin/client.rb
142
+ - lib/asin/configuration.rb
143
+ - lib/asin/simple_cart.rb
144
+ - lib/asin/simple_item.rb
145
+ - lib/asin/simple_node.rb
146
+ - lib/asin/version.rb
147
+ - rakefile.rb
148
+ - spec/asin.yml
149
+ - spec/browse_node_spec.rb
150
+ - spec/cart_spec.rb
151
+ - spec/cassettes/asin/asin_cart_with_an_existing_cart_should_add_items_to_a_cart.yml
152
+ - spec/cassettes/asin/asin_cart_with_an_existing_cart_should_clear_a_cart.yml
153
+ - spec/cassettes/asin/asin_cart_with_an_existing_cart_should_get_a_cart.yml
154
+ - spec/cassettes/asin/asin_cart_with_an_existing_cart_should_update_a_cart.yml
155
+ - spec/cassettes/asin/browse_node_should_lookup_a_browse_node.yml
156
+ - spec/cassettes/asin/cart_should_create_a_cart.yml
157
+ - spec/cassettes/asin/lookup_and_search_should_have_metadata.yml
158
+ - spec/cassettes/asin/lookup_and_search_should_lookup_a_book.yml
159
+ - spec/cassettes/asin/lookup_and_search_should_lookup_multiple_books.yml
160
+ - spec/cassettes/asin/lookup_and_search_should_lookup_multiple_response_groups.yml
161
+ - spec/cassettes/asin/lookup_and_search_should_return_a_custom_item_class.yml
162
+ - spec/cassettes/asin/lookup_and_search_should_return_a_mash_value.yml
163
+ - spec/cassettes/asin/lookup_and_search_should_return_a_rash_value.yml
164
+ - spec/cassettes/asin/lookup_and_search_should_return_a_raw_value.yml
165
+ - spec/cassettes/asin/lookup_and_search_should_search_keywords_a_book_with_fulltext.yml
166
+ - spec/cassettes/asin/lookup_and_search_should_search_keywords_and_handle_a_single_result.yml
167
+ - spec/cassettes/asin/lookup_and_search_should_search_keywords_never_mind_music.yml
168
+ - spec/cassettes/asin/lookup_and_search_should_search_music.yml
169
+ - spec/cassettes/asin/lookup_and_search_should_search_never_mind_music.yml
170
+ - spec/config_spec.rb
171
+ - spec/search_spec.rb
172
+ - spec/spec_helper.rb
173
+ homepage: http://github.com/phoet/asin
174
+ licenses: []
175
+ post_install_message:
176
+ rdoc_options: []
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
+ version: '0'
185
+ required_rubygems_version: !ruby/object:Gem::Requirement
186
+ none: false
187
+ requirements:
188
+ - - ! '>='
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ requirements: []
192
+ rubyforge_project: asin
193
+ rubygems_version: 1.8.15
194
+ signing_key:
195
+ specification_version: 3
196
+ summary: Simple interface to AWS Lookup, Search and Cart operations.
197
+ test_files: []