jarvisbot_songfinder 1.0.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 (51) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +2 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +122 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +91 -0
  9. data/Rakefile +6 -0
  10. data/bin/console +24 -0
  11. data/bin/setup +8 -0
  12. data/fixtures/vcr_cassettes/query_text.yml +211 -0
  13. data/fixtures/vcr_cassettes/query_track_delegation.yml +211 -0
  14. data/fixtures/vcr_cassettes/query_youtube_url.yml +140 -0
  15. data/fixtures/vcr_cassettes/search_query_auxiliary_provider.yml +517 -0
  16. data/fixtures/vcr_cassettes/search_query_not_found.yml +111 -0
  17. data/fixtures/vcr_cassettes/search_query_preferred_and_auxiliary.yml +211 -0
  18. data/fixtures/vcr_cassettes/search_query_preferred_provider.yml +211 -0
  19. data/fixtures/vcr_cassettes/spotify_invalid_region_restricted.yml +55 -0
  20. data/fixtures/vcr_cassettes/spotify_invalid_search.yml +55 -0
  21. data/fixtures/vcr_cassettes/spotify_invalid_too_long.yml +55 -0
  22. data/fixtures/vcr_cassettes/spotify_valid.yml +55 -0
  23. data/fixtures/vcr_cassettes/spotify_valid_clean_or_unknown.yml +55 -0
  24. data/fixtures/vcr_cassettes/spotify_valid_explicit.yml +55 -0
  25. data/fixtures/vcr_cassettes/spotify_valid_search.yml +107 -0
  26. data/fixtures/vcr_cassettes/spotify_vcr_test.yml +55 -0
  27. data/fixtures/vcr_cassettes/url_query_known_provider.yml +187 -0
  28. data/fixtures/vcr_cassettes/youtube_invalid.yml +58 -0
  29. data/fixtures/vcr_cassettes/youtube_invalid_region_restricted.yml +147 -0
  30. data/fixtures/vcr_cassettes/youtube_invalid_regionrestricted.yml +147 -0
  31. data/fixtures/vcr_cassettes/youtube_invalid_search.yml +59 -0
  32. data/fixtures/vcr_cassettes/youtube_invalid_too_long.yml +140 -0
  33. data/fixtures/vcr_cassettes/youtube_invalid_wrong_category.yml +254 -0
  34. data/fixtures/vcr_cassettes/youtube_invalid_wrongcategory.yml +254 -0
  35. data/fixtures/vcr_cassettes/youtube_valid.yml +427 -0
  36. data/fixtures/vcr_cassettes/youtube_valid_search.yml +287 -0
  37. data/jarvisbot_songfinder.gemspec +52 -0
  38. data/lib/jarvisbot_songfinder.rb +21 -0
  39. data/lib/jarvisbot_songfinder/configuration.rb +28 -0
  40. data/lib/jarvisbot_songfinder/helpers/query.rb +34 -0
  41. data/lib/jarvisbot_songfinder/helpers/reply_message.rb +101 -0
  42. data/lib/jarvisbot_songfinder/helpers/search_query.rb +21 -0
  43. data/lib/jarvisbot_songfinder/helpers/url_query.rb +22 -0
  44. data/lib/jarvisbot_songfinder/providers/bandrequest.rb +36 -0
  45. data/lib/jarvisbot_songfinder/providers/provider.rb +64 -0
  46. data/lib/jarvisbot_songfinder/providers/spotify_api.rb +93 -0
  47. data/lib/jarvisbot_songfinder/providers/unknown_provider.rb +13 -0
  48. data/lib/jarvisbot_songfinder/providers/unknown_search_provider.rb +13 -0
  49. data/lib/jarvisbot_songfinder/providers/youtube_api.rb +137 -0
  50. data/lib/jarvisbot_songfinder/version.rb +3 -0
  51. metadata +237 -0
