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,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spotify.com/v1/tracks/4bT2zLVv2T4GiK9q9KtI0v
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.0p0
16
+ Authorization:
17
+ - Bearer BQCCQC9WTd6toRvyrrXTwWyuZQlooT_jNCascV4T4vO1_xJrS977uvmAHEdVrFHpqqehE9Ecw4BHwlWzUhc
18
+ Host:
19
+ - api.spotify.com
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Cache-Control:
28
+ - public, max-age=7200
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Allow-Headers:
32
+ - Accept, Authorization, Origin, Content-Type, Retry-After
33
+ Access-Control-Allow-Methods:
34
+ - GET, POST, OPTIONS, PUT, DELETE, PATCH
35
+ Access-Control-Allow-Credentials:
36
+ - 'true'
37
+ Access-Control-Max-Age:
38
+ - '604800'
39
+ Content-Encoding:
40
+ - gzip
41
+ Date:
42
+ - Fri, 01 Feb 2019 10:06:07 GMT
43
+ Via:
44
+ - 1.1 google
45
+ Alt-Svc:
46
+ - clear
47
+ Transfer-Encoding:
48
+ - chunked
49
+ body:
50
+ encoding: ASCII-8BIT
51
+ string: !binary |-
52
+ H4sIAAAAAAAAAOxV227iSBB936+weNqVMoPvF97CJYFwiRMTRpPVCrXtdmjFNsRuGMgo/z72sYGQxQkzu0+rldARVBWnqqv7VH3/TRBqJHSXUU1oCN+zX9vfU75Z0NxYus9KX8JZytPc8WcZn1npmtMkJuF0mYTpngm+dDHnLNiAasb5Im3U6/MFjT+Xjs/ePKoXtHX5aX11sbr4Ouy0n3xjyfRH59x7qpVkL2fbfLOEBgeEZMEO+FZSSZlWce64mA+mj8JiEhXtuKe+vzfvu4R0e8cyYbCXVTUKf+O9E74If227vCIsJG5IpxFJHum237Xzdu0sww7wFjgG3uXYhL15CewCr4GIbMHSGgBhbxX2r8D7HNtgaPeBiGnD3mkB4e2Av+PkeNEDgueyCSy+o6oueLojICrsof4eeHqopAeeHuKvkPHKzrH/JccBOAfIMkDMADyDSY7DcyBqG8I7xFlGiB+BfwTOEU5xPczRxr9s1GCjJzYibVRig8cGzw0ib8Hg4LuDfznogIPTOahkDJ4xTjpGB8ao/w48E9jvz2u7+63Uy4lqyRVZN1jLYDeE3iaXitLVJ704CEWxfEplopOEkrOlVXQlUamSD4Ii8kDfzoYZZQ8znht1VXwlj/Cgrqwqz4+zkuogqRNLJAbxDFdTZImYkqZQ1zJljVBiUl0TiaZaxHDNveC+MZ/PyjRlD44VoYinF+GphuJarqd4pkF8SSeBL+qubJmiKKue7FmK5lHia0eKyNK8U4SunlyD7waSFWiG5+uqZrhUEmWqmJroEdMMDFUKRN3XDIscbcSbsbKbYa2QJIxvhN/bNFyu6R/bC0xoSElKpz7hRaAsSuonUco+x0Kmi4R6LGXzGME+2Wyj+Jxnr5snxHvEe5CMrePoVvnbsMydjeoHjud9bBf9Y2V9vId+Slqn7KCTNtDR/VOxfX5+9+xe6b/UP/12LV31n5uJ8zzv3/DInUTNePjr/avgO+zf+0G7/nXJJqQb4QsLQ0ai9NdaWX3AUm3/r/D/8gqv+Sz1pvEycmmC8VYYlwnh2TCcRrhsWTIUVYeHrhch8xhmf0DClJbWUmvMfyW1GksTD2/uzrkbGpIiSaph7qdehUJP0ycmcl11x/LzYLKSx+ol61tPVp/3xNU+xSnSLGZ7FRVoSl2+G5JOw7lHwsPG7LTqcLIRxjMqjPLNKXwSLijhmSTjB+GNjIXrQLBJQqJ5QgvqxXyxLNYcdqFcGBO6YvTbtNy68TIMYcdpXl9ocaO7oQB/wft2IsDVqGrpyw8AAAD//wMA5YNKgGINAAA=
53
+ http_version:
54
+ recorded_at: Fri, 01 Feb 2019 10:06:07 GMT
55
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spotify.com/v1/search?limit=20&offset=0&q=Trove%20Seveyan%20-%20My%20My%20My&type=track
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.0p0
16
+ Authorization:
17
+ - Bearer BQCCQC9WTd6toRvyrrXTwWyuZQlooT_jNCascV4T4vO1_xJrS977uvmAHEdVrFHpqqehE9Ecw4BHwlWzUhc
18
+ Host:
19
+ - api.spotify.com
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Cache-Control:
28
+ - public, max-age=7200
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Allow-Headers:
32
+ - Accept, Authorization, Origin, Content-Type, Retry-After
33
+ Access-Control-Allow-Methods:
34
+ - GET, POST, OPTIONS, PUT, DELETE, PATCH
35
+ Access-Control-Allow-Credentials:
36
+ - 'true'
37
+ Access-Control-Max-Age:
38
+ - '604800'
39
+ Content-Encoding:
40
+ - gzip
41
+ Date:
42
+ - Fri, 01 Feb 2019 10:06:07 GMT
43
+ Via:
44
+ - 1.1 google
45
+ Alt-Svc:
46
+ - clear
47
+ Transfer-Encoding:
48
+ - chunked
49
+ body:
50
+ encoding: ASCII-8BIT
51
+ string: !binary |-
52
+ H4sIAAAAAAAAAFyNsQqDMBRFd78iZHCxNdZRCP2CTu1WOgR5wdBoYvIMDeK/V6NdCne5h8O9c0YIRSfat6ekIfNaV9A5kFulHaL1DWPCqtJbg0rGsjU9CxfmQbi2u44TuMgfzgQo7hAgiqE4F7e4J8dogaf93EjpAXmVa9Ur5HVFT/ubQujT+5O8DpSUDdXVQQb4JDBMWh9oH9zgT7IOgjKT/xPRoNDJW/uSLV8AAAD//wMArDZtufUAAAA=
53
+ http_version:
54
+ recorded_at: Fri, 01 Feb 2019 10:06:07 GMT
55
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spotify.com/v1/tracks/3U0NJKJIuWbtWVciXbw6hi
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.0p0
16
+ Authorization:
17
+ - Bearer BQCCQC9WTd6toRvyrrXTwWyuZQlooT_jNCascV4T4vO1_xJrS977uvmAHEdVrFHpqqehE9Ecw4BHwlWzUhc
18
+ Host:
19
+ - api.spotify.com
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Cache-Control:
28
+ - public, max-age=7200
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Allow-Headers:
32
+ - Accept, Authorization, Origin, Content-Type, Retry-After
33
+ Access-Control-Allow-Methods:
34
+ - GET, POST, OPTIONS, PUT, DELETE, PATCH
35
+ Access-Control-Allow-Credentials:
36
+ - 'true'
37
+ Access-Control-Max-Age:
38
+ - '604800'
39
+ Content-Encoding:
40
+ - gzip
41
+ Date:
42
+ - Fri, 01 Feb 2019 10:06:06 GMT
43
+ Via:
44
+ - 1.1 google
45
+ Alt-Svc:
46
+ - clear
47
+ Transfer-Encoding:
48
+ - chunked
49
+ body:
50
+ encoding: ASCII-8BIT
51
+ string: !binary |-
52
+ H4sIAAAAAAAAAKRUy27bMBC89ysEn9OIEvWwfWsSoE0aJ2idR5GiEChxFROmHiApu0GQf69E0XacWLaCAr54dzEczczu8yfLGhAeV9nAGlvP9b/V/0g9ldAUTfvI9IRiUsmm8dvM11X4q0DkhEeV4HKDpHuyLBRLnzTUTKlSjm27KCE/No3jpMjsFtZG8c9yeqImFEt17V0EN/cJn8QDA/ZytHpvJiDdAiQl28JbOAZSdmGusRjVSIfGcpK1ckwZX4CwJurYemBFvpnYCKZf3jQqwXTdEBy3/fG+j32x/qwEXxDGScwhyoiYw0r6VbtT+Z66N97aHszvgrlzezWZLB8uL8+m2cmjf2uYmId6Sd6gyS44A2T0PjCUkUd4m7IZsMeZaoqBh16py7d41awSmteUbA1ihyPigw9DB0Iv9AJAGI/SMEAoJrFLse9SAsQBvPFryaiamWeMBrtIYNSfhIexAw7FwWiYDAPqpi5KCYSuh4c4pp4fD4k3ohTtIFE/s4dE4PXmkAQkCegQh2HoYyegKQoRCR2/rgAeJjjwSQqpS3cK8SaV6234VggJ0jrPrZsZWNP508pBARyIhIgS1U66CPmfkVf/do1EpYCEyWahmmFK1kCqUHW8lSDJXAciWNV33qd3u9Y0x90B1/HeddX+e7MOX7QPrVafa9brlh26ZB137ONXzKRl7wUbUCaTKK+yGERTdtpiJYiqGUWZng2R57h612pTSs4SpqOfEi7BVI1VjL5yasCkSDTl0y+nP9w67RgjZ2N6h8H97NV5tPEturr4fnFe3cfq/i5hv+JlMGObJ/o42ya7C0rDGFv3jsiIFwnh28Ksrf5aUOuEg5TWdSWsMyDUmhDB8vrG6sGyKCteF5T+7FbreiMXDJaRuSt5xbmua8LvPFunRrdb1LeR0a1xl2gv/wAAAP//AwDq+7YyjQgAAA==
53
+ http_version:
54
+ recorded_at: Fri, 01 Feb 2019 10:06:06 GMT
55
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spotify.com/v1/tracks/0SGB0nFDl61RLJWwlZusla
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.0p0
16
+ Authorization:
17
+ - Bearer BQCCQC9WTd6toRvyrrXTwWyuZQlooT_jNCascV4T4vO1_xJrS977uvmAHEdVrFHpqqehE9Ecw4BHwlWzUhc
18
+ Host:
19
+ - api.spotify.com
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Cache-Control:
28
+ - public, max-age=7200
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Allow-Headers:
32
+ - Accept, Authorization, Origin, Content-Type, Retry-After
33
+ Access-Control-Allow-Methods:
34
+ - GET, POST, OPTIONS, PUT, DELETE, PATCH
35
+ Access-Control-Allow-Credentials:
36
+ - 'true'
37
+ Access-Control-Max-Age:
38
+ - '604800'
39
+ Content-Encoding:
40
+ - gzip
41
+ Date:
42
+ - Fri, 01 Feb 2019 10:06:06 GMT
43
+ Via:
44
+ - 1.1 google
45
+ Alt-Svc:
46
+ - clear
47
+ Transfer-Encoding:
48
+ - chunked
49
+ body:
50
+ encoding: ASCII-8BIT
51
+ string: !binary |-
52
+ H4sIAAAAAAAAAOxV227iSBB9n6+weNqRksHtK0ZajbiFkAHCBkhmslqhdrs9tGhf1ja5aJR/X/vYQJKFhNE87vJwRFdVn64u96n68UFRalS666CmNJUf+WqzXmSPMS+Mlfuk8iWZSLO0cPxZxedW/pDxJKRysU5kumOCL42jTPiPoFpmWZw26/Uo5uGnyvGJRUG9pK2rtpPejXpfV+7MDPtzbeVHf19qtYrs6WRz3jLh/gtCGosXfHekokwPcW65hAem98JCGpTl6EeeMkiVVqi00iyJQrrOdlG7ouH0nWOdCNirJJulv/nWhZ+UvzZFv6NCUlfyRUCTFd+Uv9bq1k5y7AGvgDPgvMA27O0+8Bx4CURkpwWEvTMEwtspvd+AtwV2wdP9AkRMF/ZeBwhvD6f0pgWeDYDg6beB5X/kdg6e8zEQeQ5wiwF4BshkAJ4B4i9w4sWkwC83BQ7BOcQpQ8QMwTO8LnCEe42Q2wje0VcgbjTGrjFOGYN5jLtcjgqcYO8EmUxQmQkiJ8hnArYJeP5A5BUYpvg/xa4p6jDFHafIZwaeGe47Qx1muMUcnHOwXcN726ptv/hBQR0pp0KydXI2vtG6Fpt78eVNeK03Htb9vKgfnmnpOCUVbOkhuoqoktE7QQH9zl83jyUX35dZYbQM9Zlg5Iu88qyYF+Yp1UFS14mrGdw2KdNcx7RdR3Ncz2r4tm26fsPnqmaZzOLGToL3wsuW1TFVDfYloavHJ+FwV2W66jDOVJ2ouu8w33FtgxDLpNTXfM64b/r6niTyY95IwjKOzsG0iEE93dc807J1bnvMVonKXUJd4uhEd4jrUsrI3kK8ajTbJteSsmhy1yKSPMxOlGrdTooEld80lRDligc0zZ8p95SeJzIRhR833znhktOULzyalXzFhlOinRJrX8giTjgTac6AYI8+bqKyKMtFkCWUrfBsiLpx7J1O/+qyhbN5WAdQwb6Z9ssCfH+e/ZQCj5llR02yY+bYgSn28zOselj/z6//1vyqeSJli3AduDyBaEvjOqFFk1gE+PyaQRqmDg9/iKVgAo3PpzLllbVSoPCeCbAm0oThFc46rXaH5D/TcnZaPqDb41SLPlNXp/22Gp51pUWuhhc39/J2nUq6O+IYwZYd6xAVaDZqfSskXciIUfmyMFsFn4k8Eyl4qtAw78FBnD0q01W+LnfHUbyWNBEZbq0bpTHhd4LfL15PlXg7VYJYP62i6ranEdNs8IbjO5pnadSyqaM3LGr5Rj5tbJtrjHkN8pkJ73diNXKfbnKVWAYnGiU+Nyzq2Jqfzye1nMQ1VObZ4yjT2nYcuMvI1+0Gruahr/P0DwAAAP//AwDm4/QhywwAAA==
53
+ http_version:
54
+ recorded_at: Fri, 01 Feb 2019 10:06:06 GMT
55
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spotify.com/v1/tracks/19YPGbCVBVOoK2Ynfkb06W
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.0p0
16
+ Authorization:
17
+ - Bearer BQCCQC9WTd6toRvyrrXTwWyuZQlooT_jNCascV4T4vO1_xJrS977uvmAHEdVrFHpqqehE9Ecw4BHwlWzUhc
18
+ Host:
19
+ - api.spotify.com
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Cache-Control:
28
+ - public, max-age=7200
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Allow-Headers:
32
+ - Accept, Authorization, Origin, Content-Type, Retry-After
33
+ Access-Control-Allow-Methods:
34
+ - GET, POST, OPTIONS, PUT, DELETE, PATCH
35
+ Access-Control-Allow-Credentials:
36
+ - 'true'
37
+ Access-Control-Max-Age:
38
+ - '604800'
39
+ Content-Encoding:
40
+ - gzip
41
+ Date:
42
+ - Fri, 01 Feb 2019 10:06:06 GMT
43
+ Via:
44
+ - 1.1 google
45
+ Alt-Svc:
46
+ - clear
47
+ Transfer-Encoding:
48
+ - chunked
49
+ body:
50
+ encoding: ASCII-8BIT
51
+ string: !binary |-
52
+ H4sIAAAAAAAAAOxVTW/iSBC976+wOCdD+6ttI61WhDCEBBJmgMxkVivU7m6HVozt2E1molH+++JnA0kWEkZ73L08QVX5VXV1v6qfvxlGg8XhctEwWsbP1b/1/5l+zGRprN1HtS/XqtBF6fizjl9Z5Q8t84TFs2UeF1sm+Ios1Sp6BNVc66xoNZtpJpMPteMDTxfNirZJvKB4GHa/3oUTN+lNrbsovb+yGjXZ09E63zyX0QtClqkXfA9mTVns49xwKQGm98IStqja0UuF0S+MdmK0C52nCVvqbdS2aci+dSxzBXtdZKvyt9468JPx17rpD0zFLIzlbMHyO7luf6N92jhaYRf4GTgBTks8gf2kBzwDXgER2WkDYe8MgPB2Ku8N8FuJp+A5vQAi5hT2bgcIbxdZuuMSP/aB4OmdAKvfqO0MPGeXQNTZxyn64Omjkj54+og/R8bzUYkXX0ocgHOALAPEDMAzuC5xiHMNUdsQ3uFXIE50ia8ukeUSzJc4y9WwxBG+HaGSETozQuQI9YzANgLPJ0R+BsMYv8f4aow+jHHGMeqZgGeC807QhwlOMQXnFGzX8H5rNzY3vldQB8qplGzTkd5Nr2t+uhfnyx+dC764uu8rXT+uOtFBSirZin10NVEto3eCFuxWvh4ec6lu57o0Uoc8E0z8oq5VVVwkq5KaIGkGJnFJ5DPpmpR7NjcD4lIr8IkXEeH43CLCpR6ztxL8roSe12nqHuwqwiaHF8GZw0LOQ8GFG0SOaTncFxEjpk+kLRjn0vRsl5IdRazSvFEEdQ6uQXi+Q01feJH0iR9EzJLUsmxmO6EdCOF6wmV2IIOdjXg1aDZDrn0rjTQy9FwaH1Wk58Z4mawvMZexZIWcCaarYIuY5Ji4x8TbFTLLcslVodIEwYI9rqN0qlcvXOeM3+FNBGv7zs3zjwlaOlv73zhe+K599a/F9f6u+iV1HbKnDtpSh+yoPRvq1/dT/Wj+303/rd3UEKrgs2S5CGVe3rRZGZc50yuFzxa4ftuyrWqKrrSWxYorDLWIxYWsrbUClXgmwIYqco5XOB1POl2TUOpY1lbLe3R7mGoxZppmcDPqhZ3rk+ur9MK6SaK7kNAv2xSHCLYaWPuoQFOr9c2QYhannMUvG7NR8CAttHGhkluRVhOwkaXZMma50jioRStjLh+U/D57vSSyzZJYZPZxHdWMfJeKgAtBqbB94tgBoUFouixkvqTUtCgLiSThH1yJ303qB7Zvu5KY1JGmxcxIOpQFnhUxYROnqgrNePYe7Mq6HjJwV5GvJwxcrX0X8vQ3AAAA//8DAAZ15LSaDAAA
53
+ http_version:
54
+ recorded_at: Fri, 01 Feb 2019 10:06:06 GMT
55
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spotify.com/v1/tracks/76yVBx2iflWLKLAtZtOCug
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.0p0
16
+ Authorization:
17
+ - Bearer BQCCQC9WTd6toRvyrrXTwWyuZQlooT_jNCascV4T4vO1_xJrS977uvmAHEdVrFHpqqehE9Ecw4BHwlWzUhc
18
+ Host:
19
+ - api.spotify.com
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Cache-Control:
28
+ - public, max-age=7200
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Allow-Headers:
32
+ - Accept, Authorization, Origin, Content-Type, Retry-After
33
+ Access-Control-Allow-Methods:
34
+ - GET, POST, OPTIONS, PUT, DELETE, PATCH
35
+ Access-Control-Allow-Credentials:
36
+ - 'true'
37
+ Access-Control-Max-Age:
38
+ - '604800'
39
+ Content-Encoding:
40
+ - gzip
41
+ Date:
42
+ - Fri, 01 Feb 2019 10:06:06 GMT
43
+ Via:
44
+ - 1.1 google
45
+ Alt-Svc:
46
+ - clear
47
+ Transfer-Encoding:
48
+ - chunked
49
+ body:
50
+ encoding: ASCII-8BIT
51
+ string: !binary |-
52
+ H4sIAAAAAAAAANxV227bOBB9368w9JxUpChLsoHFInFu3rhNEHdbNMVCoEjKZqtbSSoXFPn3pUaSnaS262Lf+nIgzwzOjEZnjr//MRg4NEvq3BmMB9/tr/53bB4r0QS79EGXU0Zqo5vE567eRsWDEaqgWVyrTK+ZIKer0sj0EaiWxlR67LplJYo3XeINK3O3pXWD6483f2t8VuqLKpp8e0Dvcn3/xenIng76fksl0heEtJIv+O5wR6m3ca64JAemn5UVNG/XcaSNKgtaG5pJvc6v1wV914laSYh3443b/HjXqz4N/u3XfUdlRpNMxDlVX0W/eOfoxDmw+L7B41PA8wYnF4CfAG8bPIHsyWWDp/B8Om/wbAp40+D5MSA8X/zT4BQqp1A5hS4zqJ+1z1Az+9Dg2wkgxN/NAK8avIbna4jfQGQOnPNLZ/V2W2Wzp2gaYbrB4u09Kc5HqSoW80/nVxe1KM9uu0V2jfbSS8Omt9F1RL1YdhfldCFen8hSyMXSNMHAR8/Ekb2Yy07FeGFHcoHEHXoJt/UoFZHwsZcQzhMRIZJ6KfbTISYJ4j5j6Vpu95KbZdem28GmIQjafwgakGTEhzgQyE/CFCWUeCSghCREEBFF2BsSRsPhhiFsmx1DBP7eM6QJCZjwqS+oH3qRbRr4GI1CQnwhmJ0PjbjPcbhxEa+OanXK75dSD6Z6cFWrwZxJUTDRf0MlMkG1iDk1ba2HMD5Eo0NMNpXElRJMalkWUMzpY19lSmsUsVGUfQVJYNwnNvrrD27RJMfbNQ4K3+TK//u4fu7Iv3Rd+7jxXl6824m3+PCvu3Anl9/ZgR0uNYuLOk+EAmm2wVpRY4Uc561ewwhhAhnxUGWSSThdo2rRBTuZSf5MZY7UisHCT05vA+tToUeItxbsFnHuJ004JjcMHj8cP3gyzT7OLmdH5tZcTerFusU+qmzPchsV0HSS3Fmi46xkFAwspZluF7OS6aQsbB+ZtRJ1qrKqM6qkgbfEURtU4k6K+/i1DVYrG8wrcthVuSMeDTmyRkiTgKEQ0yjxgiAS1gyHiFl/tv8XiIrwLyb5nziIRiQiQ4GsZQrsUZwKP6Cj0EspJ8hvp4JNPNNC2Eb7Y4J0W/n6kiA13vY1nv4DAAD//wMAHCQ/5mIKAAA=
53
+ http_version:
54
+ recorded_at: Fri, 01 Feb 2019 10:06:06 GMT
55
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,107 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spotify.com/v1/search?limit=20&offset=0&q=In%20Flames%20-%20Alias&type=track
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.0p0
16
+ Authorization:
17
+ - Bearer BQCCQC9WTd6toRvyrrXTwWyuZQlooT_jNCascV4T4vO1_xJrS977uvmAHEdVrFHpqqehE9Ecw4BHwlWzUhc
18
+ Host:
19
+ - api.spotify.com
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Cache-Control:
28
+ - public, max-age=7200
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Allow-Headers:
32
+ - Accept, Authorization, Origin, Content-Type, Retry-After
33
+ Access-Control-Allow-Methods:
34
+ - GET, POST, OPTIONS, PUT, DELETE, PATCH
35
+ Access-Control-Allow-Credentials:
36
+ - 'true'
37
+ Access-Control-Max-Age:
38
+ - '604800'
39
+ Content-Encoding:
40
+ - gzip
41
+ Date:
42
+ - Fri, 01 Feb 2019 10:06:07 GMT
43
+ Via:
44
+ - 1.1 google
45
+ Alt-Svc:
46
+ - clear
47
+ Transfer-Encoding:
48
+ - chunked
49
+ body:
50
+ encoding: ASCII-8BIT
51
+ string: !binary |-
52
+ H4sIAAAAAAAAAOxYXW/bNhR9768w9JCXJDVJkRRlICjSbF3TLEu7xFi3YTAoftREZUkRpXysyH8fTTuR7MSOvHQdsOVRvFeXlzznHh37y4teL6hKLj7boDfofXGPbmFcKj19DMZVVdhBv88L89IWeWX09UuRT/oXsG8VL8X41Xmtyuu9w2z7Tconym7vbu+nhtut6rpQe77wVq61VdUe2ErNxFR7CAQ7s21MpSZ+29/nG7s1nib1pGmlWRtNK/qmZik7rXhZGVstVfIRdVWpMuPpqC5Tu1jVx+dnWjhrXqhs4bCz8n0SXaeXH86yN9nh+N0YZzUurw5s0Cp4s9Peu8slzjtfVXuhnpG+WpfUzEHhkw+z3gyXxXhzlX7/xWBdGh+btzqY5QweO/5N7482JBfcpDxJ1WjCy8/qFpzgYD/Y6QXD02Ahey1MHUGakqIPJj9/zNR5fapT+Q68/h6x0wxPWk22Nu2Ez7SqXVW2VWwOTofECf+kHqLqWJlP42oaoBgsAZIu9Om6FDJzLfZ9sX4SsjBGUAMqUBRRwHWIQww1YZGQNKIQYBoLChdhvjSyGs+3a93PqqZCsFlTmEcRInEMBUsYSYjUQquIxUQLIAnARLFYEE1XNOW269AUxRv1FGmpVCIJkQpgHcZUcEoJ5zgRhHIOCacKcRitvKgVZL8bt/3eqcqs6p3o3vu6LHKr2tCXKlXcqpHk1SwdAcB2Ad4FcFXaqCiVMNbkmX9B8ut2ZpVXbmYa9YaoHVwpl/cGfJowWD86d4OzSmy/ygx3E9qNh7iryHaW2PUCu0Ze/564tti2ibAG0lgxyupJokpPjyZQl7xypBrNPr+IxajRHIdkkRph/IRVZa1agTnERi4hHBhbCn+w4enRCQQMABCB++RZQ5JuFPFk75Mfh8yeZfXr/OjgzU8nF/rtsKjj+9t1YcdsfFaVvCt1S43H0uwozQX3OqR5apvLa0Ri6o+aN4q8qFNemsqfHEdNoFQXRl2OllWtuFO1SRHuzrP6lGEUMhJrHmmnsYhg4VBAQkQkFiLhkEO3CsNXwsg9SFnsPhpEAUixgk7ztMKUxxHSXIYAN93522lxCDeRW5L7lOaNZYb78GAdYi19f7Z/z/bvKfZPju3Hs1/k8M+Ty+H786OL4+LKfc6fbP8eLvuA/Xs88evbvzBiKqYQK01FGDMWhhEMBYFODQhFzm6hxDkcHH9T+wdEkvBE6EjQGAFCGItlwiPJIkoYUGj6LISW39L+AREyJBKaSOzuhydxQhQUQLimBAAQQI0100L9P+3f2tF5tn//cftHwgft36KF2cz/MfTP+b/64Fd+RL47Dvd/+ADwb+LwLTg+fJr/e7jkPf/3WNoT/V8Dw2b2TwmMBBOhRsj91gc4TASgztVJleiEAye7SsYIyX/L/q0B7I7egf9/0DNy/rEJMkeY6UJWp+l8afZv4nTxNsnfQV7bpUQvj76ae755cfMXAAAA//8DAPLWP4LrFAAA
53
+ http_version:
54
+ recorded_at: Fri, 01 Feb 2019 10:06:07 GMT
55
+ - request:
56
+ method: get
57
+ uri: https://api.spotify.com/v1/tracks/5LU8sTnuBoKCFNOvfHUpu9
58
+ body:
59
+ encoding: US-ASCII
60
+ string: ''
61
+ headers:
62
+ Accept:
63
+ - "*/*"
64
+ Accept-Encoding:
65
+ - gzip, deflate
66
+ User-Agent:
67
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.0p0
68
+ Authorization:
69
+ - Bearer BQCCQC9WTd6toRvyrrXTwWyuZQlooT_jNCascV4T4vO1_xJrS977uvmAHEdVrFHpqqehE9Ecw4BHwlWzUhc
70
+ Host:
71
+ - api.spotify.com
72
+ response:
73
+ status:
74
+ code: 200
75
+ message: OK
76
+ headers:
77
+ Content-Type:
78
+ - application/json; charset=utf-8
79
+ Cache-Control:
80
+ - public, max-age=7200
81
+ Access-Control-Allow-Origin:
82
+ - "*"
83
+ Access-Control-Allow-Headers:
84
+ - Accept, Authorization, Origin, Content-Type, Retry-After
85
+ Access-Control-Allow-Methods:
86
+ - GET, POST, OPTIONS, PUT, DELETE, PATCH
87
+ Access-Control-Allow-Credentials:
88
+ - 'true'
89
+ Access-Control-Max-Age:
90
+ - '604800'
91
+ Content-Encoding:
92
+ - gzip
93
+ Date:
94
+ - Fri, 01 Feb 2019 10:06:07 GMT
95
+ Via:
96
+ - 1.1 google
97
+ Alt-Svc:
98
+ - clear
99
+ Transfer-Encoding:
100
+ - chunked
101
+ body:
102
+ encoding: ASCII-8BIT
103
+ string: !binary |-
104
+ H4sIAAAAAAAAAKRUXU/bMBR936+I8gzETmwnqTRNgIYGm8a2UmnSNEWOY1OLfM1OCgjx35c6Di1dA0F7zL23x7fnnHse3jmOS/O0LVxn5jx0X8N30tzXfF207QPbU43UjV43ftn5rsrvGq5KmietyvUGyfR0XTVS3BuoZdPUeuZ5Vc3LI9s4YlXh9bAeDu/z2+9X5Vl5vrxYorJF6u5Uuxbs8WB4b6m4eAZIa/kMbwUtpB7DfMKSmUF6baykRU/Heemc5d3HVm9DlXlz02iVNHW72qzvz176m4/O74HqFZU5TXOeFFTd8IF09/TYPXDcxdx9mhylfyL5a4E9UPz4WfI/7Vzk2QU4+ehH8xIVdin70CTe12h6DM4CWdJfGSroNd+12pLL62WzLhIEtojOn+3VbcWyslvJMyBeGkRB7EMBCPPDkAAqAhQgKHAUsoyEBAJEYkbgRrpbmTVL+4zlYN8SAZi+BKJh6OM4hixKI5ziTDDBwyjGgoEMA4R5FDMsyJ4lumdeWIKgyTuEIuM8zTDOOEAiiAmjhGBKUcowoRRiSrhPYbiXiB2DPp3EsTPnpebOpXC+taquNB8kVDznVPMko00/6gMQHQJ0COC+kaRWnEktq9IMZ/R+mGqqpvN3oyi7MY6A/tDYG1P/HN66ORu3uDH4vnD779t6PdjedFxTQm1SpI0H2kicvT3MrFOmBpmbSc2Ssi1SrozEfbFVtOkMkRTmZ34U+/3dd8rUuWTSXECjWm6LVi6ZbanlSq2YWX4x/3wJQQQACMFG+BGRp0lsTOnhL4tIX5XtSfX59Ozr5Up8WtRtvHliirq9vcegDMwg7UsjOskrRk0OCJrrnpjNseaS9lK7dVW3OVWyMf8QhX1R8ZXkt8luktRPSVLUwaGd8kiE/CDCsaCh6HLMx4h17PqMhThmLKWQwq4Kgw9MZu8hieIuiDEHkCAOu5wRHBEah76gWQBQv5VhYcsHqK8OpjTtfnLXkaY1G1Pi8S8AAAD//wMAKmiUku0IAAA=
105
+ http_version:
106
+ recorded_at: Fri, 01 Feb 2019 10:06:07 GMT
107
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spotify.com/v1/tracks/1M419iBUjVwPlefiOxxUm2
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.0p0
16
+ Authorization:
17
+ - Bearer BQBs5fnYfNTTUJegiXaLnstIoEvAwQct5VXyNb8lGM_MleEZQQN55QI0AZUfl3Y-9WaEHVECpdlpR_vftN8
18
+ Host:
19
+ - api.spotify.com
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Cache-Control:
28
+ - public, max-age=7200
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Allow-Headers:
32
+ - Accept, Authorization, Origin, Content-Type, Retry-After
33
+ Access-Control-Allow-Methods:
34
+ - GET, POST, OPTIONS, PUT, DELETE, PATCH
35
+ Access-Control-Allow-Credentials:
36
+ - 'true'
37
+ Access-Control-Max-Age:
38
+ - '604800'
39
+ Content-Encoding:
40
+ - gzip
41
+ Date:
42
+ - Fri, 01 Feb 2019 09:46:05 GMT
43
+ Via:
44
+ - 1.1 google
45
+ Alt-Svc:
46
+ - clear
47
+ Transfer-Encoding:
48
+ - chunked
49
+ body:
50
+ encoding: ASCII-8BIT
51
+ string: !binary |-
52
+ H4sIAAAAAAAAAOxVTXOjRhC951eodMnFXhhAA6gqlVrJtixbsollOZVNpahmPqxZ87WAZCtb/u+BBklrr7C1lUMu0eEJunveND39pr/+1Ol0IQyWUbfT73wt3zbvfrFORWVs3EeNLytUXuSV488mvrSKp0JkMYT+MgvzHRP68jQplFwj1aIo0ryvaUkq4g+N4wNLIq2m1UxrvvAeJkFxdnnzxYwjeXYvPo+6Ddnz0Wa/RSbkC0JI1Qu+FWko8zbOLZfiyPReWAxRXY5pcv8IaufY1Qk33DmWmUJ7k1e/9vff+sbnzl+bOq9AhRCEwo8gexCbinc/nnSPSjxFvEG8rXCAlsEI8RzxGhFjhmgZThDRPvwD8VOFJ7j25LLC0yEiWk5nFZ6NEZFnNEDE53OMP59XOMasxrhqjLuMce0Yc7vAHS+8Ci9/r3CCPBNknmDMBHkmdxVOMYcp2qeY5xVyXiHP9bRCD/fy8Ls89HoY72H8bx8rvMH4GT7PMH6G9Zlh5re49ha/5RazmuPau6vu9hRa+/rArq6Uo/X4eHgl7pQhF9OZtw7/nq1G9KI58Gajgxq6Ysvb6BqippvfCYrgXrzW8EKo+0VRGamlf9PE4Yu8yqwYj8uUNCTRmAWOblAhuWUCAOFSGlI4IgiMnkksi3NGwGRkJ4tHxYtFs01Tg31JmPrhSUgOEiRljjBtyWzTshnXqQRKXUEFJYyBAU7Q25NEuc0bSVDr4Bx4IIkDtOf0pKFLSe1eYLmEcYuDGwRglRbQiYS9hXgl/u1dc7oS2bozTJZxka1/zjuzZbw5w0yEAnLhcyjqWEMn9rHuHutkX4ifZoKpXCUxBnNYb6KKpCgbvMiAPWBLELJx7B0A391qlbPf3uPY4fvGxr8W1/sj44fUdci4OGhYtIyKlkHx42Oi6ZP/R8R/PyK6XOXMj5dRIDLUTm1cZlCUSvMjPBLTprZO0SOe0lAxhXeLhDAXjbURguLf6KCr8oxhZ4wGo5NPxNbLH9lJqkU+h4kH5a6RqUVcNZh/vnv0QiHV9dPTPDJ2Wxyim/riaKNCmkY0b4bkfpgwCF8WZiukYZKE5VWoYlGHp0m6DCFTBX6mVZe9vOFWSjz6r2/qdHtTR6l53ERpgtqcCsN1iMmh/NfdQAdglAGDwILyyALgts5+ZYr/Qqjjmo7ZEzqhliAGECksCq5tSOCmbtVZYSm+64at7NFdR77WPLr6bcfx/A8AAAD//wMAbaZPwKYLAAA=
53
+ http_version:
54
+ recorded_at: Fri, 01 Feb 2019 09:46:05 GMT
55
+ recorded_with: VCR 4.0.0