purdie 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +8 -6
  3. data/README.md +38 -22
  4. data/_config/defaults.yaml +10 -0
  5. data/_data/flickr.yaml +4 -0
  6. data/_data/soundcloud.yaml +7 -0
  7. data/features/flickr-album.feature +23 -0
  8. data/features/flickr-different-size.feature +28 -0
  9. data/features/soundcloud-set.feature +41 -0
  10. data/features/soundcloud.feature +0 -1
  11. data/features/support/fixtures/vcr/A_URL_we_don_t_understand/Handle_a_URL_we_don_t_recognise.yml +16 -16
  12. data/features/support/fixtures/vcr/First_contact_with_the_Real_World/Generate_YAML_for_the_Raw_Funk_Maharishi.yml +191 -276
  13. data/features/support/fixtures/vcr/Flickr/Generate_Flickr_YAML.yml +16 -16
  14. data/features/support/fixtures/vcr/Flickr_album/Generate_Flickr_YAML_for_an_album.yml +1035 -0
  15. data/features/support/fixtures/vcr/Handle_comments/Handle_comments_in_a_source_file.yml +75 -206
  16. data/features/support/fixtures/vcr/Purdie/Generate_several_YAML.yml +177 -213
  17. data/features/support/fixtures/vcr/Select_a_file_to_process/Choose_file_to_process.yml +56 -188
  18. data/features/support/fixtures/vcr/Set_Flickr_picturesize/Generate_Flickr_YAML.yml +125 -0
  19. data/features/support/fixtures/vcr/Soundcloud/Generate_SoundCloud_YAML.yml +56 -188
  20. data/features/support/fixtures/vcr/Soundcloud/Generate_SoundCloud_YAML_for_multiple_tracks.yml +140 -181
  21. data/features/support/fixtures/vcr/Soundcloud_set/Generate_YAML_for_a_SoundCloud_set.yml +436 -0
  22. data/features/support/fixtures/vcr/Vimeo/Generate_Vimeo_YAML.yml +23 -11
  23. data/features/support/fixtures/vcr/YouTube/Generate_YouTube_YAML.yml +970 -0
  24. data/features/support/vcr.rb +7 -5
  25. data/features/youtube.feature +20 -0
  26. data/lib/purdie/bernard.rb +35 -17
  27. data/lib/purdie/cli.rb +1 -1
  28. data/lib/purdie/helpers.rb +24 -0
  29. data/lib/purdie/ingester.rb +25 -10
  30. data/lib/purdie/services/flickr.rb +48 -5
  31. data/lib/purdie/services/soundcloud.rb +13 -21
  32. data/lib/purdie/services/vimeo.rb +4 -3
  33. data/lib/purdie/services/youtube.rb +64 -0
  34. data/lib/purdie/source_list.rb +46 -0
  35. data/lib/purdie/version.rb +1 -1
  36. data/lib/purdie.rb +4 -21
  37. data/list +1 -0
  38. data/purdie.gemspec +3 -1
  39. data/spec/helpers_spec.rb +31 -0
  40. data/spec/purdie_spec.rb +0 -24
  41. data/spec/services/flickr_spec.rb +33 -1
  42. data/spec/services/soundcloud_spec.rb +10 -8
  43. data/spec/services/youtube_spec.rb +27 -0
  44. data/spec/source_list_spec.rb +64 -0
  45. data/spec/support/fixtures/soundcloud.sounds +4 -0
  46. data/spec/support/fixtures/with-comments.source +3 -0
  47. data/spec/support/vcr_setup.rb +3 -1
  48. data/spec/vcr/Purdie_Services_Flickr/distills_data_for_a_regular_photo.yml +15 -15
  49. data/spec/vcr/Purdie_Services_Flickr/falls_back_to_the_default_photographer_name.yml +16 -16
  50. data/spec/vcr/Purdie_Services_Flickr/ingests_data_for_a_photo_without_a_specific_photographer_tag.yml +16 -16
  51. data/spec/vcr/Purdie_Services_Flickr/resolve_a_set/resolves_a_set_from_a_url.yml +518 -0
  52. data/spec/vcr/Purdie_Services_SoundCloud/connects_to_SoundCloud.yml +62 -67
  53. data/spec/vcr/Purdie_Services_SoundCloud/distills_the_data.yml +53 -183
  54. data/spec/vcr/Purdie_Services_SoundCloud/extracts_a_track.yml +50 -194
  55. data/spec/vcr/Purdie_Services_SoundCloud/ingests_a_track.yml +48 -186
  56. data/spec/vcr/Purdie_Services_SoundCloud/resolve_a_set/resolves_a_set_from_a_url.yml +103 -0
  57. data/spec/vcr/Purdie_Services_Vimeo/gets_a_video.yml +23 -11
  58. data/spec/vcr/Purdie_Services_Vimeo/ingests_a_video.yml +23 -11
  59. data/spec/vcr/Purdie_Services_YouTube/gets_a_video.yml +970 -0
  60. data/spec/vcr/Purdie_Services_YouTube/ingests_a_video.yml +970 -0
  61. data/spec/vcr/Purdie_SourceList/resolve_sets/constructs_a_list_from_a_set_URL.yml +518 -0
  62. data/spec/vcr/Purdie_SourceList/resolve_sets/resolves_a_Flickr_set.yml +518 -0
  63. data/spec/vcr/Purdie_SourceList/resolve_sets/resolves_a_SoundCloud_set.yml +103 -0
  64. data/spec/vcr/Purdie_SourceList/resolves_a_Flickr_set.yml +518 -0
  65. data/wtf.log +1 -0
  66. metadata +81 -14
  67. data/features/support/fixtures/vcr/Handle_no__sources_directory/Handle_no__sources_directory.yml +0 -346
  68. data/spec/vcr/Purdie_Services_SoundCloud/deals_with_a_troublesome_bawbag.yml +0 -230
  69. data/spec/vcr/Purdie_Services_SoundCloud/refines_the_data.yml +0 -230
  70. data/spec/vcr/Purdie_Services_Vimeo/distills_a_video.yml +0 -41
  71. data/spec/vcr/Purdie_Services_Vimeo/refines_a_video.yml +0 -41