@@ -0,0 +1,187 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.googleapis.com/youtube/v3/videos?id=l7Z17VsymPc&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&part=status
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Length:
11
+ - '0'
12
+ User-Agent:
13
+ - Yt::Request (gzip)
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Expires:
20
+ - Fri, 01 Feb 2019 10:13:15 GMT
21
+ Date:
22
+ - Fri, 01 Feb 2019 10:13:15 GMT
23
+ Cache-Control:
24
+ - private, max-age=0, must-revalidate, no-transform
25
+ Etag:
26
+ - '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/wPHZCgG6UEzn0E32473pz1i3F_I"'
27
+ Vary:
28
+ - Origin
29
+ - X-Origin
30
+ Content-Type:
31
+ - application/json; charset=UTF-8
32
+ X-Content-Type-Options:
33
+ - nosniff
34
+ X-Frame-Options:
35
+ - SAMEORIGIN
36
+ X-Xss-Protection:
37
+ - 1; mode=block
38
+ Content-Length:
39
+ - '491'
40
+ Server:
41
+ - GSE
42
+ Alt-Svc:
43
+ - quic=":443"; ma=2592000; v="44,43,39"
44
+ body:
45
+ encoding: UTF-8
46
+ string: |
47
+ {
48
+ "kind": "youtube#videoListResponse",
49
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/wPHZCgG6UEzn0E32473pz1i3F_I\"",
50
+ "pageInfo": {
51
+ "totalResults": 1,
52
+ "resultsPerPage": 1
53
+ },
54
+ "items": [
55
+ {
56
+ "kind": "youtube#video",
57
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/te8oR2n5EXE6KyyQlt6h30oLmGg\"",
58
+ "id": "l7Z17VsymPc",
59
+ "status": {
60
+ "uploadStatus": "processed",
61
+ "privacyStatus": "public",
62
+ "license": "youtube",
63
+ "embeddable": true,
64
+ "publicStatsViewable": true
65
+ }
66
+ }
67
+ ]
68
+ }
69
+ http_version:
70
+ recorded_at: Fri, 01 Feb 2019 10:13:15 GMT
71
+ - request:
72
+ method: get
73
+ uri: https://www.googleapis.com/youtube/v3/videos?id=l7Z17VsymPc&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&maxResults=50&part=contentDetails
74
+ body:
75
+ encoding: US-ASCII
76
+ string: ''
77
+ headers:
78
+ Content-Length:
79
+ - '0'
80
+ User-Agent:
81
+ - Yt::Request (gzip)
82
+ response:
83
+ status:
84
+ code: 200
85
+ message: OK
86
+ headers:
87
+ Expires:
88
+ - Fri, 01 Feb 2019 10:13:15 GMT
89
+ Date:
90
+ - Fri, 01 Feb 2019 10:13:15 GMT
91
+ Cache-Control:
92
+ - private, max-age=300, must-revalidate, no-transform
93
+ Etag:
94
+ - '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/Jxj2moIRuEA2kfvJmXHLHsKRa5o"'
95
+ Vary:
96
+ - Origin
97
+ - X-Origin
98
+ Content-Type:
99
+ - application/json; charset=UTF-8
100
+ X-Content-Type-Options:
101
+ - nosniff
102
+ X-Frame-Options:
103
+ - SAMEORIGIN
104
+ X-Xss-Protection:
105
+ - 1; mode=block
106
+ Content-Length:
107
+ - '512'
108
+ Server:
109
+ - GSE
110
+ Alt-Svc:
111
+ - quic=":443"; ma=2592000; v="44,43,39"
112
+ body:
113
+ encoding: UTF-8
114
+ string: |
115
+ {
116
+ "kind": "youtube#videoListResponse",
117
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/Jxj2moIRuEA2kfvJmXHLHsKRa5o\"",
118
+ "pageInfo": {
119
+ "totalResults": 1,
120
+ "resultsPerPage": 1
121
+ },
122
+ "items": [
123
+ {
124
+ "kind": "youtube#video",
125
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/2LrhRdHed8_CUfKQBcehC66xhiM\"",
126
+ "id": "l7Z17VsymPc",
127
+ "contentDetails": {
128
+ "duration": "PT4M18S",
129
+ "dimension": "2d",
130
+ "definition": "hd",
131
+ "caption": "false",
132
+ "licensedContent": true,
133
+ "projection": "rectangular"
134
+ }
135
+ }
136
+ ]
137
+ }
138
+ http_version:
139
+ recorded_at: Fri, 01 Feb 2019 10:13:15 GMT
140
+ - request:
141
+ method: get
142
+ uri: https://www.googleapis.com/youtube/v3/videos?id=l7Z17VsymPc&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&part=snippet
143
+ body:
144
+ encoding: US-ASCII
145
+ string: ''
146
+ headers:
147
+ Content-Length:
148
+ - '0'
149
+ User-Agent:
150
+ - Yt::Request (gzip)
151
+ response:
152
+ status:
153
+ code: 200
154
+ message: OK
155
+ headers:
156
+ Expires:
157
+ - Fri, 01 Feb 2019 10:13:15 GMT
158
+ Date:
159
+ - Fri, 01 Feb 2019 10:13:15 GMT
160
+ Cache-Control:
161
+ - private, max-age=300, must-revalidate, no-transform
162
+ Etag:
163
+ - '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/on5no25fr_OvMyfLNVFJ91GSn2E"'
164
+ Vary:
165
+ - Origin
166
+ - X-Origin
167
+ Content-Type:
168
+ - application/json; charset=UTF-8
169
+ X-Content-Type-Options:
170
+ - nosniff
171
+ X-Frame-Options:
172
+ - SAMEORIGIN
173
+ X-Xss-Protection:
174
+ - 1; mode=block
175
+ Content-Length:
176
+ - '5653'
177
+ Server:
178
+ - GSE
179
+ Alt-Svc:
180
+ - quic=":443"; ma=2592000; v="44,43,39"
181
+ body:
182
+ encoding: ASCII-8BIT
183
+ string: !binary |-
184
+ ewogImtpbmQiOiAieW91dHViZSN2aWRlb0xpc3RSZXNwb25zZSIsCiAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9vbjVubzI1ZnJfT3ZNeWZMTlZGSjkxR1NuMkVcIiIsCiAicGFnZUluZm8iOiB7CiAgInRvdGFsUmVzdWx0cyI6IDEsCiAgInJlc3VsdHNQZXJQYWdlIjogMQogfSwKICJpdGVtcyI6IFsKICB7CiAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9wY1hHVnRtXzZubmFzbkhsQ3ZwWGhhejJVR1lcIiIsCiAgICJpZCI6ICJsN1oxN1ZzeW1QYyIsCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTYtMDQtMDFUMTU6MDM6MTQuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDM1ZEUmxxZUNRT3FRZktqdmxVQ1BSQSIsCiAgICAidGl0bGUiOiAiQ2VjaWwgT3R0ZXIgXCJDcm9zcyBDb3VudHJpZXNcIiAoJ0RlYXIgRWNobycgRVAg4oCUIEF2YWlsYWJsZSBOb3chKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiUHJlLW9yZGVyIGxpbWl0ZWQgZWRpdGlvbiB3aGl0ZSB2aW55bDogaHR0cDovL3N0b3JlLmRvb210cmVlLm5ldFxuaVR1bmVzOiBodHRwczovL2l0dW4uZXMvdXMvbWhzQ2JiXG5CYW5kY2FtcDogaHR0cDovL2NlY2lsb3R0ZXIuYmFuZGNhbXAuY29tXG5BbWF6b246IGh0dHA6Ly9hbXpuLnRvLzFST1o3QlBcbkdvb2dsZSBQbGF5OiBodHRwczovL2dvby5nbC9keGRXZGFcblNwb3RpZnk6IGh0dHA6Ly9zcG90aS5maS8xTUdYS1pXXG5cbkhlcmUgYXJlIDMgc29uZ3MgdGhhdCBJIHdyb3RlIGEgZmV3IHllYXJzIGFnby4gVGhlIHBsYW4gd2FzIHRvIHB1dCB0aGVtIG9uIHRoZSBmdWxsIGxlbmd0aCB0aGF0IEnigJltIHdvcmtpbmcgb24sIGJ1dCB0aGVzZSAzIGluIHBhcnRpY3VsYXIgd2VyZSB3cml0dGVuIGFib3V0L2ZvciBhIGNlcnRhaW4gcGFydCBvZiBteSBsaWZlIHRoYXQgaGFzIGJlZW4gaW4gdGhlIHJlYXIgdmlldyBmb3Igc28gbG9uZyB0aGF0IHRoZXkgZGlkbuKAmXQgbWFrZSBzZW5zZSB3aXRoIHRoZSBtb3JlIHJlY2VudCBzb25ncyBJ4oCZdmUgYmVlbiB3cml0aW5nLlxuXG5JbnN0ZWFkIG9mIGFkYXB0aW5nIHRoZW0gdG8gdGhlIG5ldyB0cmFja3Mgb3IgbGV0dGluZyB0aGVtIGZhZGUgYXdheSBjb21wbGV0ZWx5IGkgZGVjaWRlZCB0byBjdXQgdGhlbSBsb29zZS4gRm9yIG1lLCBpdCB3YXMgYSBnb29kIHdheSB0byBzaG93IGZhbnMgb2YgbXkgbXVzaWMgdGhhdCB0aGVyZSBpcyBzdGlsbCBhIHB1bHNlIGFuZCBhIHBsYW4gdG8gcHV0IG91dCBuZXcgbXVzaWMgYW5kIGFsbCBvZiB0aGUgb3RoZXIgbXVzaWMgaeKAmXZlIG1hZGUgaW4gdGhlIHBhc3QgaW5zdGVhZCBvZiBrZWVwaW5nIGl0IHRvIG15c2VsZiwgZmVhcmluZyB0aGF0IHRoZSB3b3JsZCBtaWdodCBleHBsb2RlIGlmIGFueW9uZSBlbHNlIGhlYXJzIHRoZW0uXG5cbkkgY291bGQgZ28gaW50byBkZXRhaWwgYWJvdXQgd2hhdCB0aGVzZSBzb25ncyBtZWFuIHRvIG1lLCBidXQgSeKAmW0gbm90IGdvaW5nIHRvLiBJIGtlZXAgdGhhdCBraW5kYSB0aGluZyB0byBteXNlbGYgYXMgdGhlIG1lYW5pbmdzIHRlbmQgdG8gY2hhbmdlIGZvciBtZSB2ZXJ5IG9mdGVuLiBQZW9wbGUgd2hvIGtub3cgbXkgbXVzaWMgd291bGQgYWxzbyBrbm93IHRoYXQgbXkgc29uZ3MgYXJlIHZlcnkgY3J5cHRpYyBhbmQgb3ZlcmZsb3dpbmcgd2l0aCB3b3JkIHBsYXksIGJ1dCB0aGV5IGdpdmUgeW91IHRoZSBzcGFjZSB0byBtYWtlIHVwIHlvdXIgb3duIHdvcmxkcyBhbmQgbWVhbmluZ3MuXG5cbkl0IHNob3VsZCBiZSBrbm93biB0aGF0IHdpdGhvdXQgdGhlIHN1cHBvcnQgb2Ygc29tZSB2ZXJ5IGltcG9ydGFudCBwZW9wbGUgaW4gbXkgbGlmZSB0aGVzZSBzb25ncyBhcyB3ZWxsIGFzIHRoZSBuZXh0IHJvdW5kIG9mIGFsYnVtcyB3b3VsZCBoYXZlIG1vc3QgbGlrZWx5IGJlZW4gbGVmdCB0byByb3Qgb24gYW4gb2xkIGhhcmQgZHJpdmUgb3Igbm90IGhhdmUgYmVlbiBtYWRlIGluIHRoZSBmaXJzdCBwbGFjZS4gSWYgdGhlc2Ugc29uZ3MgbWVhbiBhbnl0aGluZyB0byB5b3UgdGhlbiB5b3UgaGF2ZSBhIGhhbmRmdWwgb2YgYmVhdXRpZnVsIHBlb3BsZSB0byB0aGFuayBmb3IgdGhhdOKApmFzIGRvIEkuXG5cbkhlcmUgYXJlIHNvbWXigKZcblxuUnlhbiBPbHNvblxuXG5MYXplcmJlYWtcblxuWmFjayBDb3VsdGVyXG5cbkp1c3RpbiBWZXJub25cblxuSm9lIFdlc3Rlcmx1bmRcblxuU2FnZSBGcmFuY2lzXG5cbkJlbnNvbiBSYW1zZXlcblxuSmFrZSBIYW5zb25cblxuQi5KLiBCdXJ0b25cblxuRGlhbmEgS3lcblxuQW5keSBMdW5kXG5cbnRoZSBsaXN0IGNhbiBhbmQgd2lsbCBnbyBvbuKAplxuXG5FeHBlY3QgbW9yZSBhbmQgbW9yZSBzb2xvIHdvcmsgYW5kIHByb2R1Y3Rpb24gZnJvbSBtZSBhbmQgZXZlcnlvbmUgZWxzZSBpbiB0aGUgbmVhciBmdXR1cmUuIFxuXG5BbGwgdGhlIGJlc3QgYW5kIGxvdmUgdG8geeKAmWFsbC5cblxu4oCUQ2VjaWwgT3R0ZXIiLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sN1oxN1ZzeW1QYy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvbDdaMTdWc3ltUGMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sN1oxN1ZzeW1QYy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfSwKICAgICAic3RhbmRhcmQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sN1oxN1ZzeW1QYy9zZGRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNjQwLAogICAgICAiaGVpZ2h0IjogNDgwCiAgICAgfSwKICAgICAibWF4cmVzIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvbDdaMTdWc3ltUGMvbWF4cmVzZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjgwLAogICAgICAiaGVpZ2h0IjogNzIwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiRG9vbXRyZWUiLAogICAgInRhZ3MiOiBbCiAgICAgImNlY2lsIG90dGVyIiwKICAgICAiY2VjaWxvdHRlciIsCiAgICAgImRvb210cmVlIiwKICAgICAiZGVhciBlY2hvIiwKICAgICAiZ3JpbWUiLAogICAgICJjcm9zcyBjb3VudHJpZXMiLAogICAgICJiZWF1dHkiLAogICAgICJyYXAiLAogICAgICJoaXAgaG9wIiwKICAgICAiaW5kaWUiLAogICAgICJtaW5uZWFwb2xpcyIsCiAgICAgImFwcmlsIGJhc2UiCiAgICBdLAogICAgImNhdGVnb3J5SWQiOiAiMTAiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiLAogICAgImxvY2FsaXplZCI6IHsKICAgICAidGl0bGUiOiAiQ2VjaWwgT3R0ZXIgXCJDcm9zcyBDb3VudHJpZXNcIiAoJ0RlYXIgRWNobycgRVAg4oCUIEF2YWlsYWJsZSBOb3chKSIsCiAgICAgImRlc2NyaXB0aW9uIjogIlByZS1vcmRlciBsaW1pdGVkIGVkaXRpb24gd2hpdGUgdmlueWw6IGh0dHA6Ly9zdG9yZS5kb29tdHJlZS5uZXRcbmlUdW5lczogaHR0cHM6Ly9pdHVuLmVzL3VzL21oc0NiYlxuQmFuZGNhbXA6IGh0dHA6Ly9jZWNpbG90dGVyLmJhbmRjYW1wLmNvbVxuQW1hem9uOiBodHRwOi8vYW16bi50by8xUk9aN0JQXG5Hb29nbGUgUGxheTogaHR0cHM6Ly9nb28uZ2wvZHhkV2RhXG5TcG90aWZ5OiBodHRwOi8vc3BvdGkuZmkvMU1HWEtaV1xuXG5IZXJlIGFyZSAzIHNvbmdzIHRoYXQgSSB3cm90ZSBhIGZldyB5ZWFycyBhZ28uIFRoZSBwbGFuIHdhcyB0byBwdXQgdGhlbSBvbiB0aGUgZnVsbCBsZW5ndGggdGhhdCBJ4oCZbSB3b3JraW5nIG9uLCBidXQgdGhlc2UgMyBpbiBwYXJ0aWN1bGFyIHdlcmUgd3JpdHRlbiBhYm91dC9mb3IgYSBjZXJ0YWluIHBhcnQgb2YgbXkgbGlmZSB0aGF0IGhhcyBiZWVuIGluIHRoZSByZWFyIHZpZXcgZm9yIHNvIGxvbmcgdGhhdCB0aGV5IGRpZG7igJl0IG1ha2Ugc2Vuc2Ugd2l0aCB0aGUgbW9yZSByZWNlbnQgc29uZ3MgSeKAmXZlIGJlZW4gd3JpdGluZy5cblxuSW5zdGVhZCBvZiBhZGFwdGluZyB0aGVtIHRvIHRoZSBuZXcgdHJhY2tzIG9yIGxldHRpbmcgdGhlbSBmYWRlIGF3YXkgY29tcGxldGVseSBpIGRlY2lkZWQgdG8gY3V0IHRoZW0gbG9vc2UuIEZvciBtZSwgaXQgd2FzIGEgZ29vZCB3YXkgdG8gc2hvdyBmYW5zIG9mIG15IG11c2ljIHRoYXQgdGhlcmUgaXMgc3RpbGwgYSBwdWxzZSBhbmQgYSBwbGFuIHRvIHB1dCBvdXQgbmV3IG11c2ljIGFuZCBhbGwgb2YgdGhlIG90aGVyIG11c2ljIGnigJl2ZSBtYWRlIGluIHRoZSBwYXN0IGluc3RlYWQgb2Yga2VlcGluZyBpdCB0byBteXNlbGYsIGZlYXJpbmcgdGhhdCB0aGUgd29ybGQgbWlnaHQgZXhwbG9kZSBpZiBhbnlvbmUgZWxzZSBoZWFycyB0aGVtLlxuXG5JIGNvdWxkIGdvIGludG8gZGV0YWlsIGFib3V0IHdoYXQgdGhlc2Ugc29uZ3MgbWVhbiB0byBtZSwgYnV0IEnigJltIG5vdCBnb2luZyB0by4gSSBrZWVwIHRoYXQga2luZGEgdGhpbmcgdG8gbXlzZWxmIGFzIHRoZSBtZWFuaW5ncyB0ZW5kIHRvIGNoYW5nZSBmb3IgbWUgdmVyeSBvZnRlbi4gUGVvcGxlIHdobyBrbm93IG15IG11c2ljIHdvdWxkIGFsc28ga25vdyB0aGF0IG15IHNvbmdzIGFyZSB2ZXJ5IGNyeXB0aWMgYW5kIG92ZXJmbG93aW5nIHdpdGggd29yZCBwbGF5LCBidXQgdGhleSBnaXZlIHlvdSB0aGUgc3BhY2UgdG8gbWFrZSB1cCB5b3VyIG93biB3b3JsZHMgYW5kIG1lYW5pbmdzLlxuXG5JdCBzaG91bGQgYmUga25vd24gdGhhdCB3aXRob3V0IHRoZSBzdXBwb3J0IG9mIHNvbWUgdmVyeSBpbXBvcnRhbnQgcGVvcGxlIGluIG15IGxpZmUgdGhlc2Ugc29uZ3MgYXMgd2VsbCBhcyB0aGUgbmV4dCByb3VuZCBvZiBhbGJ1bXMgd291bGQgaGF2ZSBtb3N0IGxpa2VseSBiZWVuIGxlZnQgdG8gcm90IG9uIGFuIG9sZCBoYXJkIGRyaXZlIG9yIG5vdCBoYXZlIGJlZW4gbWFkZSBpbiB0aGUgZmlyc3QgcGxhY2UuIElmIHRoZXNlIHNvbmdzIG1lYW4gYW55dGhpbmcgdG8geW91IHRoZW4geW91IGhhdmUgYSBoYW5kZnVsIG9mIGJlYXV0aWZ1bCBwZW9wbGUgdG8gdGhhbmsgZm9yIHRoYXTigKZhcyBkbyBJLlxuXG5IZXJlIGFyZSBzb21l4oCmXG5cblJ5YW4gT2xzb25cblxuTGF6ZXJiZWFrXG5cblphY2sgQ291bHRlclxuXG5KdXN0aW4gVmVybm9uXG5cbkpvZSBXZXN0ZXJsdW5kXG5cblNhZ2UgRnJhbmNpc1xuXG5CZW5zb24gUmFtc2V5XG5cbkpha2UgSGFuc29uXG5cbkIuSi4gQnVydG9uXG5cbkRpYW5hIEt5XG5cbkFuZHkgTHVuZFxuXG50aGUgbGlzdCBjYW4gYW5kIHdpbGwgZ28gb27igKZcblxuRXhwZWN0IG1vcmUgYW5kIG1vcmUgc29sbyB3b3JrIGFuZCBwcm9kdWN0aW9uIGZyb20gbWUgYW5kIGV2ZXJ5b25lIGVsc2UgaW4gdGhlIG5lYXIgZnV0dXJlLiBcblxuQWxsIHRoZSBiZXN0IGFuZCBsb3ZlIHRvIHnigJlhbGwuXG5cbuKAlENlY2lsIE90dGVyIgogICAgfQogICB9CiAgfQogXQp9Cg==
185
+ http_version:
186
+ recorded_at: Fri, 01 Feb 2019 10:13:15 GMT
187
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,58 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.googleapis.com/youtube/v3/videos?id=nonexistent&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&part=status
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Length:
11
+ - '0'
12
+ User-Agent:
13
+ - Yt::Request (gzip)
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Expires:
20
+ - Fri, 01 Feb 2019 09:55:51 GMT
21
+ Date:
22
+ - Fri, 01 Feb 2019 09:55:51 GMT
23
+ Cache-Control:
24
+ - private, max-age=0, must-revalidate, no-transform
25
+ Etag:
26
+ - '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/hirftF6HU1SlcHf-VOY2bsqIoJA"'
27
+ Vary:
28
+ - Origin
29
+ - X-Origin
30
+ Content-Type:
31
+ - application/json; charset=UTF-8
32
+ X-Content-Type-Options:
33
+ - nosniff
34
+ X-Frame-Options:
35
+ - SAMEORIGIN
36
+ X-Xss-Protection:
37
+ - 1; mode=block
38
+ Content-Length:
39
+ - '189'
40
+ Server:
41
+ - GSE
42
+ Alt-Svc:
43
+ - quic=":443"; ma=2592000; v="44,43,39"
44
+ body:
45
+ encoding: UTF-8
46
+ string: |
47
+ {
48
+ "kind": "youtube#videoListResponse",
49
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/hirftF6HU1SlcHf-VOY2bsqIoJA\"",
50
+ "pageInfo": {
51
+ "totalResults": 0,
52
+ "resultsPerPage": 0
53
+ },
54
+ "items": []
55
+ }
56
+ http_version:
57
+ recorded_at: Fri, 01 Feb 2019 09:55:51 GMT
58
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,147 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.googleapis.com/youtube/v3/videos?id=DMFAGv2uKv0&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&part=status
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Length:
11
+ - '0'
12
+ User-Agent:
13
+ - Yt::Request (gzip)
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Expires:
20
+ - Fri, 01 Feb 2019 09:56:39 GMT
21
+ Date:
22
+ - Fri, 01 Feb 2019 09:56:39 GMT
23
+ Cache-Control:
24
+ - private, max-age=0, must-revalidate, no-transform
25
+ Etag:
26
+ - '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/BnJJOyewClyJVcWsjsjGVz_b-E4"'
27
+ Vary:
28
+ - Origin
29
+ - X-Origin
30
+ Content-Type:
31
+ - application/json; charset=UTF-8
32
+ X-Content-Type-Options:
33
+ - nosniff
34
+ X-Frame-Options:
35
+ - SAMEORIGIN
36
+ X-Xss-Protection:
37
+ - 1; mode=block
38
+ Content-Length:
39
+ - '491'
40
+ Server:
41
+ - GSE
42
+ Alt-Svc:
43
+ - quic=":443"; ma=2592000; v="44,43,39"
44
+ body:
45
+ encoding: UTF-8
46
+ string: |
47
+ {
48
+ "kind": "youtube#videoListResponse",
49
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/BnJJOyewClyJVcWsjsjGVz_b-E4\"",
50
+ "pageInfo": {
51
+ "totalResults": 1,
52
+ "resultsPerPage": 1
53
+ },
54
+ "items": [
55
+ {
56
+ "kind": "youtube#video",
57
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/pep_02DkUKiUnWtH2NsJxzB5ltM\"",
58
+ "id": "DMFAGv2uKv0",
59
+ "status": {
60
+ "uploadStatus": "processed",
61
+ "privacyStatus": "public",
62
+ "license": "youtube",
63
+ "embeddable": true,
64
+ "publicStatsViewable": true
65
+ }
66
+ }
67
+ ]
68
+ }
69
+ http_version:
70
+ recorded_at: Fri, 01 Feb 2019 09:56:39 GMT
71
+ - request:
72
+ method: get
73
+ uri: https://www.googleapis.com/youtube/v3/videos?id=DMFAGv2uKv0&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&maxResults=50&part=contentDetails
74
+ body:
75
+ encoding: US-ASCII
76
+ string: ''
77
+ headers:
78
+ Content-Length:
79
+ - '0'
80
+ User-Agent:
81
+ - Yt::Request (gzip)
82
+ response:
83
+ status:
84
+ code: 200
85
+ message: OK
86
+ headers:
87
+ Expires:
88
+ - Fri, 01 Feb 2019 09:56:39 GMT
89
+ Date:
90
+ - Fri, 01 Feb 2019 09:56:39 GMT
91
+ Cache-Control:
92
+ - private, max-age=300, must-revalidate, no-transform
93
+ Etag:
94
+ - '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/mWc77rCgN98iFi5G_Zv57bBboK8"'
95
+ Vary:
96
+ - Origin
97
+ - X-Origin
98
+ Content-Type:
99
+ - application/json; charset=UTF-8
100
+ X-Content-Type-Options:
101
+ - nosniff
102
+ X-Frame-Options:
103
+ - SAMEORIGIN
104
+ X-Xss-Protection:
105
+ - 1; mode=block
106
+ Content-Length:
107
+ - '606'
108
+ Server:
109
+ - GSE
110
+ Alt-Svc:
111
+ - quic=":443"; ma=2592000; v="44,43,39"
112
+ body:
113
+ encoding: UTF-8
114
+ string: |
115
+ {
116
+ "kind": "youtube#videoListResponse",
117
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/mWc77rCgN98iFi5G_Zv57bBboK8\"",
118
+ "pageInfo": {
119
+ "totalResults": 1,
120
+ "resultsPerPage": 1
121
+ },
122
+ "items": [
123
+ {
124
+ "kind": "youtube#video",
125
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/p82wGhHr89DN1xP9oOImppeilqE\"",
126
+ "id": "DMFAGv2uKv0",
127
+ "contentDetails": {
128
+ "duration": "PT3M10S",
129
+ "dimension": "2d",
130
+ "definition": "sd",
131
+ "caption": "false",
132
+ "licensedContent": true,
133
+ "regionRestriction": {
134
+ "blocked": [
135
+ "CA",
136
+ "US",
137
+ "PR"
138
+ ]
139
+ },
140
+ "projection": "rectangular"
141
+ }
142
+ }
143
+ ]
144
+ }
145
+ http_version:
146
+ recorded_at: Fri, 01 Feb 2019 09:56:39 GMT
147
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,147 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.googleapis.com/youtube/v3/videos?id=DMFAGv2uKv0&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&part=status
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Length:
11
+ - '0'
12
+ User-Agent:
13
+ - Yt::Request (gzip)
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Expires:
20
+ - Fri, 01 Feb 2019 09:55:51 GMT
21
+ Date:
22
+ - Fri, 01 Feb 2019 09:55:51 GMT
23
+ Cache-Control:
24
+ - private, max-age=0, must-revalidate, no-transform
25
+ Etag:
26
+ - '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/BnJJOyewClyJVcWsjsjGVz_b-E4"'
27
+ Vary:
28
+ - Origin
29
+ - X-Origin
30
+ Content-Type:
31
+ - application/json; charset=UTF-8
32
+ X-Content-Type-Options:
33
+ - nosniff
34
+ X-Frame-Options:
35
+ - SAMEORIGIN
36
+ X-Xss-Protection:
37
+ - 1; mode=block
38
+ Content-Length:
39
+ - '491'
40
+ Server:
41
+ - GSE
42
+ Alt-Svc:
43
+ - quic=":443"; ma=2592000; v="44,43,39"
44
+ body:
45
+ encoding: UTF-8
46
+ string: |
47
+ {
48
+ "kind": "youtube#videoListResponse",
49
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/BnJJOyewClyJVcWsjsjGVz_b-E4\"",
50
+ "pageInfo": {
51
+ "totalResults": 1,
52
+ "resultsPerPage": 1
53
+ },
54
+ "items": [
55
+ {
56
+ "kind": "youtube#video",
57
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/pep_02DkUKiUnWtH2NsJxzB5ltM\"",
58
+ "id": "DMFAGv2uKv0",
59
+ "status": {
60
+ "uploadStatus": "processed",
61
+ "privacyStatus": "public",
62
+ "license": "youtube",
63
+ "embeddable": true,
64
+ "publicStatsViewable": true
65
+ }
66
+ }
67
+ ]
68
+ }
69
+ http_version:
70
+ recorded_at: Fri, 01 Feb 2019 09:55:51 GMT
71
+ - request:
72
+ method: get
73
+ uri: https://www.googleapis.com/youtube/v3/videos?id=DMFAGv2uKv0&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&maxResults=50&part=contentDetails
74
+ body:
75
+ encoding: US-ASCII
76
+ string: ''
77
+ headers:
78
+ Content-Length:
79
+ - '0'
80
+ User-Agent:
81
+ - Yt::Request (gzip)
82
+ response:
83
+ status:
84
+ code: 200
85
+ message: OK
86
+ headers:
87
+ Expires:
88
+ - Fri, 01 Feb 2019 09:55:51 GMT
89
+ Date:
90
+ - Fri, 01 Feb 2019 09:55:51 GMT
91
+ Cache-Control:
92
+ - private, max-age=300, must-revalidate, no-transform
93
+ Etag:
94
+ - '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/a9StzUvLNDQrUJMbUu-XXNDni2w"'
95
+ Vary:
96
+ - Origin
97
+ - X-Origin
98
+ Content-Type:
99
+ - application/json; charset=UTF-8
100
+ X-Content-Type-Options:
101
+ - nosniff
102
+ X-Frame-Options:
103
+ - SAMEORIGIN
104
+ X-Xss-Protection:
105
+ - 1; mode=block
106
+ Content-Length:
107
+ - '606'
108
+ Server:
109
+ - GSE
110
+ Alt-Svc:
111
+ - quic=":443"; ma=2592000; v="44,43,39"
112
+ body:
113
+ encoding: UTF-8
114
+ string: |
115
+ {
116
+ "kind": "youtube#videoListResponse",
117
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/a9StzUvLNDQrUJMbUu-XXNDni2w\"",
118
+ "pageInfo": {
119
+ "totalResults": 1,
120
+ "resultsPerPage": 1
121
+ },
122
+ "items": [
123
+ {
124
+ "kind": "youtube#video",
125
+ "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/5uIvEzDHWFVAvX1rsmB4TmOXAhA\"",
126
+ "id": "DMFAGv2uKv0",
127
+ "contentDetails": {
128
+ "duration": "PT3M10S",
129
+ "dimension": "2d",
130
+ "definition": "sd",
131
+ "caption": "false",
132
+ "licensedContent": true,
133
+ "regionRestriction": {
134
+ "blocked": [
135
+ "PR",
136
+ "CA",
137
+ "US"
138
+ ]
139
+ },
140
+ "projection": "rectangular"
141
+ }
142
+ }
143
+ ]
144
+ }
145
+ http_version:
146
+ recorded_at: Fri, 01 Feb 2019 09:55:51 GMT
147
+ recorded_with: VCR 4.0.0