echowrap 0.0.1

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 (159) hide show
  1. data/.gitignore +22 -0
  2. data/.travis.yml +16 -0
  3. data/Gemfile +13 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +111 -0
  6. data/Rakefile +1 -0
  7. data/echowrap.gemspec +24 -0
  8. data/lib/echowrap/analysis.rb +39 -0
  9. data/lib/echowrap/api/artist.rb +387 -0
  10. data/lib/echowrap/api/oauth.rb +25 -0
  11. data/lib/echowrap/api/playlist.rb +248 -0
  12. data/lib/echowrap/api/sandbox.rb +45 -0
  13. data/lib/echowrap/api/song.rb +111 -0
  14. data/lib/echowrap/api/taste_profile.rb +296 -0
  15. data/lib/echowrap/api/track.rb +64 -0
  16. data/lib/echowrap/api/utils.rb +57 -0
  17. data/lib/echowrap/artist.rb +73 -0
  18. data/lib/echowrap/asset.rb +12 -0
  19. data/lib/echowrap/audio_summary.rb +15 -0
  20. data/lib/echowrap/base.rb +88 -0
  21. data/lib/echowrap/biography.rb +13 -0
  22. data/lib/echowrap/blog.rb +8 -0
  23. data/lib/echowrap/call_list.rb +8 -0
  24. data/lib/echowrap/category_map.rb +8 -0
  25. data/lib/echowrap/client.rb +80 -0
  26. data/lib/echowrap/configurable.rb +84 -0
  27. data/lib/echowrap/default.rb +88 -0
  28. data/lib/echowrap/doc_counts.rb +8 -0
  29. data/lib/echowrap/echonest_id.rb +8 -0
  30. data/lib/echowrap/error/bad_gateway.rb +11 -0
  31. data/lib/echowrap/error/bad_request.rb +10 -0
  32. data/lib/echowrap/error/client_error.rb +35 -0
  33. data/lib/echowrap/error/configuration_error.rb +8 -0
  34. data/lib/echowrap/error/forbidden.rb +10 -0
  35. data/lib/echowrap/error/gateway_timeout.rb +11 -0
  36. data/lib/echowrap/error/internal_server_error.rb +11 -0
  37. data/lib/echowrap/error/not_acceptable.rb +10 -0
  38. data/lib/echowrap/error/not_found.rb +10 -0
  39. data/lib/echowrap/error/server_error.rb +28 -0
  40. data/lib/echowrap/error/service_unavailable.rb +11 -0
  41. data/lib/echowrap/error/too_many_requests.rb +12 -0
  42. data/lib/echowrap/error/unauthorized.rb +10 -0
  43. data/lib/echowrap/error/unprocessable_entity.rb +10 -0
  44. data/lib/echowrap/error.rb +32 -0
  45. data/lib/echowrap/familiarity.rb +8 -0
  46. data/lib/echowrap/feed.rb +14 -0
  47. data/lib/echowrap/foreign_id.rb +10 -0
  48. data/lib/echowrap/genre.rb +8 -0
  49. data/lib/echowrap/hotttnesss.rb +8 -0
  50. data/lib/echowrap/image.rb +15 -0
  51. data/lib/echowrap/item.rb +95 -0
  52. data/lib/echowrap/item_request.rb +8 -0
  53. data/lib/echowrap/keyvalues.rb +8 -0
  54. data/lib/echowrap/license.rb +10 -0
  55. data/lib/echowrap/location.rb +8 -0
  56. data/lib/echowrap/meta.rb +9 -0
  57. data/lib/echowrap/news_article.rb +8 -0
  58. data/lib/echowrap/options.rb +10 -0
  59. data/lib/echowrap/playlist.rb +47 -0
  60. data/lib/echowrap/prediction.rb +7 -0
  61. data/lib/echowrap/rate_limit.rb +47 -0
  62. data/lib/echowrap/reference.rb +8 -0
  63. data/lib/echowrap/request/multipart_with_file.rb +36 -0
  64. data/lib/echowrap/response/parse_json.rb +25 -0
  65. data/lib/echowrap/response/raise_error.rb +31 -0
  66. data/lib/echowrap/review.rb +8 -0
  67. data/lib/echowrap/rule.rb +8 -0
  68. data/lib/echowrap/sandbox.rb +11 -0
  69. data/lib/echowrap/seeds.rb +9 -0
  70. data/lib/echowrap/sequenced_data/bar.rb +4 -0
  71. data/lib/echowrap/sequenced_data/beat.rb +4 -0
  72. data/lib/echowrap/sequenced_data/section.rb +6 -0
  73. data/lib/echowrap/sequenced_data/segment.rb +4 -0
  74. data/lib/echowrap/sequenced_data/tatum.rb +4 -0
  75. data/lib/echowrap/sequenced_data.rb +12 -0
  76. data/lib/echowrap/song.rb +24 -0
  77. data/lib/echowrap/status.rb +12 -0
  78. data/lib/echowrap/taste_profile.rb +28 -0
  79. data/lib/echowrap/term.rb +8 -0
  80. data/lib/echowrap/track.rb +21 -0
  81. data/lib/echowrap/update_info.rb +8 -0
  82. data/lib/echowrap/urls.rb +9 -0
  83. data/lib/echowrap/version.rb +18 -0
  84. data/lib/echowrap/video.rb +7 -0
  85. data/lib/echowrap/years_active.rb +8 -0
  86. data/lib/echowrap.rb +78 -0
  87. data/spec/echonest/api/artist_spec.rb +901 -0
  88. data/spec/echonest/api/oauth_spec.rb +29 -0
  89. data/spec/echonest/api/playlist_spec.rb +274 -0
  90. data/spec/echonest/api/sandbox_spec.rb +67 -0
  91. data/spec/echonest/api/song_spec.rb +326 -0
  92. data/spec/echonest/api/taste_profile_spec.rb +403 -0
  93. data/spec/echonest/api/track_spec.rb +167 -0
  94. data/spec/echonest/base_spec.rb +119 -0
  95. data/spec/echonest/client_spec.rb +174 -0
  96. data/spec/echonest/error_spec.rb +20 -0
  97. data/spec/echonest/rate_limit_spec.rb +76 -0
  98. data/spec/echonest_spec.rb +65 -0
  99. data/spec/fixtures/artist/biographies.json +1 -0
  100. data/spec/fixtures/artist/blogs.json +1 -0
  101. data/spec/fixtures/artist/extract.json +1 -0
  102. data/spec/fixtures/artist/familiarity.json +1 -0
  103. data/spec/fixtures/artist/hotttnesss.json +1 -0
  104. data/spec/fixtures/artist/images.json +1 -0
  105. data/spec/fixtures/artist/list_genres.json +1 -0
  106. data/spec/fixtures/artist/list_terms.json +1 -0
  107. data/spec/fixtures/artist/news.json +1 -0
  108. data/spec/fixtures/artist/profile.json +1 -0
  109. data/spec/fixtures/artist/reviews.json +1 -0
  110. data/spec/fixtures/artist/search.json +1 -0
  111. data/spec/fixtures/artist/similar.json +1 -0
  112. data/spec/fixtures/artist/songs.json +1 -0
  113. data/spec/fixtures/artist/suggest.json +1 -0
  114. data/spec/fixtures/artist/terms.json +1 -0
  115. data/spec/fixtures/artist/top_hottt.json +1 -0
  116. data/spec/fixtures/artist/top_terms.json +1 -0
  117. data/spec/fixtures/artist/twitter.json +1 -0
  118. data/spec/fixtures/artist/urls.json +1 -0
  119. data/spec/fixtures/artist/video.json +1 -0
  120. data/spec/fixtures/billie_jean_fingerprint.txt +1 -0
  121. data/spec/fixtures/billie_jean_query.json +16 -0
  122. data/spec/fixtures/oauth/timestamp.json +1 -0
  123. data/spec/fixtures/playlist/basic.json +1 -0
  124. data/spec/fixtures/playlist/dynamic/create.json +1 -0
  125. data/spec/fixtures/playlist/dynamic/delete.json +1 -0
  126. data/spec/fixtures/playlist/dynamic/feedback.json +1 -0
  127. data/spec/fixtures/playlist/dynamic/info.json +1 -0
  128. data/spec/fixtures/playlist/dynamic/next.json +1 -0
  129. data/spec/fixtures/playlist/dynamic/restart.json +1 -0
  130. data/spec/fixtures/playlist/dynamic/steer.json +1 -0
  131. data/spec/fixtures/playlist/static.json +1 -0
  132. data/spec/fixtures/sandbox/access.json +19 -0
  133. data/spec/fixtures/sandbox/list.json +1 -0
  134. data/spec/fixtures/song/identify.json +19 -0
  135. data/spec/fixtures/song/profile.json +1 -0
  136. data/spec/fixtures/song/search.json +1 -0
  137. data/spec/fixtures/taste_profile/ban.json +9 -0
  138. data/spec/fixtures/taste_profile/create.json +1 -0
  139. data/spec/fixtures/taste_profile/delete.json +11 -0
  140. data/spec/fixtures/taste_profile/favorite.json +9 -0
  141. data/spec/fixtures/taste_profile/feed.json +1 -0
  142. data/spec/fixtures/taste_profile/keyvalues.json +4 -0
  143. data/spec/fixtures/taste_profile/list.json +1 -0
  144. data/spec/fixtures/taste_profile/play.json +9 -0
  145. data/spec/fixtures/taste_profile/predict.json +1 -0
  146. data/spec/fixtures/taste_profile/profile.json +1 -0
  147. data/spec/fixtures/taste_profile/rate.json +9 -0
  148. data/spec/fixtures/taste_profile/read.json +1 -0
  149. data/spec/fixtures/taste_profile/similar.json +14 -0
  150. data/spec/fixtures/taste_profile/skip.json +9 -0
  151. data/spec/fixtures/taste_profile/status.json +2 -0
  152. data/spec/fixtures/taste_profile/update.json +10 -0
  153. data/spec/fixtures/taste_profile/update_request_data.json +4 -0
  154. data/spec/fixtures/technolol-music.mp3 +0 -0
  155. data/spec/fixtures/track/analysis.json +3 -0
  156. data/spec/fixtures/track/profile.json +35 -0
  157. data/spec/fixtures/track/upload.json +21 -0
  158. data/spec/helper.rb +50 -0
  159. metadata +323 -0