@@ -0,0 +1,436 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.soundcloud.com/resolve?client_id=<SOUNDCLOUD_CLIENT_ID>&format=json&url=https://soundcloud.com/rawfunkmaharishi/sets/islington-academy-sessions
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - SoundCloud Ruby Wrapper 0.13.3
12
+ response:
13
+ status:
14
+ code: 302
15
+ message: Found
16
+ headers:
17
+ Access-Control-Allow-Headers:
18
+ - Accept, Authorization, Content-Type, Origin
19
+ Access-Control-Allow-Methods:
20
+ - GET, PUT, POST, DELETE
21
+ Access-Control-Allow-Origin:
22
+ - "*"
23
+ Access-Control-Expose-Headers:
24
+ - Date
25
+ Cache-Control:
26
+ - no-cache
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Date:
30
+ - Tue, 10 Mar 2015 19:23:50 GMT
31
+ Location:
32
+ - https://api.soundcloud.com/playlists/88097435.json?client_id=<SOUNDCLOUD_CLIENT_ID>
33
+ Server:
34
+ - am/2
35
+ Content-Length:
36
+ - '131'
37
+ body:
38
+ encoding: UTF-8
39
+ string: '{"status":"302 - Found","location":"https://api.soundcloud.com/playlists/88097435.json?client_id=<SOUNDCLOUD_CLIENT_ID>"}'
40
+ http_version:
41
+ recorded_at: Tue, 10 Mar 2015 19:23:50 GMT
42
+ - request:
43
+ method: get
44
+ uri: https://api.soundcloud.com/playlists/88097435.json?client_id=<SOUNDCLOUD_CLIENT_ID>
45
+ body:
46
+ encoding: US-ASCII
47
+ string: ''
48
+ headers:
49
+ User-Agent:
50
+ - SoundCloud Ruby Wrapper 0.13.3
51
+ response:
52
+ status:
53
+ code: 200
54
+ message: OK
55
+ headers:
56
+ Access-Control-Allow-Headers:
57
+ - Accept, Authorization, Content-Type, Origin
58
+ Access-Control-Allow-Methods:
59
+ - GET, PUT, POST, DELETE
60
+ Access-Control-Allow-Origin:
61
+ - "*"
62
+ Access-Control-Expose-Headers:
63
+ - Date
64
+ Cache-Control:
65
+ - private, max-age=0, must-revalidate
66
+ Content-Type:
67
+ - application/json; charset=utf-8
68
+ Date:
69
+ - Tue, 10 Mar 2015 19:23:51 GMT
70
+ Etag:
71
+ - '"6d7e55f4176c3b6c6b95f1519f3bb2cd"'
72
+ Server:
73
+ - am/2
74
+ Content-Length:
75
+ - '7543'
76
+ body:
77
+ encoding: UTF-8
78
+ string: '{"duration":770628,"release_day":null,"permalink_url":"http://soundcloud.com/rawfunkmaharishi/sets/islington-academy-sessions","genre":"","permalink":"islington-academy-sessions","purchase_url":null,"release_month":null,"description":"","uri":"https://api.soundcloud.com/playlists/88097435","label_name":"","tag_list":"","release_year":null,"track_count":4,"user_id":56479293,"last_modified":"2015/03/10
79
+ 16:35:06 +0000","license":"all-rights-reserved","tracks":[{"kind":"track","id":193008299,"created_at":"2015/02/25
80
+ 19:24:51 +0000","user_id":56479293,"duration":209626,"commentable":true,"state":"finished","original_content_size":8436471,"last_modified":"2015/02/27
81
+ 17:08:45 +0000","sharing":"public","tag_list":"\"islington academy sessions\"","permalink":"hexaflexagon-1","streamable":true,"embeddable_by":"all","downloadable":true,"purchase_url":null,"label_id":null,"purchase_title":null,"genre":"funk","title":"Hexaflexagon","description":"Islington
82
+ Academy","label_name":null,"release":null,"track_type":null,"key_signature":null,"isrc":null,"video_url":null,"bpm":null,"release_year":2015,"release_month":2,"release_day":18,"original_format":"mp3","license":"cc-by-nc-sa","uri":"https://api.soundcloud.com/tracks/193008299","user":{"id":56479293,"kind":"user","permalink":"rawfunkmaharishi","username":"Raw
83
+ Funk Maharishi","last_modified":"2015/02/27 15:07:28 +0000","uri":"https://api.soundcloud.com/users/56479293","permalink_url":"http://soundcloud.com/rawfunkmaharishi","avatar_url":"https://i1.sndcdn.com/avatars-000110957821-ac80gy-large.jpg"},"permalink_url":"http://soundcloud.com/rawfunkmaharishi/hexaflexagon-1","artwork_url":null,"waveform_url":"https://w1.sndcdn.com/CxyZz6RUbqZN_m.png","stream_url":"https://api.soundcloud.com/tracks/193008299/stream","download_url":"https://api.soundcloud.com/tracks/193008299/download","playback_count":44,"download_count":3,"favoritings_count":0,"comment_count":0,"attachments_uri":"https://api.soundcloud.com/tracks/193008299/attachments","policy":"ALLOW"},{"kind":"track","id":193006525,"created_at":"2015/02/25
84
+ 19:13:37 +0000","user_id":56479293,"duration":190031,"commentable":true,"state":"finished","original_content_size":7652798,"last_modified":"2015/03/03
85
+ 20:07:21 +0000","sharing":"public","tag_list":"afrobeat \"islington academy
86
+ sessions\"","permalink":"beer-of-course-but-why","streamable":true,"embeddable_by":"all","downloadable":true,"purchase_url":null,"label_id":null,"purchase_title":null,"genre":"Funk","title":"Beer,
87
+ Of Course, But Why","description":"Islington Academy","label_name":null,"release":null,"track_type":null,"key_signature":null,"isrc":null,"video_url":null,"bpm":null,"release_year":2015,"release_month":2,"release_day":18,"original_format":"mp3","license":"cc-by-nc-sa","uri":"https://api.soundcloud.com/tracks/193006525","user":{"id":56479293,"kind":"user","permalink":"rawfunkmaharishi","username":"Raw
88
+ Funk Maharishi","last_modified":"2015/02/27 15:07:28 +0000","uri":"https://api.soundcloud.com/users/56479293","permalink_url":"http://soundcloud.com/rawfunkmaharishi","avatar_url":"https://i1.sndcdn.com/avatars-000110957821-ac80gy-large.jpg"},"permalink_url":"http://soundcloud.com/rawfunkmaharishi/beer-of-course-but-why","artwork_url":null,"waveform_url":"https://w1.sndcdn.com/qBjvlEuOtgIA_m.png","stream_url":"https://api.soundcloud.com/tracks/193006525/stream","download_url":"https://api.soundcloud.com/tracks/193006525/download","playback_count":38,"download_count":1,"favoritings_count":0,"comment_count":0,"attachments_uri":"https://api.soundcloud.com/tracks/193006525/attachments","policy":"ALLOW"},{"kind":"track","id":193005357,"created_at":"2015/02/25
89
+ 19:05:57 +0000","user_id":56479293,"duration":197111,"commentable":true,"state":"finished","original_content_size":7935965,"last_modified":"2015/02/28
90
+ 21:17:11 +0000","sharing":"public","tag_list":"\"islington academy sessions\"","permalink":"junalbandi-3","streamable":true,"embeddable_by":"all","downloadable":true,"purchase_url":null,"label_id":null,"purchase_title":null,"genre":"Funk","title":"Junalbandi","description":"Islington
91
+ Academy","label_name":null,"release":null,"track_type":null,"key_signature":null,"isrc":null,"video_url":null,"bpm":null,"release_year":2015,"release_month":2,"release_day":18,"original_format":"mp3","license":"cc-by-nc-sa","uri":"https://api.soundcloud.com/tracks/193005357","user":{"id":56479293,"kind":"user","permalink":"rawfunkmaharishi","username":"Raw
92
+ Funk Maharishi","last_modified":"2015/02/27 15:07:28 +0000","uri":"https://api.soundcloud.com/users/56479293","permalink_url":"http://soundcloud.com/rawfunkmaharishi","avatar_url":"https://i1.sndcdn.com/avatars-000110957821-ac80gy-large.jpg"},"permalink_url":"http://soundcloud.com/rawfunkmaharishi/junalbandi-3","artwork_url":null,"waveform_url":"https://w1.sndcdn.com/nbBOD5P8zpUy_m.png","stream_url":"https://api.soundcloud.com/tracks/193005357/stream","download_url":"https://api.soundcloud.com/tracks/193005357/download","playback_count":31,"download_count":1,"favoritings_count":0,"comment_count":0,"attachments_uri":"https://api.soundcloud.com/tracks/193005357/attachments","policy":"ALLOW"},{"kind":"track","id":192841052,"created_at":"2015/02/24
93
+ 20:44:18 +0000","user_id":56479293,"duration":173860,"commentable":true,"state":"finished","original_content_size":7006006,"last_modified":"2015/03/03
94
+ 20:31:37 +0000","sharing":"public","tag_list":"\"islington academy sessions\"","permalink":"bernard","streamable":true,"embeddable_by":"all","downloadable":true,"purchase_url":null,"label_id":null,"purchase_title":null,"genre":"Funk","title":"Bernard","description":"Islington
95
+ Academy","label_name":null,"release":null,"track_type":null,"key_signature":null,"isrc":null,"video_url":null,"bpm":null,"release_year":2015,"release_month":2,"release_day":18,"original_format":"mp3","license":"cc-by-nc-sa","uri":"https://api.soundcloud.com/tracks/192841052","user":{"id":56479293,"kind":"user","permalink":"rawfunkmaharishi","username":"Raw
96
+ Funk Maharishi","last_modified":"2015/02/27 15:07:28 +0000","uri":"https://api.soundcloud.com/users/56479293","permalink_url":"http://soundcloud.com/rawfunkmaharishi","avatar_url":"https://i1.sndcdn.com/avatars-000110957821-ac80gy-large.jpg"},"permalink_url":"http://soundcloud.com/rawfunkmaharishi/bernard","artwork_url":null,"waveform_url":"https://w1.sndcdn.com/BAgEnzWuGhV7_m.png","stream_url":"https://api.soundcloud.com/tracks/192841052/stream","download_url":"https://api.soundcloud.com/tracks/192841052/download","playback_count":54,"download_count":1,"favoritings_count":0,"comment_count":0,"attachments_uri":"https://api.soundcloud.com/tracks/192841052/attachments","policy":"ALLOW"}],"playlist_type":"","id":88097435,"downloadable":true,"sharing":"public","created_at":"2015/03/10
97
+ 16:34:15 +0000","release":"","kind":"playlist","title":"Islington Academy
98
+ Sessions","type":"","purchase_title":null,"created_with":{"permalink_url":"http://soundcloud.com/apps/v2-on-https-soundcloud-com","name":"SoundCloud.com","external_url":"","uri":"https://api.soundcloud.com/apps/46941","creator":"spadgos","id":46941,"kind":"app"},"artwork_url":null,"ean":"","streamable":true,"user":{"permalink_url":"http://soundcloud.com/rawfunkmaharishi","permalink":"rawfunkmaharishi","username":"Raw
99
+ Funk Maharishi","uri":"https://api.soundcloud.com/users/56479293","last_modified":"2015/02/27
100
+ 15:07:28 +0000","id":56479293,"kind":"user","avatar_url":"https://i1.sndcdn.com/avatars-000110957821-ac80gy-large.jpg"},"embeddable_by":"all","label_id":null}'
101
+ http_version:
102
+ recorded_at: Tue, 10 Mar 2015 19:23:51 GMT
103
+ - request:
104
+ method: get
105
+ uri: http://api.soundcloud.com/resolve?client_id=<SOUNDCLOUD_CLIENT_ID>&format=json&url=http://soundcloud.com/rawfunkmaharishi/hexaflexagon-1
106
+ body:
107
+ encoding: US-ASCII
108
+ string: ''
109
+ headers:
110
+ User-Agent:
111
+ - SoundCloud Ruby Wrapper 0.13.3
112
+ response:
113
+ status:
114
+ code: 302
115
+ message: Found
116
+ headers:
117
+ Access-Control-Allow-Headers:
118
+ - Accept, Authorization, Content-Type, Origin
119
+ Access-Control-Allow-Methods:
120
+ - GET, PUT, POST, DELETE
121
+ Access-Control-Allow-Origin:
122
+ - "*"
123
+ Access-Control-Expose-Headers:
124
+ - Date
125
+ Cache-Control:
126
+ - no-cache
127
+ Content-Type:
128
+ - application/json; charset=utf-8
129
+ Date:
130
+ - Tue, 10 Mar 2015 19:23:51 GMT
131
+ Location:
132
+ - https://api.soundcloud.com/tracks/193008299.json?client_id=<SOUNDCLOUD_CLIENT_ID>
133
+ Server:
134
+ - am/2
135
+ Content-Length:
136
+ - '129'
137
+ body:
138
+ encoding: UTF-8
139
+ string: '{"status":"302 - Found","location":"https://api.soundcloud.com/tracks/193008299.json?client_id=<SOUNDCLOUD_CLIENT_ID>"}'
140
+ http_version:
141
+ recorded_at: Tue, 10 Mar 2015 19:23:51 GMT
142
+ - request:
143
+ method: get
144
+ uri: https://api.soundcloud.com/tracks/193008299.json?client_id=<SOUNDCLOUD_CLIENT_ID>
145
+ body:
146
+ encoding: US-ASCII
147
+ string: ''
148
+ headers:
149
+ User-Agent:
150
+ - SoundCloud Ruby Wrapper 0.13.3
151
+ response:
152
+ status:
153
+ code: 200
154
+ message: OK
155
+ headers:
156
+ Access-Control-Allow-Headers:
157
+ - Accept, Authorization, Content-Type, Origin
158
+ Access-Control-Allow-Methods:
159
+ - GET, PUT, POST, DELETE
160
+ Access-Control-Allow-Origin:
161
+ - "*"
162
+ Access-Control-Expose-Headers:
163
+ - Date
164
+ Cache-Control:
165
+ - max-age=600, public
166
+ Content-Type:
167
+ - application/json; charset=utf-8
168
+ Date:
169
+ - Tue, 10 Mar 2015 19:23:51 GMT
170
+ Etag:
171
+ - '"859f286dbcc1c367daa1ed7677ee4e85"'
172
+ Server:
173
+ - am/2
174
+ Vary:
175
+ - Authorization, Accept
176
+ Content-Length:
177
+ - '1555'
178
+ body:
179
+ encoding: UTF-8
180
+ string: '{"kind":"track","id":193008299,"created_at":"2015/02/25 19:24:51 +0000","user_id":56479293,"duration":209626,"commentable":true,"state":"finished","original_content_size":8436471,"last_modified":"2015/02/27
181
+ 17:08:45 +0000","sharing":"public","tag_list":"\"islington academy sessions\"","permalink":"hexaflexagon-1","streamable":true,"embeddable_by":"all","downloadable":true,"purchase_url":null,"label_id":null,"purchase_title":null,"genre":"funk","title":"Hexaflexagon","description":"Islington
182
+ Academy","label_name":null,"release":null,"track_type":null,"key_signature":null,"isrc":null,"video_url":null,"bpm":null,"release_year":2015,"release_month":2,"release_day":18,"original_format":"mp3","license":"cc-by-nc-sa","uri":"https://api.soundcloud.com/tracks/193008299","user":{"id":56479293,"kind":"user","permalink":"rawfunkmaharishi","username":"Raw
183
+ Funk Maharishi","last_modified":"2015/02/27 15:07:28 +0000","uri":"https://api.soundcloud.com/users/56479293","permalink_url":"http://soundcloud.com/rawfunkmaharishi","avatar_url":"https://i1.sndcdn.com/avatars-000110957821-ac80gy-large.jpg"},"permalink_url":"http://soundcloud.com/rawfunkmaharishi/hexaflexagon-1","artwork_url":null,"waveform_url":"https://w1.sndcdn.com/CxyZz6RUbqZN_m.png","stream_url":"https://api.soundcloud.com/tracks/193008299/stream","download_url":"https://api.soundcloud.com/tracks/193008299/download","playback_count":44,"download_count":3,"favoritings_count":0,"comment_count":0,"attachments_uri":"https://api.soundcloud.com/tracks/193008299/attachments","policy":"ALLOW"}'
184
+ http_version:
185
+ recorded_at: Tue, 10 Mar 2015 19:23:51 GMT
186
+ - request:
187
+ method: get
188
+ uri: http://api.soundcloud.com/resolve?client_id=<SOUNDCLOUD_CLIENT_ID>&format=json&url=http://soundcloud.com/rawfunkmaharishi/beer-of-course-but-why
189
+ body:
190
+ encoding: US-ASCII
191
+ string: ''
192
+ headers:
193
+ User-Agent:
194
+ - SoundCloud Ruby Wrapper 0.13.3
195
+ response:
196
+ status:
197
+ code: 302
198
+ message: Found
199
+ headers:
200
+ Access-Control-Allow-Headers:
201
+ - Accept, Authorization, Content-Type, Origin
202
+ Access-Control-Allow-Methods:
203
+ - GET, PUT, POST, DELETE
204
+ Access-Control-Allow-Origin:
205
+ - "*"
206
+ Access-Control-Expose-Headers:
207
+ - Date
208
+ Cache-Control:
209
+ - no-cache
210
+ Content-Type:
211
+ - application/json; charset=utf-8
212
+ Date:
213
+ - Tue, 10 Mar 2015 19:23:51 GMT
214
+ Location:
215
+ - https://api.soundcloud.com/tracks/193006525.json?client_id=<SOUNDCLOUD_CLIENT_ID>
216
+ Server:
217
+ - am/2
218
+ Content-Length:
219
+ - '129'
220
+ body:
221
+ encoding: UTF-8
222
+ string: '{"status":"302 - Found","location":"https://api.soundcloud.com/tracks/193006525.json?client_id=<SOUNDCLOUD_CLIENT_ID>"}'
223
+ http_version:
224
+ recorded_at: Tue, 10 Mar 2015 19:23:51 GMT
225
+ - request:
226
+ method: get
227
+ uri: https://api.soundcloud.com/tracks/193006525.json?client_id=<SOUNDCLOUD_CLIENT_ID>
228
+ body:
229
+ encoding: US-ASCII
230
+ string: ''
231
+ headers:
232
+ User-Agent:
233
+ - SoundCloud Ruby Wrapper 0.13.3
234
+ response:
235
+ status:
236
+ code: 200
237
+ message: OK
238
+ headers:
239
+ Access-Control-Allow-Headers:
240
+ - Accept, Authorization, Content-Type, Origin
241
+ Access-Control-Allow-Methods:
242
+ - GET, PUT, POST, DELETE
243
+ Access-Control-Allow-Origin:
244
+ - "*"
245
+ Access-Control-Expose-Headers:
246
+ - Date
247
+ Cache-Control:
248
+ - max-age=600, public
249
+ Content-Type:
250
+ - application/json; charset=utf-8
251
+ Date:
252
+ - Tue, 10 Mar 2015 19:23:51 GMT
253
+ Etag:
254
+ - '"0785bb7bd17844d6cbc33f86a091464d"'
255
+ Server:
256
+ - am/2
257
+ Vary:
258
+ - Authorization, Accept
259
+ Content-Length:
260
+ - '1592'
261
+ body:
262
+ encoding: UTF-8
263
+ string: '{"kind":"track","id":193006525,"created_at":"2015/02/25 19:13:37 +0000","user_id":56479293,"duration":190031,"commentable":true,"state":"finished","original_content_size":7652798,"last_modified":"2015/03/03
264
+ 20:07:21 +0000","sharing":"public","tag_list":"afrobeat \"islington academy
265
+ sessions\"","permalink":"beer-of-course-but-why","streamable":true,"embeddable_by":"all","downloadable":true,"purchase_url":null,"label_id":null,"purchase_title":null,"genre":"Funk","title":"Beer,
266
+ Of Course, But Why","description":"Islington Academy","label_name":null,"release":null,"track_type":null,"key_signature":null,"isrc":null,"video_url":null,"bpm":null,"release_year":2015,"release_month":2,"release_day":18,"original_format":"mp3","license":"cc-by-nc-sa","uri":"https://api.soundcloud.com/tracks/193006525","user":{"id":56479293,"kind":"user","permalink":"rawfunkmaharishi","username":"Raw
267
+ Funk Maharishi","last_modified":"2015/02/27 15:07:28 +0000","uri":"https://api.soundcloud.com/users/56479293","permalink_url":"http://soundcloud.com/rawfunkmaharishi","avatar_url":"https://i1.sndcdn.com/avatars-000110957821-ac80gy-large.jpg"},"permalink_url":"http://soundcloud.com/rawfunkmaharishi/beer-of-course-but-why","artwork_url":null,"waveform_url":"https://w1.sndcdn.com/qBjvlEuOtgIA_m.png","stream_url":"https://api.soundcloud.com/tracks/193006525/stream","download_url":"https://api.soundcloud.com/tracks/193006525/download","playback_count":38,"download_count":1,"favoritings_count":0,"comment_count":0,"attachments_uri":"https://api.soundcloud.com/tracks/193006525/attachments","policy":"ALLOW"}'
268
+ http_version:
269
+ recorded_at: Tue, 10 Mar 2015 19:23:51 GMT
270
+ - request:
271
+ method: get
272
+ uri: http://api.soundcloud.com/resolve?client_id=<SOUNDCLOUD_CLIENT_ID>&format=json&url=http://soundcloud.com/rawfunkmaharishi/junalbandi-3
273
+ body:
274
+ encoding: US-ASCII
275
+ string: ''
276
+ headers:
277
+ User-Agent:
278
+ - SoundCloud Ruby Wrapper 0.13.3
279
+ response:
280
+ status:
281
+ code: 302
282
+ message: Found
283
+ headers:
284
+ Access-Control-Allow-Headers:
285
+ - Accept, Authorization, Content-Type, Origin
286
+ Access-Control-Allow-Methods:
287
+ - GET, PUT, POST, DELETE
288
+ Access-Control-Allow-Origin:
289
+ - "*"
290
+ Access-Control-Expose-Headers:
291
+ - Date
292
+ Cache-Control:
293
+ - no-cache
294
+ Content-Type:
295
+ - application/json; charset=utf-8
296
+ Date:
297
+ - Tue, 10 Mar 2015 19:23:51 GMT
298
+ Location:
299
+ - https://api.soundcloud.com/tracks/193005357.json?client_id=<SOUNDCLOUD_CLIENT_ID>
300
+ Server:
301
+ - am/2
302
+ Content-Length:
303
+ - '129'
304
+ body:
305
+ encoding: UTF-8
306
+ string: '{"status":"302 - Found","location":"https://api.soundcloud.com/tracks/193005357.json?client_id=<SOUNDCLOUD_CLIENT_ID>"}'
307
+ http_version:
308
+ recorded_at: Tue, 10 Mar 2015 19:23:52 GMT
309
+ - request:
310
+ method: get
311
+ uri: https://api.soundcloud.com/tracks/193005357.json?client_id=<SOUNDCLOUD_CLIENT_ID>
312
+ body:
313
+ encoding: US-ASCII
314
+ string: ''
315
+ headers:
316
+ User-Agent:
317
+ - SoundCloud Ruby Wrapper 0.13.3
318
+ response:
319
+ status:
320
+ code: 200
321
+ message: OK
322
+ headers:
323
+ Access-Control-Allow-Headers:
324
+ - Accept, Authorization, Content-Type, Origin
325
+ Access-Control-Allow-Methods:
326
+ - GET, PUT, POST, DELETE
327
+ Access-Control-Allow-Origin:
328
+ - "*"
329
+ Access-Control-Expose-Headers:
330
+ - Date
331
+ Cache-Control:
332
+ - max-age=600, public
333
+ Content-Type:
334
+ - application/json; charset=utf-8
335
+ Date:
336
+ - Tue, 10 Mar 2015 19:23:52 GMT
337
+ Etag:
338
+ - '"37ac2a1715c2c5200d613b556ce71f1c"'
339
+ Server:
340
+ - am/2
341
+ Vary:
342
+ - Authorization, Accept
343
+ Content-Length:
344
+ - '1549'
345
+ body:
346
+ encoding: UTF-8
347
+ string: '{"kind":"track","id":193005357,"created_at":"2015/02/25 19:05:57 +0000","user_id":56479293,"duration":197111,"commentable":true,"state":"finished","original_content_size":7935965,"last_modified":"2015/02/28
348
+ 21:17:11 +0000","sharing":"public","tag_list":"\"islington academy sessions\"","permalink":"junalbandi-3","streamable":true,"embeddable_by":"all","downloadable":true,"purchase_url":null,"label_id":null,"purchase_title":null,"genre":"Funk","title":"Junalbandi","description":"Islington
349
+ Academy","label_name":null,"release":null,"track_type":null,"key_signature":null,"isrc":null,"video_url":null,"bpm":null,"release_year":2015,"release_month":2,"release_day":18,"original_format":"mp3","license":"cc-by-nc-sa","uri":"https://api.soundcloud.com/tracks/193005357","user":{"id":56479293,"kind":"user","permalink":"rawfunkmaharishi","username":"Raw
350
+ Funk Maharishi","last_modified":"2015/02/27 15:07:28 +0000","uri":"https://api.soundcloud.com/users/56479293","permalink_url":"http://soundcloud.com/rawfunkmaharishi","avatar_url":"https://i1.sndcdn.com/avatars-000110957821-ac80gy-large.jpg"},"permalink_url":"http://soundcloud.com/rawfunkmaharishi/junalbandi-3","artwork_url":null,"waveform_url":"https://w1.sndcdn.com/nbBOD5P8zpUy_m.png","stream_url":"https://api.soundcloud.com/tracks/193005357/stream","download_url":"https://api.soundcloud.com/tracks/193005357/download","playback_count":31,"download_count":1,"favoritings_count":0,"comment_count":0,"attachments_uri":"https://api.soundcloud.com/tracks/193005357/attachments","policy":"ALLOW"}'
351
+ http_version:
352
+ recorded_at: Tue, 10 Mar 2015 19:23:52 GMT
353
+ - request:
354
+ method: get
355
+ uri: http://api.soundcloud.com/resolve?client_id=<SOUNDCLOUD_CLIENT_ID>&format=json&url=http://soundcloud.com/rawfunkmaharishi/bernard
356
+ body:
357
+ encoding: US-ASCII
358
+ string: ''
359
+ headers:
360
+ User-Agent:
361
+ - SoundCloud Ruby Wrapper 0.13.3
362
+ response:
363
+ status:
364
+ code: 302
365
+ message: Found
366
+ headers:
367
+ Access-Control-Allow-Headers:
368
+ - Accept, Authorization, Content-Type, Origin
369
+ Access-Control-Allow-Methods:
370
+ - GET, PUT, POST, DELETE
371
+ Access-Control-Allow-Origin:
372
+ - "*"
373
+ Access-Control-Expose-Headers:
374
+ - Date
375
+ Cache-Control:
376
+ - no-cache
377
+ Content-Type:
378
+ - application/json; charset=utf-8
379
+ Date:
380
+ - Tue, 10 Mar 2015 19:23:52 GMT
381
+ Location:
382
+ - https://api.soundcloud.com/tracks/192841052.json?client_id=<SOUNDCLOUD_CLIENT_ID>
383
+ Server:
384
+ - am/2
385
+ Content-Length:
386
+ - '129'
387
+ body:
388
+ encoding: UTF-8
389
+ string: '{"status":"302 - Found","location":"https://api.soundcloud.com/tracks/192841052.json?client_id=<SOUNDCLOUD_CLIENT_ID>"}'
390
+ http_version:
391
+ recorded_at: Tue, 10 Mar 2015 19:23:52 GMT
392
+ - request:
393
+ method: get
394
+ uri: https://api.soundcloud.com/tracks/192841052.json?client_id=<SOUNDCLOUD_CLIENT_ID>
395
+ body:
396
+ encoding: US-ASCII
397
+ string: ''
398
+ headers:
399
+ User-Agent:
400
+ - SoundCloud Ruby Wrapper 0.13.3
401
+ response:
402
+ status:
403
+ code: 200
404
+ message: OK
405
+ headers:
406
+ Access-Control-Allow-Headers:
407
+ - Accept, Authorization, Content-Type, Origin
408
+ Access-Control-Allow-Methods:
409
+ - GET, PUT, POST, DELETE
410
+ Access-Control-Allow-Origin:
411
+ - "*"
412
+ Access-Control-Expose-Headers:
413
+ - Date
414
+ Cache-Control:
415
+ - max-age=600, public
416
+ Content-Type:
417
+ - application/json; charset=utf-8
418
+ Date:
419
+ - Tue, 10 Mar 2015 19:23:52 GMT
420
+ Etag:
421
+ - '"1891a1e60a9d1249b0860879cb87fce7"'
422
+ Server:
423
+ - am/2
424
+ Vary:
425
+ - Authorization, Accept
426
+ Content-Length:
427
+ - '1536'
428
+ body:
429
+ encoding: UTF-8
430
+ string: '{"kind":"track","id":192841052,"created_at":"2015/02/24 20:44:18 +0000","user_id":56479293,"duration":173860,"commentable":true,"state":"finished","original_content_size":7006006,"last_modified":"2015/03/03
431
+ 20:31:37 +0000","sharing":"public","tag_list":"\"islington academy sessions\"","permalink":"bernard","streamable":true,"embeddable_by":"all","downloadable":true,"purchase_url":null,"label_id":null,"purchase_title":null,"genre":"Funk","title":"Bernard","description":"Islington
432
+ Academy","label_name":null,"release":null,"track_type":null,"key_signature":null,"isrc":null,"video_url":null,"bpm":null,"release_year":2015,"release_month":2,"release_day":18,"original_format":"mp3","license":"cc-by-nc-sa","uri":"https://api.soundcloud.com/tracks/192841052","user":{"id":56479293,"kind":"user","permalink":"rawfunkmaharishi","username":"Raw
433
+ Funk Maharishi","last_modified":"2015/02/27 15:07:28 +0000","uri":"https://api.soundcloud.com/users/56479293","permalink_url":"http://soundcloud.com/rawfunkmaharishi","avatar_url":"https://i1.sndcdn.com/avatars-000110957821-ac80gy-large.jpg"},"permalink_url":"http://soundcloud.com/rawfunkmaharishi/bernard","artwork_url":null,"waveform_url":"https://w1.sndcdn.com/BAgEnzWuGhV7_m.png","stream_url":"https://api.soundcloud.com/tracks/192841052/stream","download_url":"https://api.soundcloud.com/tracks/192841052/download","playback_count":54,"download_count":1,"favoritings_count":0,"comment_count":0,"attachments_uri":"https://api.soundcloud.com/tracks/192841052/attachments","policy":"ALLOW"}'
434
+ http_version:
435
+ recorded_at: Tue, 10 Mar 2015 19:23:52 GMT
436
+ recorded_with: VCR 2.9.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  Authorization:
11
- - bearer d101f5c2b664609057de84a099964b09
11
+ - bearer <VIMEO_BEARER_TOKEN>
12
12
  Accept:
13
13
  - application/json
14
14
  response:
@@ -17,25 +17,37 @@ http_interactions:
17
17
  message: OK
18
18
  headers:
19
19
  Date:
20
- - Wed, 04 Mar 2015 22:02:49 GMT
20
+ - Tue, 10 Mar 2015 16:53:29 GMT
21
21
  Server:
22
- - Apache
23
- Vary:
24
- - Accept,Vimeo-Client-Id,Accept-Encoding
22
+ - nginx
23
+ Content-Type:
24
+ - application/vnd.vimeo.video+json
25
25
  Cache-Control:
26
26
  - no-cache, max-age=315360000
27
27
  Expires:
28
- - Sat, 01 Mar 2025 22:02:49 GMT
28
+ - Fri, 07 Mar 2025 16:53:29 GMT
29
29
  Content-Length:
30
30
  - '3688'
31
- Content-Type:
32
- - application/vnd.vimeo.video+json
31
+ Accept-Ranges:
32
+ - bytes
33
33
  Via:
34
- - 1.1 fra1-10
34
+ - 1.1 varnish
35
+ Age:
36
+ - '0'
37
+ X-Served-By:
38
+ - cache-fra1237-FRA
39
+ X-Cache:
40
+ - MISS
41
+ X-Cache-Hits:
42
+ - '0'
43
+ X-Timer:
44
+ - S1426006409.245585,VS0,VE234
45
+ Vary:
46
+ - Accept,Vimeo-Client-Id,Accept-Encoding
35
47
  body:
36
48
  encoding: UTF-8
37
- string: '{"uri":"/videos/117102891","name":"Bernard","description":null,"link":"https://vimeo.com/117102891","duration":239,"width":1280,"language":null,"height":720,"created_time":"2015-01-18T17:26:10+00:00","modified_time":"2015-02-25T21:11:06+00:00","content_rating":["unrated"],"license":"by-nc-sa","privacy":{"view":"anybody","embed":"public","download":true,"add":true,"comments":"anybody"},"pictures":{"uri":"/videos/117102891/pictures/503683214","active":true,"sizes":[{"width":100,"height":75,"link":"https://i.vimeocdn.com/video/503683214_100x75.jpg"},{"width":200,"height":150,"link":"https://i.vimeocdn.com/video/503683214_200x150.jpg"},{"width":295,"height":166,"link":"https://i.vimeocdn.com/video/503683214_295x166.jpg"},{"width":640,"height":360,"link":"https://i.vimeocdn.com/video/503683214_640x360.jpg"},{"width":960,"height":540,"link":"https://i.vimeocdn.com/video/503683214_960x540.jpg"},{"width":1280,"height":720,"link":"https://i.vimeocdn.com/video/503683214_1280x720.jpg"}]},"tags":[],"stats":{"plays":18},"embed":{"buttons":{"like":true,"watchlater":true,"share":true,"embed":true,"hd":false,"fullscreen":true,"scaling":true},"logos":{"vimeo":true,"custom":{"active":false,"link":null,"sticky":false}},"title":{"name":"user","owner":"user","portrait":"user"},"playbar":true,"volume":true,"color":"00adef"},"metadata":{"connections":{"comments":{"uri":"/videos/117102891/comments","options":["GET","POST"],"total":0},"credits":{"uri":"/videos/117102891/credits","options":["GET","POST"],"total":1},"likes":{"uri":"/videos/117102891/likes","options":["GET"],"total":0},"pictures":{"uri":"/videos/117102891/pictures","options":["GET","POST"],"total":1},"texttracks":{"uri":"/videos/117102891/texttracks","options":["GET","POST"],"total":0}},"interactions":{"watchlater":{"added":false,"added_time":null,"uri":"/users/33772623/watchlater/117102891"}}},"embed_presets":null,"user":{"uri":"/users/33772623","name":"Raw
49
+ string: '{"uri":"/videos/117102891","name":"Bernard","description":null,"link":"https://vimeo.com/117102891","duration":239,"width":1280,"language":null,"height":720,"created_time":"2015-01-18T17:26:10+00:00","modified_time":"2015-03-07T22:05:59+00:00","content_rating":["unrated"],"license":"by-nc-sa","privacy":{"view":"anybody","embed":"public","download":true,"add":true,"comments":"anybody"},"pictures":{"uri":"/videos/117102891/pictures/503683214","active":true,"sizes":[{"width":100,"height":75,"link":"https://i.vimeocdn.com/video/503683214_100x75.jpg"},{"width":200,"height":150,"link":"https://i.vimeocdn.com/video/503683214_200x150.jpg"},{"width":295,"height":166,"link":"https://i.vimeocdn.com/video/503683214_295x166.jpg"},{"width":640,"height":360,"link":"https://i.vimeocdn.com/video/503683214_640x360.jpg"},{"width":960,"height":540,"link":"https://i.vimeocdn.com/video/503683214_960x540.jpg"},{"width":1280,"height":720,"link":"https://i.vimeocdn.com/video/503683214_1280x720.jpg"}]},"tags":[],"stats":{"plays":21},"embed":{"buttons":{"like":true,"watchlater":true,"share":true,"embed":true,"hd":false,"fullscreen":true,"scaling":true},"logos":{"vimeo":true,"custom":{"active":false,"link":null,"sticky":false}},"title":{"name":"user","owner":"user","portrait":"user"},"playbar":true,"volume":true,"color":"00adef"},"metadata":{"connections":{"comments":{"uri":"/videos/117102891/comments","options":["GET","POST"],"total":0},"credits":{"uri":"/videos/117102891/credits","options":["GET","POST"],"total":1},"likes":{"uri":"/videos/117102891/likes","options":["GET"],"total":0},"pictures":{"uri":"/videos/117102891/pictures","options":["GET","POST"],"total":1},"texttracks":{"uri":"/videos/117102891/texttracks","options":["GET","POST"],"total":0}},"interactions":{"watchlater":{"added":false,"added_time":null,"uri":"/users/33772623/watchlater/117102891"}}},"embed_presets":null,"user":{"uri":"/users/33772623","name":"Raw
38
50
  Funk Maharishi","link":"https://vimeo.com/rawfunkmaharishi","location":null,"bio":null,"created_time":"2014-10-27T12:06:25+00:00","account":"basic","pictures":{"uri":"/users/33772623/pictures/8588995","active":true,"sizes":[{"width":30,"height":30,"link":"https://i.vimeocdn.com/portrait/8588995_30x30.jpg"},{"width":75,"height":75,"link":"https://i.vimeocdn.com/portrait/8588995_75x75.jpg"},{"width":100,"height":100,"link":"https://i.vimeocdn.com/portrait/8588995_100x100.jpg"},{"width":300,"height":300,"link":"https://i.vimeocdn.com/portrait/8588995_300x300.jpg"}]},"websites":[{"name":"http://rawfunkmaharishi.uk/","link":"http://rawfunkmaharishi.uk/","description":null}],"metadata":{"connections":{"activities":{"uri":"/users/33772623/activities","options":["GET"]},"albums":{"uri":"/users/33772623/albums","options":["GET"],"total":0},"channels":{"uri":"/users/33772623/channels","options":["GET"],"total":0},"feed":{"uri":"/users/33772623/feed","options":["GET"]},"followers":{"uri":"/users/33772623/followers","options":["GET"],"total":0},"following":{"uri":"/users/33772623/following","options":["GET"],"total":0},"groups":{"uri":"/users/33772623/groups","options":["GET"],"total":0},"likes":{"uri":"/users/33772623/likes","options":["GET"],"total":0},"portfolios":{"uri":"/users/33772623/portfolios","options":["GET"],"total":0},"videos":{"uri":"/users/33772623/videos","options":["GET"],"total":4},"watchlater":{"uri":"/users/33772623/watchlater","options":["GET"],"total":0},"shared":{"uri":"/users/33772623/shared/videos","options":["GET"],"total":0},"pictures":{"uri":"/users/33772623/pictures","options":["GET","POST"],"total":1}}},"content_filter":["language","drugs","violence","nudity","safe","unrated"]},"app":null,"status":"available"}'
39
51
  http_version:
40
- recorded_at: Wed, 04 Mar 2015 22:02:49 GMT
52
+ recorded_at: Tue, 10 Mar 2015 16:53:29 GMT
41
53
  recorded_with: VCR 2.9.3