@@ -0,0 +1,35 @@
1
+ {
2
+ "response": {
3
+ "status": {
4
+ "code": 0,
5
+ "message": "Success",
6
+ "version": "4.2"
7
+ },
8
+ "track": {
9
+ "artist": "Weezer",
10
+ "audio_md5": "e16bde82eaecd13bde9261b2710aa991",
11
+ "audio_summary": {
12
+ "analysis_url": "https://echonest-analysis.s3.amazonaws.com/TR/A1B2C3D4E5F6G7/3/full.json",
13
+ "danceability": 0.5164314670162907,
14
+ "duration": 243.64363,
15
+ "energy": 0.6617689403520844,
16
+ "key": 1,
17
+ "loudness": -4.613,
18
+ "mode": 1,
19
+ "speechiness": 0.16405298937493515,
20
+ "liveness": 0.05298937493515,
21
+ "tempo": 74.694,
22
+ "time_signature": 4
23
+ },
24
+ "catalog": "7digital-US",
25
+ "foreign_id": "7digital-US:track:11123262",
26
+ "foreign_release_id": "7digital-US:release:1011998",
27
+ "id": "TRTLKZV12E5AC92E11",
28
+ "preview_url": "http://previews.7digital.com/clips/34/11123262.clip.mp3",
29
+ "release_image": "http://cdn.7static.com/static/img/sleeveart/00/010/119/0001011998_200.jpg",
30
+ "song_id": "SOCRHFJ12A67021D74",
31
+ "status": "complete",
32
+ "title": "El Scorcho"
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "response": {
3
+ "status": {
4
+ "version": "4.2",
5
+ "code": 0,
6
+ "message": "Success"
7
+ },
8
+ "track": {
9
+ "status": "pending",
10
+ "artist": "How to Destroy Angels",
11
+ "title": "Fur Lined",
12
+ "analyzer_version": "3.01a",
13
+ "release": "How to Destroy Angels",
14
+ "audio_md5": "97507e1eeda3e62abeabcc8dd51e6bd6",
15
+ "bitrate": 320,
16
+ "id": "TRGOVKX128F7FA5920",
17
+ "samplerate": 44100,
18
+ "md5": "cd9276287838f11f2d7f39cd10391195"
19
+ }
20
+ }
21
+ }
data/spec/helper.rb ADDED
@@ -0,0 +1,50 @@
1
+ require 'coveralls'
2
+ require 'echowrap'
3
+ require 'rspec'
4
+ require 'timecop'
5
+ require 'webmock/rspec'
6
+
7
+ Coveralls.wear!
8
+
9
+ RSpec.configure do |config|
10
+ config.expect_with :rspec do |c|
11
+ c.syntax = :expect
12
+ end
13
+ end
14
+
15
+ def new_test_client
16
+ client = Echowrap::Client.new(:api_key => "AK")
17
+ #Param encoder is being set here because webmock expects params encodeded a certain way
18
+ #Normally, you won't set this option, it's already configured for Echowrap in lib/echowrap/default.rb
19
+ client.connection_options[:request][:params_encoder] = Faraday::NestedParamsEncoder
20
+ client
21
+ end
22
+
23
+ def a_get(path, add_api_key = true)
24
+ a_request(:get, Echowrap::Default::ENDPOINT + path + api_key(add_api_key))
25
+ end
26
+
27
+ def a_post(path)
28
+ a_request(:post, Echowrap::Default::ENDPOINT + path)
29
+ end
30
+
31
+ def stub_get(path, add_api_key = true)
32
+ stub_http_request(:get, Echowrap::Default::ENDPOINT + path + api_key(add_api_key))
33
+ end
34
+
35
+ def stub_post(path)
36
+ stub_request(:post, Echowrap::Default::ENDPOINT + path)
37
+ end
38
+
39
+
40
+ def api_key(add_api_key = true)
41
+ add_api_key ? '?api_key=AK' : ''
42
+ end
43
+
44
+ def fixture_path
45
+ File.expand_path("../fixtures", __FILE__)
46
+ end
47
+
48
+ def fixture(file)
49
+ File.new(fixture_path + '/' + file)
50
+ end
metadata ADDED
@@ -0,0 +1,323 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: echowrap
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Tim Case
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-08-24 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: faraday
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.9.0.rc5
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 0.9.0.rc5
30
+ - !ruby/object:Gem::Dependency
31
+ name: multi_json
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 1.7.7
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.7.7
46
+ - !ruby/object:Gem::Dependency
47
+ name: simple_oauth
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '0.2'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '0.2'
62
+ description: A Ruby interface to the Echonest API, details can be found at http://echowrap.com.
63
+ email:
64
+ - tim@2drops.net
65
+ executables: []
66
+ extensions: []
67
+ extra_rdoc_files: []
68
+ files:
69
+ - .gitignore
70
+ - .travis.yml
71
+ - Gemfile
72
+ - LICENSE.txt
73
+ - README.md
74
+ - Rakefile
75
+ - echowrap.gemspec
76
+ - lib/echowrap.rb
77
+ - lib/echowrap/analysis.rb
78
+ - lib/echowrap/api/artist.rb
79
+ - lib/echowrap/api/oauth.rb
80
+ - lib/echowrap/api/playlist.rb
81
+ - lib/echowrap/api/sandbox.rb
82
+ - lib/echowrap/api/song.rb
83
+ - lib/echowrap/api/taste_profile.rb
84
+ - lib/echowrap/api/track.rb
85
+ - lib/echowrap/api/utils.rb
86
+ - lib/echowrap/artist.rb
87
+ - lib/echowrap/asset.rb
88
+ - lib/echowrap/audio_summary.rb
89
+ - lib/echowrap/base.rb
90
+ - lib/echowrap/biography.rb
91
+ - lib/echowrap/blog.rb
92
+ - lib/echowrap/call_list.rb
93
+ - lib/echowrap/category_map.rb
94
+ - lib/echowrap/client.rb
95
+ - lib/echowrap/configurable.rb
96
+ - lib/echowrap/default.rb
97
+ - lib/echowrap/doc_counts.rb
98
+ - lib/echowrap/echonest_id.rb
99
+ - lib/echowrap/error.rb
100
+ - lib/echowrap/error/bad_gateway.rb
101
+ - lib/echowrap/error/bad_request.rb
102
+ - lib/echowrap/error/client_error.rb
103
+ - lib/echowrap/error/configuration_error.rb
104
+ - lib/echowrap/error/forbidden.rb
105
+ - lib/echowrap/error/gateway_timeout.rb
106
+ - lib/echowrap/error/internal_server_error.rb
107
+ - lib/echowrap/error/not_acceptable.rb
108
+ - lib/echowrap/error/not_found.rb
109
+ - lib/echowrap/error/server_error.rb
110
+ - lib/echowrap/error/service_unavailable.rb
111
+ - lib/echowrap/error/too_many_requests.rb
112
+ - lib/echowrap/error/unauthorized.rb
113
+ - lib/echowrap/error/unprocessable_entity.rb
114
+ - lib/echowrap/familiarity.rb
115
+ - lib/echowrap/feed.rb
116
+ - lib/echowrap/foreign_id.rb
117
+ - lib/echowrap/genre.rb
118
+ - lib/echowrap/hotttnesss.rb
119
+ - lib/echowrap/image.rb
120
+ - lib/echowrap/item.rb
121
+ - lib/echowrap/item_request.rb
122
+ - lib/echowrap/keyvalues.rb
123
+ - lib/echowrap/license.rb
124
+ - lib/echowrap/location.rb
125
+ - lib/echowrap/meta.rb
126
+ - lib/echowrap/news_article.rb
127
+ - lib/echowrap/options.rb
128
+ - lib/echowrap/playlist.rb
129
+ - lib/echowrap/prediction.rb
130
+ - lib/echowrap/rate_limit.rb
131
+ - lib/echowrap/reference.rb
132
+ - lib/echowrap/request/multipart_with_file.rb
133
+ - lib/echowrap/response/parse_json.rb
134
+ - lib/echowrap/response/raise_error.rb
135
+ - lib/echowrap/review.rb
136
+ - lib/echowrap/rule.rb
137
+ - lib/echowrap/sandbox.rb
138
+ - lib/echowrap/seeds.rb
139
+ - lib/echowrap/sequenced_data.rb
140
+ - lib/echowrap/sequenced_data/bar.rb
141
+ - lib/echowrap/sequenced_data/beat.rb
142
+ - lib/echowrap/sequenced_data/section.rb
143
+ - lib/echowrap/sequenced_data/segment.rb
144
+ - lib/echowrap/sequenced_data/tatum.rb
145
+ - lib/echowrap/song.rb
146
+ - lib/echowrap/status.rb
147
+ - lib/echowrap/taste_profile.rb
148
+ - lib/echowrap/term.rb
149
+ - lib/echowrap/track.rb
150
+ - lib/echowrap/update_info.rb
151
+ - lib/echowrap/urls.rb
152
+ - lib/echowrap/version.rb
153
+ - lib/echowrap/video.rb
154
+ - lib/echowrap/years_active.rb
155
+ - spec/echonest/api/artist_spec.rb
156
+ - spec/echonest/api/oauth_spec.rb
157
+ - spec/echonest/api/playlist_spec.rb
158
+ - spec/echonest/api/sandbox_spec.rb
159
+ - spec/echonest/api/song_spec.rb
160
+ - spec/echonest/api/taste_profile_spec.rb
161
+ - spec/echonest/api/track_spec.rb
162
+ - spec/echonest/base_spec.rb
163
+ - spec/echonest/client_spec.rb
164
+ - spec/echonest/error_spec.rb
165
+ - spec/echonest/rate_limit_spec.rb
166
+ - spec/echonest_spec.rb
167
+ - spec/fixtures/artist/biographies.json
168
+ - spec/fixtures/artist/blogs.json
169
+ - spec/fixtures/artist/extract.json
170
+ - spec/fixtures/artist/familiarity.json
171
+ - spec/fixtures/artist/hotttnesss.json
172
+ - spec/fixtures/artist/images.json
173
+ - spec/fixtures/artist/list_genres.json
174
+ - spec/fixtures/artist/list_terms.json
175
+ - spec/fixtures/artist/news.json
176
+ - spec/fixtures/artist/profile.json
177
+ - spec/fixtures/artist/reviews.json
178
+ - spec/fixtures/artist/search.json
179
+ - spec/fixtures/artist/similar.json
180
+ - spec/fixtures/artist/songs.json
181
+ - spec/fixtures/artist/suggest.json
182
+ - spec/fixtures/artist/terms.json
183
+ - spec/fixtures/artist/top_hottt.json
184
+ - spec/fixtures/artist/top_terms.json
185
+ - spec/fixtures/artist/twitter.json
186
+ - spec/fixtures/artist/urls.json
187
+ - spec/fixtures/artist/video.json
188
+ - spec/fixtures/billie_jean_fingerprint.txt
189
+ - spec/fixtures/billie_jean_query.json
190
+ - spec/fixtures/oauth/timestamp.json
191
+ - spec/fixtures/playlist/basic.json
192
+ - spec/fixtures/playlist/dynamic/create.json
193
+ - spec/fixtures/playlist/dynamic/delete.json
194
+ - spec/fixtures/playlist/dynamic/feedback.json
195
+ - spec/fixtures/playlist/dynamic/info.json
196
+ - spec/fixtures/playlist/dynamic/next.json
197
+ - spec/fixtures/playlist/dynamic/restart.json
198
+ - spec/fixtures/playlist/dynamic/steer.json
199
+ - spec/fixtures/playlist/static.json
200
+ - spec/fixtures/sandbox/access.json
201
+ - spec/fixtures/sandbox/list.json
202
+ - spec/fixtures/song/identify.json
203
+ - spec/fixtures/song/profile.json
204
+ - spec/fixtures/song/search.json
205
+ - spec/fixtures/taste_profile/ban.json
206
+ - spec/fixtures/taste_profile/create.json
207
+ - spec/fixtures/taste_profile/delete.json
208
+ - spec/fixtures/taste_profile/favorite.json
209
+ - spec/fixtures/taste_profile/feed.json
210
+ - spec/fixtures/taste_profile/keyvalues.json
211
+ - spec/fixtures/taste_profile/list.json
212
+ - spec/fixtures/taste_profile/play.json
213
+ - spec/fixtures/taste_profile/predict.json
214
+ - spec/fixtures/taste_profile/profile.json
215
+ - spec/fixtures/taste_profile/rate.json
216
+ - spec/fixtures/taste_profile/read.json
217
+ - spec/fixtures/taste_profile/similar.json
218
+ - spec/fixtures/taste_profile/skip.json
219
+ - spec/fixtures/taste_profile/status.json
220
+ - spec/fixtures/taste_profile/update.json
221
+ - spec/fixtures/taste_profile/update_request_data.json
222
+ - spec/fixtures/technolol-music.mp3
223
+ - spec/fixtures/track/analysis.json
224
+ - spec/fixtures/track/profile.json
225
+ - spec/fixtures/track/upload.json
226
+ - spec/helper.rb
227
+ homepage: https://github.com/timcase/echowrap
228
+ licenses: []
229
+ post_install_message:
230
+ rdoc_options: []
231
+ require_paths:
232
+ - lib
233
+ required_ruby_version: !ruby/object:Gem::Requirement
234
+ none: false
235
+ requirements:
236
+ - - ! '>='
237
+ - !ruby/object:Gem::Version
238
+ version: '0'
239
+ required_rubygems_version: !ruby/object:Gem::Requirement
240
+ none: false
241
+ requirements:
242
+ - - ! '>='
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
245
+ requirements: []
246
+ rubyforge_project:
247
+ rubygems_version: 1.8.24
248
+ signing_key:
249
+ specification_version: 3
250
+ summary: A Ruby interface to the Echonest API.
251
+ test_files:
252
+ - spec/echonest/api/artist_spec.rb
253
+ - spec/echonest/api/oauth_spec.rb
254
+ - spec/echonest/api/playlist_spec.rb
255
+ - spec/echonest/api/sandbox_spec.rb
256
+ - spec/echonest/api/song_spec.rb
257
+ - spec/echonest/api/taste_profile_spec.rb
258
+ - spec/echonest/api/track_spec.rb
259
+ - spec/echonest/base_spec.rb
260
+ - spec/echonest/client_spec.rb
261
+ - spec/echonest/error_spec.rb
262
+ - spec/echonest/rate_limit_spec.rb
263
+ - spec/echonest_spec.rb
264
+ - spec/fixtures/artist/biographies.json
265
+ - spec/fixtures/artist/blogs.json
266
+ - spec/fixtures/artist/extract.json
267
+ - spec/fixtures/artist/familiarity.json
268
+ - spec/fixtures/artist/hotttnesss.json
269
+ - spec/fixtures/artist/images.json
270
+ - spec/fixtures/artist/list_genres.json
271
+ - spec/fixtures/artist/list_terms.json
272
+ - spec/fixtures/artist/news.json
273
+ - spec/fixtures/artist/profile.json
274
+ - spec/fixtures/artist/reviews.json
275
+ - spec/fixtures/artist/search.json
276
+ - spec/fixtures/artist/similar.json
277
+ - spec/fixtures/artist/songs.json
278
+ - spec/fixtures/artist/suggest.json
279
+ - spec/fixtures/artist/terms.json
280
+ - spec/fixtures/artist/top_hottt.json
281
+ - spec/fixtures/artist/top_terms.json
282
+ - spec/fixtures/artist/twitter.json
283
+ - spec/fixtures/artist/urls.json
284
+ - spec/fixtures/artist/video.json
285
+ - spec/fixtures/billie_jean_fingerprint.txt
286
+ - spec/fixtures/billie_jean_query.json
287
+ - spec/fixtures/oauth/timestamp.json
288
+ - spec/fixtures/playlist/basic.json
289
+ - spec/fixtures/playlist/dynamic/create.json
290
+ - spec/fixtures/playlist/dynamic/delete.json
291
+ - spec/fixtures/playlist/dynamic/feedback.json
292
+ - spec/fixtures/playlist/dynamic/info.json
293
+ - spec/fixtures/playlist/dynamic/next.json
294
+ - spec/fixtures/playlist/dynamic/restart.json
295
+ - spec/fixtures/playlist/dynamic/steer.json
296
+ - spec/fixtures/playlist/static.json
297
+ - spec/fixtures/sandbox/access.json
298
+ - spec/fixtures/sandbox/list.json
299
+ - spec/fixtures/song/identify.json
300
+ - spec/fixtures/song/profile.json
301
+ - spec/fixtures/song/search.json
302
+ - spec/fixtures/taste_profile/ban.json
303
+ - spec/fixtures/taste_profile/create.json
304
+ - spec/fixtures/taste_profile/delete.json
305
+ - spec/fixtures/taste_profile/favorite.json
306
+ - spec/fixtures/taste_profile/feed.json
307
+ - spec/fixtures/taste_profile/keyvalues.json
308
+ - spec/fixtures/taste_profile/list.json
309
+ - spec/fixtures/taste_profile/play.json
310
+ - spec/fixtures/taste_profile/predict.json
311
+ - spec/fixtures/taste_profile/profile.json
312
+ - spec/fixtures/taste_profile/rate.json
313
+ - spec/fixtures/taste_profile/read.json
314
+ - spec/fixtures/taste_profile/similar.json
315
+ - spec/fixtures/taste_profile/skip.json
316
+ - spec/fixtures/taste_profile/status.json
317
+ - spec/fixtures/taste_profile/update.json
318
+ - spec/fixtures/taste_profile/update_request_data.json
319
+ - spec/fixtures/technolol-music.mp3
320
+ - spec/fixtures/track/analysis.json
321
+ - spec/fixtures/track/profile.json
322
+ - spec/fixtures/track/upload.json
323
+ - spec/helper.rb