spotted 0.1.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.
- checksums.yaml +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +25 -0
- data/README.md +236 -0
- data/SECURITY.md +27 -0
- data/lib/spotted/client.rb +169 -0
- data/lib/spotted/errors.rb +228 -0
- data/lib/spotted/file_part.rb +58 -0
- data/lib/spotted/internal/cursor_url_page.rb +86 -0
- data/lib/spotted/internal/oauth2.rb +87 -0
- data/lib/spotted/internal/transport/base_client.rb +567 -0
- data/lib/spotted/internal/transport/pooled_net_requester.rb +204 -0
- data/lib/spotted/internal/type/array_of.rb +168 -0
- data/lib/spotted/internal/type/base_model.rb +529 -0
- data/lib/spotted/internal/type/base_page.rb +55 -0
- data/lib/spotted/internal/type/boolean.rb +77 -0
- data/lib/spotted/internal/type/converter.rb +327 -0
- data/lib/spotted/internal/type/enum.rb +131 -0
- data/lib/spotted/internal/type/file_input.rb +111 -0
- data/lib/spotted/internal/type/hash_of.rb +188 -0
- data/lib/spotted/internal/type/request_parameters.rb +42 -0
- data/lib/spotted/internal/type/union.rb +237 -0
- data/lib/spotted/internal/type/unknown.rb +81 -0
- data/lib/spotted/internal/util.rb +915 -0
- data/lib/spotted/internal.rb +20 -0
- data/lib/spotted/models/album_list_params.rb +43 -0
- data/lib/spotted/models/album_list_response.rb +297 -0
- data/lib/spotted/models/album_list_tracks_params.rb +50 -0
- data/lib/spotted/models/album_restriction_object.rb +39 -0
- data/lib/spotted/models/album_retrieve_params.rb +33 -0
- data/lib/spotted/models/album_retrieve_response.rb +287 -0
- data/lib/spotted/models/artist_list_albums_params.rb +61 -0
- data/lib/spotted/models/artist_list_albums_response.rb +195 -0
- data/lib/spotted/models/artist_list_params.rb +27 -0
- data/lib/spotted/models/artist_list_related_artists_params.rb +14 -0
- data/lib/spotted/models/artist_list_related_artists_response.rb +16 -0
- data/lib/spotted/models/artist_list_response.rb +16 -0
- data/lib/spotted/models/artist_list_top_tracks_params.rb +33 -0
- data/lib/spotted/models/artist_list_top_tracks_response.rb +16 -0
- data/lib/spotted/models/artist_object.rb +108 -0
- data/lib/spotted/models/artist_retrieve_params.rb +14 -0
- data/lib/spotted/models/audio_analysis_retrieve_params.rb +14 -0
- data/lib/spotted/models/audio_analysis_retrieve_response.rb +628 -0
- data/lib/spotted/models/audio_feature_list_params.rb +27 -0
- data/lib/spotted/models/audio_feature_list_response.rb +214 -0
- data/lib/spotted/models/audio_feature_retrieve_params.rb +14 -0
- data/lib/spotted/models/audio_feature_retrieve_response.rb +203 -0
- data/lib/spotted/models/audiobook_list_chapters_params.rb +50 -0
- data/lib/spotted/models/audiobook_list_params.rb +43 -0
- data/lib/spotted/models/audiobook_list_response.rb +266 -0
- data/lib/spotted/models/audiobook_retrieve_params.rb +33 -0
- data/lib/spotted/models/audiobook_retrieve_response.rb +255 -0
- data/lib/spotted/models/author_object.rb +19 -0
- data/lib/spotted/models/browse/category_get_playlists_params.rb +36 -0
- data/lib/spotted/models/browse/category_get_playlists_response.rb +29 -0
- data/lib/spotted/models/browse/category_list_params.rb +51 -0
- data/lib/spotted/models/browse/category_list_response.rb +121 -0
- data/lib/spotted/models/browse/category_retrieve_params.rb +34 -0
- data/lib/spotted/models/browse/category_retrieve_response.rb +47 -0
- data/lib/spotted/models/browse_get_featured_playlists_params.rb +49 -0
- data/lib/spotted/models/browse_get_featured_playlists_response.rb +27 -0
- data/lib/spotted/models/browse_get_new_releases_params.rb +34 -0
- data/lib/spotted/models/browse_get_new_releases_response.rb +245 -0
- data/lib/spotted/models/chapter_list_params.rb +43 -0
- data/lib/spotted/models/chapter_list_response.rb +408 -0
- data/lib/spotted/models/chapter_restriction_object.rb +29 -0
- data/lib/spotted/models/chapter_retrieve_params.rb +33 -0
- data/lib/spotted/models/chapter_retrieve_response.rb +398 -0
- data/lib/spotted/models/copyright_object.rb +28 -0
- data/lib/spotted/models/episode_list_params.rb +43 -0
- data/lib/spotted/models/episode_list_response.rb +16 -0
- data/lib/spotted/models/episode_object.rb +382 -0
- data/lib/spotted/models/episode_restriction_object.rb +28 -0
- data/lib/spotted/models/episode_retrieve_params.rb +33 -0
- data/lib/spotted/models/external_id_object.rb +35 -0
- data/lib/spotted/models/external_url_object.rb +20 -0
- data/lib/spotted/models/followers_object.rb +28 -0
- data/lib/spotted/models/image_object.rb +35 -0
- data/lib/spotted/models/linked_track_object.rb +53 -0
- data/lib/spotted/models/market_list_params.rb +14 -0
- data/lib/spotted/models/market_list_response.rb +16 -0
- data/lib/spotted/models/me/album_check_params.rb +29 -0
- data/lib/spotted/models/me/album_check_response.rb +10 -0
- data/lib/spotted/models/me/album_list_params.rb +52 -0
- data/lib/spotted/models/me/album_list_response.rb +318 -0
- data/lib/spotted/models/me/album_remove_params.rb +31 -0
- data/lib/spotted/models/me/album_save_params.rb +31 -0
- data/lib/spotted/models/me/audiobook_check_params.rb +29 -0
- data/lib/spotted/models/me/audiobook_check_response.rb +10 -0
- data/lib/spotted/models/me/audiobook_list_params.rb +36 -0
- data/lib/spotted/models/me/audiobook_list_response.rb +287 -0
- data/lib/spotted/models/me/audiobook_remove_params.rb +29 -0
- data/lib/spotted/models/me/audiobook_save_params.rb +29 -0
- data/lib/spotted/models/me/context_object.rb +46 -0
- data/lib/spotted/models/me/device_object.rb +82 -0
- data/lib/spotted/models/me/episode_check_params.rb +29 -0
- data/lib/spotted/models/me/episode_check_response.rb +10 -0
- data/lib/spotted/models/me/episode_list_params.rb +52 -0
- data/lib/spotted/models/me/episode_list_response.rb +32 -0
- data/lib/spotted/models/me/episode_remove_params.rb +31 -0
- data/lib/spotted/models/me/episode_save_params.rb +31 -0
- data/lib/spotted/models/me/following_check_params.rb +49 -0
- data/lib/spotted/models/me/following_check_response.rb +10 -0
- data/lib/spotted/models/me/following_follow_params.rb +50 -0
- data/lib/spotted/models/me/following_list_params.rb +53 -0
- data/lib/spotted/models/me/following_list_response.rb +94 -0
- data/lib/spotted/models/me/following_unfollow_params.rb +50 -0
- data/lib/spotted/models/me/player/queue_add_params.rb +38 -0
- data/lib/spotted/models/me/player/queue_get_params.rb +18 -0
- data/lib/spotted/models/me/player/queue_get_response.rb +59 -0
- data/lib/spotted/models/me/player_get_currently_playing_params.rb +48 -0
- data/lib/spotted/models/me/player_get_currently_playing_response.rb +175 -0
- data/lib/spotted/models/me/player_get_devices_params.rb +16 -0
- data/lib/spotted/models/me/player_get_devices_response.rb +18 -0
- data/lib/spotted/models/me/player_get_state_params.rb +48 -0
- data/lib/spotted/models/me/player_get_state_response.rb +200 -0
- data/lib/spotted/models/me/player_list_recently_played_params.rb +45 -0
- data/lib/spotted/models/me/player_list_recently_played_response.rb +35 -0
- data/lib/spotted/models/me/player_pause_playback_params.rb +28 -0
- data/lib/spotted/models/me/player_seek_to_position_params.rb +38 -0
- data/lib/spotted/models/me/player_set_repeat_mode_params.rb +38 -0
- data/lib/spotted/models/me/player_set_volume_params.rb +36 -0
- data/lib/spotted/models/me/player_skip_next_params.rb +28 -0
- data/lib/spotted/models/me/player_skip_previous_params.rb +28 -0
- data/lib/spotted/models/me/player_start_playback_params.rb +68 -0
- data/lib/spotted/models/me/player_toggle_shuffle_params.rb +37 -0
- data/lib/spotted/models/me/player_transfer_params.rb +40 -0
- data/lib/spotted/models/me/playlist_list_params.rb +36 -0
- data/lib/spotted/models/me/show_check_params.rb +29 -0
- data/lib/spotted/models/me/show_check_response.rb +10 -0
- data/lib/spotted/models/me/show_list_params.rb +36 -0
- data/lib/spotted/models/me/show_list_response.rb +197 -0
- data/lib/spotted/models/me/show_remove_params.rb +47 -0
- data/lib/spotted/models/me/show_save_params.rb +31 -0
- data/lib/spotted/models/me/top_list_top_artists_params.rb +47 -0
- data/lib/spotted/models/me/top_list_top_tracks_params.rb +47 -0
- data/lib/spotted/models/me/track_check_params.rb +29 -0
- data/lib/spotted/models/me/track_check_response.rb +10 -0
- data/lib/spotted/models/me/track_list_params.rb +52 -0
- data/lib/spotted/models/me/track_list_response.rb +34 -0
- data/lib/spotted/models/me/track_remove_params.rb +31 -0
- data/lib/spotted/models/me/track_save_params.rb +74 -0
- data/lib/spotted/models/me_retrieve_params.rb +14 -0
- data/lib/spotted/models/me_retrieve_response.rb +157 -0
- data/lib/spotted/models/narrator_object.rb +19 -0
- data/lib/spotted/models/paging_playlist_object.rb +66 -0
- data/lib/spotted/models/playlist_retrieve_params.rb +63 -0
- data/lib/spotted/models/playlist_retrieve_response.rb +217 -0
- data/lib/spotted/models/playlist_track_object.rb +64 -0
- data/lib/spotted/models/playlist_tracks_ref_object.rb +28 -0
- data/lib/spotted/models/playlist_update_params.rb +56 -0
- data/lib/spotted/models/playlist_user_object.rb +65 -0
- data/lib/spotted/models/playlists/follower_check_params.rb +29 -0
- data/lib/spotted/models/playlists/follower_check_response.rb +10 -0
- data/lib/spotted/models/playlists/follower_follow_params.rb +30 -0
- data/lib/spotted/models/playlists/follower_unfollow_params.rb +16 -0
- data/lib/spotted/models/playlists/image_list_params.rb +16 -0
- data/lib/spotted/models/playlists/image_list_response.rb +10 -0
- data/lib/spotted/models/playlists/image_update_params.rb +24 -0
- data/lib/spotted/models/playlists/track_add_params.rb +45 -0
- data/lib/spotted/models/playlists/track_add_response.rb +18 -0
- data/lib/spotted/models/playlists/track_list_params.rb +82 -0
- data/lib/spotted/models/playlists/track_remove_params.rb +52 -0
- data/lib/spotted/models/playlists/track_remove_response.rb +18 -0
- data/lib/spotted/models/playlists/track_update_params.rb +67 -0
- data/lib/spotted/models/playlists/track_update_response.rb +18 -0
- data/lib/spotted/models/recommendation_get_params.rb +549 -0
- data/lib/spotted/models/recommendation_get_response.rb +86 -0
- data/lib/spotted/models/recommendation_list_available_genre_seeds_params.rb +14 -0
- data/lib/spotted/models/recommendation_list_available_genre_seeds_response.rb +16 -0
- data/lib/spotted/models/resume_point_object.rb +27 -0
- data/lib/spotted/models/search_retrieve_params.rb +120 -0
- data/lib/spotted/models/search_retrieve_response.rb +930 -0
- data/lib/spotted/models/show_list_episodes_params.rb +50 -0
- data/lib/spotted/models/show_list_params.rb +43 -0
- data/lib/spotted/models/show_list_response.rb +176 -0
- data/lib/spotted/models/show_retrieve_params.rb +33 -0
- data/lib/spotted/models/show_retrieve_response.rb +238 -0
- data/lib/spotted/models/simplified_artist_object.rb +73 -0
- data/lib/spotted/models/simplified_chapter_object.rb +209 -0
- data/lib/spotted/models/simplified_episode_object.rb +211 -0
- data/lib/spotted/models/simplified_playlist_object.rb +147 -0
- data/lib/spotted/models/simplified_track_object.rb +161 -0
- data/lib/spotted/models/time_interval_object.rb +32 -0
- data/lib/spotted/models/track_list_params.rb +43 -0
- data/lib/spotted/models/track_list_response.rb +16 -0
- data/lib/spotted/models/track_object.rb +375 -0
- data/lib/spotted/models/track_restriction_object.rb +28 -0
- data/lib/spotted/models/track_retrieve_params.rb +33 -0
- data/lib/spotted/models/user_retrieve_profile_params.rb +14 -0
- data/lib/spotted/models/user_retrieve_profile_response.rb +90 -0
- data/lib/spotted/models/users/playlist_create_params.rb +65 -0
- data/lib/spotted/models/users/playlist_create_response.rb +219 -0
- data/lib/spotted/models/users/playlist_list_params.rb +36 -0
- data/lib/spotted/models.rb +168 -0
- data/lib/spotted/request_options.rb +77 -0
- data/lib/spotted/resources/albums.rb +102 -0
- data/lib/spotted/resources/artists.rb +150 -0
- data/lib/spotted/resources/audio_analysis.rb +41 -0
- data/lib/spotted/resources/audio_features.rb +67 -0
- data/lib/spotted/resources/audiobooks.rb +105 -0
- data/lib/spotted/resources/browse/categories.rb +105 -0
- data/lib/spotted/resources/browse.rb +78 -0
- data/lib/spotted/resources/chapters.rb +72 -0
- data/lib/spotted/resources/episodes.rb +69 -0
- data/lib/spotted/resources/markets.rb +32 -0
- data/lib/spotted/resources/me/albums.rb +127 -0
- data/lib/spotted/resources/me/audiobooks.rb +121 -0
- data/lib/spotted/resources/me/episodes.rb +138 -0
- data/lib/spotted/resources/me/following.rb +133 -0
- data/lib/spotted/resources/me/player/queue.rb +65 -0
- data/lib/spotted/resources/me/player.rb +382 -0
- data/lib/spotted/resources/me/playlists.rb +44 -0
- data/lib/spotted/resources/me/shows.rb +127 -0
- data/lib/spotted/resources/me/top.rb +76 -0
- data/lib/spotted/resources/me/tracks.rb +121 -0
- data/lib/spotted/resources/me.rb +69 -0
- data/lib/spotted/resources/playlists/followers.rb +93 -0
- data/lib/spotted/resources/playlists/images.rb +67 -0
- data/lib/spotted/resources/playlists/tracks.rb +157 -0
- data/lib/spotted/resources/playlists.rb +91 -0
- data/lib/spotted/resources/recommendations.rb +160 -0
- data/lib/spotted/resources/search.rb +51 -0
- data/lib/spotted/resources/shows.rb +102 -0
- data/lib/spotted/resources/tracks.rb +69 -0
- data/lib/spotted/resources/users/playlists.rb +82 -0
- data/lib/spotted/resources/users.rb +41 -0
- data/lib/spotted/version.rb +5 -0
- data/lib/spotted.rb +257 -0
- data/manifest.yaml +15 -0
- data/rbi/spotted/client.rbi +104 -0
- data/rbi/spotted/errors.rbi +205 -0
- data/rbi/spotted/file_part.rbi +37 -0
- data/rbi/spotted/internal/cursor_url_page.rbi +22 -0
- data/rbi/spotted/internal/oauth2.rbi +34 -0
- data/rbi/spotted/internal/transport/base_client.rbi +292 -0
- data/rbi/spotted/internal/transport/pooled_net_requester.rbi +79 -0
- data/rbi/spotted/internal/type/array_of.rbi +104 -0
- data/rbi/spotted/internal/type/base_model.rbi +302 -0
- data/rbi/spotted/internal/type/base_page.rbi +42 -0
- data/rbi/spotted/internal/type/boolean.rbi +58 -0
- data/rbi/spotted/internal/type/converter.rbi +216 -0
- data/rbi/spotted/internal/type/enum.rbi +82 -0
- data/rbi/spotted/internal/type/file_input.rbi +59 -0
- data/rbi/spotted/internal/type/hash_of.rbi +104 -0
- data/rbi/spotted/internal/type/request_parameters.rbi +29 -0
- data/rbi/spotted/internal/type/union.rbi +128 -0
- data/rbi/spotted/internal/type/unknown.rbi +58 -0
- data/rbi/spotted/internal/util.rbi +484 -0
- data/rbi/spotted/internal.rbi +16 -0
- data/rbi/spotted/models/album_list_params.rbi +74 -0
- data/rbi/spotted/models/album_list_response.rbi +479 -0
- data/rbi/spotted/models/album_list_tracks_params.rbi +86 -0
- data/rbi/spotted/models/album_restriction_object.rbi +82 -0
- data/rbi/spotted/models/album_retrieve_params.rbi +59 -0
- data/rbi/spotted/models/album_retrieve_response.rbi +439 -0
- data/rbi/spotted/models/artist_list_albums_params.rbi +103 -0
- data/rbi/spotted/models/artist_list_albums_response.rbi +338 -0
- data/rbi/spotted/models/artist_list_params.rbi +44 -0
- data/rbi/spotted/models/artist_list_related_artists_params.rbi +30 -0
- data/rbi/spotted/models/artist_list_related_artists_response.rbi +30 -0
- data/rbi/spotted/models/artist_list_response.rbi +27 -0
- data/rbi/spotted/models/artist_list_top_tracks_params.rbi +59 -0
- data/rbi/spotted/models/artist_list_top_tracks_response.rbi +30 -0
- data/rbi/spotted/models/artist_object.rbi +166 -0
- data/rbi/spotted/models/artist_retrieve_params.rbi +27 -0
- data/rbi/spotted/models/audio_analysis_retrieve_params.rbi +30 -0
- data/rbi/spotted/models/audio_analysis_retrieve_response.rbi +1080 -0
- data/rbi/spotted/models/audio_feature_list_params.rbi +44 -0
- data/rbi/spotted/models/audio_feature_list_response.rbi +382 -0
- data/rbi/spotted/models/audio_feature_retrieve_params.rbi +27 -0
- data/rbi/spotted/models/audio_feature_retrieve_response.rbi +338 -0
- data/rbi/spotted/models/audiobook_list_chapters_params.rbi +89 -0
- data/rbi/spotted/models/audiobook_list_params.rbi +74 -0
- data/rbi/spotted/models/audiobook_list_response.rbi +377 -0
- data/rbi/spotted/models/audiobook_retrieve_params.rbi +59 -0
- data/rbi/spotted/models/audiobook_retrieve_response.rbi +332 -0
- data/rbi/spotted/models/author_object.rbi +30 -0
- data/rbi/spotted/models/browse/category_get_playlists_params.rbi +64 -0
- data/rbi/spotted/models/browse/category_get_playlists_response.rbi +51 -0
- data/rbi/spotted/models/browse/category_list_params.rbi +89 -0
- data/rbi/spotted/models/browse/category_list_response.rbi +204 -0
- data/rbi/spotted/models/browse/category_retrieve_params.rbi +62 -0
- data/rbi/spotted/models/browse/category_retrieve_response.rbi +68 -0
- data/rbi/spotted/models/browse_get_featured_playlists_params.rbi +87 -0
- data/rbi/spotted/models/browse_get_featured_playlists_response.rbi +49 -0
- data/rbi/spotted/models/browse_get_new_releases_params.rbi +59 -0
- data/rbi/spotted/models/browse_get_new_releases_response.rbi +423 -0
- data/rbi/spotted/models/chapter_list_params.rbi +74 -0
- data/rbi/spotted/models/chapter_list_response.rbi +588 -0
- data/rbi/spotted/models/chapter_restriction_object.rbi +50 -0
- data/rbi/spotted/models/chapter_retrieve_params.rbi +59 -0
- data/rbi/spotted/models/chapter_retrieve_response.rbi +551 -0
- data/rbi/spotted/models/copyright_object.rbi +41 -0
- data/rbi/spotted/models/episode_list_params.rbi +74 -0
- data/rbi/spotted/models/episode_list_response.rbi +30 -0
- data/rbi/spotted/models/episode_object.rbi +485 -0
- data/rbi/spotted/models/episode_restriction_object.rbi +48 -0
- data/rbi/spotted/models/episode_retrieve_params.rbi +59 -0
- data/rbi/spotted/models/external_id_object.rbi +50 -0
- data/rbi/spotted/models/external_url_object.rbi +32 -0
- data/rbi/spotted/models/followers_object.rbi +42 -0
- data/rbi/spotted/models/image_object.rbi +47 -0
- data/rbi/spotted/models/linked_track_object.rbi +88 -0
- data/rbi/spotted/models/market_list_params.rbi +27 -0
- data/rbi/spotted/models/market_list_response.rbi +26 -0
- data/rbi/spotted/models/me/album_check_params.rbi +46 -0
- data/rbi/spotted/models/me/album_check_response.rbi +13 -0
- data/rbi/spotted/models/me/album_list_params.rbi +88 -0
- data/rbi/spotted/models/me/album_list_response.rbi +529 -0
- data/rbi/spotted/models/me/album_remove_params.rbi +56 -0
- data/rbi/spotted/models/me/album_save_params.rbi +56 -0
- data/rbi/spotted/models/me/audiobook_check_params.rbi +46 -0
- data/rbi/spotted/models/me/audiobook_check_response.rbi +13 -0
- data/rbi/spotted/models/me/audiobook_list_params.rbi +61 -0
- data/rbi/spotted/models/me/audiobook_list_response.rbi +414 -0
- data/rbi/spotted/models/me/audiobook_remove_params.rbi +49 -0
- data/rbi/spotted/models/me/audiobook_save_params.rbi +46 -0
- data/rbi/spotted/models/me/context_object.rbi +77 -0
- data/rbi/spotted/models/me/device_object.rbi +123 -0
- data/rbi/spotted/models/me/episode_check_params.rbi +46 -0
- data/rbi/spotted/models/me/episode_check_response.rbi +13 -0
- data/rbi/spotted/models/me/episode_list_params.rbi +88 -0
- data/rbi/spotted/models/me/episode_list_response.rbi +55 -0
- data/rbi/spotted/models/me/episode_remove_params.rbi +56 -0
- data/rbi/spotted/models/me/episode_save_params.rbi +53 -0
- data/rbi/spotted/models/me/following_check_params.rbi +86 -0
- data/rbi/spotted/models/me/following_check_response.rbi +13 -0
- data/rbi/spotted/models/me/following_follow_params.rbi +91 -0
- data/rbi/spotted/models/me/following_list_params.rbi +89 -0
- data/rbi/spotted/models/me/following_list_response.rbi +187 -0
- data/rbi/spotted/models/me/following_unfollow_params.rbi +97 -0
- data/rbi/spotted/models/me/player/queue_add_params.rbi +63 -0
- data/rbi/spotted/models/me/player/queue_get_params.rbi +34 -0
- data/rbi/spotted/models/me/player/queue_get_response.rbi +143 -0
- data/rbi/spotted/models/me/player_get_currently_playing_params.rbi +88 -0
- data/rbi/spotted/models/me/player_get_currently_playing_response.rbi +304 -0
- data/rbi/spotted/models/me/player_get_devices_params.rbi +32 -0
- data/rbi/spotted/models/me/player_get_devices_response.rbi +34 -0
- data/rbi/spotted/models/me/player_get_state_params.rbi +85 -0
- data/rbi/spotted/models/me/player_get_state_response.rbi +335 -0
- data/rbi/spotted/models/me/player_list_recently_played_params.rbi +77 -0
- data/rbi/spotted/models/me/player_list_recently_played_response.rbi +67 -0
- data/rbi/spotted/models/me/player_pause_playback_params.rbi +50 -0
- data/rbi/spotted/models/me/player_seek_to_position_params.rbi +65 -0
- data/rbi/spotted/models/me/player_set_repeat_mode_params.rbi +65 -0
- data/rbi/spotted/models/me/player_set_volume_params.rbi +61 -0
- data/rbi/spotted/models/me/player_skip_next_params.rbi +47 -0
- data/rbi/spotted/models/me/player_skip_previous_params.rbi +50 -0
- data/rbi/spotted/models/me/player_start_playback_params.rbi +113 -0
- data/rbi/spotted/models/me/player_toggle_shuffle_params.rbi +63 -0
- data/rbi/spotted/models/me/player_transfer_params.rbi +66 -0
- data/rbi/spotted/models/me/playlist_list_params.rbi +61 -0
- data/rbi/spotted/models/me/show_check_params.rbi +46 -0
- data/rbi/spotted/models/me/show_check_response.rbi +13 -0
- data/rbi/spotted/models/me/show_list_params.rbi +61 -0
- data/rbi/spotted/models/me/show_list_response.rbi +277 -0
- data/rbi/spotted/models/me/show_remove_params.rbi +83 -0
- data/rbi/spotted/models/me/show_save_params.rbi +56 -0
- data/rbi/spotted/models/me/top_list_top_artists_params.rbi +81 -0
- data/rbi/spotted/models/me/top_list_top_tracks_params.rbi +81 -0
- data/rbi/spotted/models/me/track_check_params.rbi +46 -0
- data/rbi/spotted/models/me/track_check_response.rbi +13 -0
- data/rbi/spotted/models/me/track_list_params.rbi +88 -0
- data/rbi/spotted/models/me/track_list_response.rbi +58 -0
- data/rbi/spotted/models/me/track_remove_params.rbi +56 -0
- data/rbi/spotted/models/me/track_save_params.rbi +130 -0
- data/rbi/spotted/models/me_retrieve_params.rbi +27 -0
- data/rbi/spotted/models/me_retrieve_response.rbi +257 -0
- data/rbi/spotted/models/narrator_object.rbi +30 -0
- data/rbi/spotted/models/paging_playlist_object.rbi +83 -0
- data/rbi/spotted/models/playlist_retrieve_params.rbi +112 -0
- data/rbi/spotted/models/playlist_retrieve_response.rbi +327 -0
- data/rbi/spotted/models/playlist_track_object.rbi +101 -0
- data/rbi/spotted/models/playlist_tracks_ref_object.rbi +41 -0
- data/rbi/spotted/models/playlist_update_params.rbi +93 -0
- data/rbi/spotted/models/playlist_user_object.rbi +109 -0
- data/rbi/spotted/models/playlists/follower_check_params.rbi +52 -0
- data/rbi/spotted/models/playlists/follower_check_response.rbi +13 -0
- data/rbi/spotted/models/playlists/follower_follow_params.rbi +54 -0
- data/rbi/spotted/models/playlists/follower_unfollow_params.rbi +32 -0
- data/rbi/spotted/models/playlists/image_list_params.rbi +32 -0
- data/rbi/spotted/models/playlists/image_list_response.rbi +13 -0
- data/rbi/spotted/models/playlists/image_update_params.rbi +45 -0
- data/rbi/spotted/models/playlists/track_add_params.rbi +82 -0
- data/rbi/spotted/models/playlists/track_add_response.rbi +31 -0
- data/rbi/spotted/models/playlists/track_list_params.rbi +141 -0
- data/rbi/spotted/models/playlists/track_remove_params.rbi +100 -0
- data/rbi/spotted/models/playlists/track_remove_response.rbi +31 -0
- data/rbi/spotted/models/playlists/track_update_params.rbi +111 -0
- data/rbi/spotted/models/playlists/track_update_response.rbi +31 -0
- data/rbi/spotted/models/recommendation_get_params.rbi +864 -0
- data/rbi/spotted/models/recommendation_get_response.rbi +152 -0
- data/rbi/spotted/models/recommendation_list_available_genre_seeds_params.rbi +30 -0
- data/rbi/spotted/models/recommendation_list_available_genre_seeds_response.rbi +26 -0
- data/rbi/spotted/models/resume_point_object.rbi +47 -0
- data/rbi/spotted/models/search_retrieve_params.rbi +218 -0
- data/rbi/spotted/models/search_retrieve_response.rbi +1381 -0
- data/rbi/spotted/models/show_list_episodes_params.rbi +86 -0
- data/rbi/spotted/models/show_list_params.rbi +74 -0
- data/rbi/spotted/models/show_list_response.rbi +238 -0
- data/rbi/spotted/models/show_retrieve_params.rbi +59 -0
- data/rbi/spotted/models/show_retrieve_response.rbi +305 -0
- data/rbi/spotted/models/simplified_artist_object.rbi +121 -0
- data/rbi/spotted/models/simplified_chapter_object.rbi +287 -0
- data/rbi/spotted/models/simplified_episode_object.rbi +289 -0
- data/rbi/spotted/models/simplified_playlist_object.rbi +230 -0
- data/rbi/spotted/models/simplified_track_object.rbi +239 -0
- data/rbi/spotted/models/time_interval_object.rbi +54 -0
- data/rbi/spotted/models/track_list_params.rbi +74 -0
- data/rbi/spotted/models/track_list_response.rbi +27 -0
- data/rbi/spotted/models/track_object.rbi +556 -0
- data/rbi/spotted/models/track_restriction_object.rbi +48 -0
- data/rbi/spotted/models/track_retrieve_params.rbi +59 -0
- data/rbi/spotted/models/user_retrieve_profile_params.rbi +27 -0
- data/rbi/spotted/models/user_retrieve_profile_response.rbi +159 -0
- data/rbi/spotted/models/users/playlist_create_params.rbi +107 -0
- data/rbi/spotted/models/users/playlist_create_response.rbi +336 -0
- data/rbi/spotted/models/users/playlist_list_params.rbi +64 -0
- data/rbi/spotted/models.rbi +132 -0
- data/rbi/spotted/request_options.rbi +57 -0
- data/rbi/spotted/resources/albums.rbi +100 -0
- data/rbi/spotted/resources/artists.rbi +129 -0
- data/rbi/spotted/resources/audio_analysis.rbi +29 -0
- data/rbi/spotted/resources/audio_features.rbi +44 -0
- data/rbi/spotted/resources/audiobooks.rbi +105 -0
- data/rbi/spotted/resources/browse/categories.rbi +91 -0
- data/rbi/spotted/resources/browse.rbi +63 -0
- data/rbi/spotted/resources/chapters.rbi +69 -0
- data/rbi/spotted/resources/episodes.rbi +66 -0
- data/rbi/spotted/resources/markets.rbi +21 -0
- data/rbi/spotted/resources/me/albums.rbi +101 -0
- data/rbi/spotted/resources/me/audiobooks.rbi +86 -0
- data/rbi/spotted/resources/me/episodes.rbi +112 -0
- data/rbi/spotted/resources/me/following.rbi +99 -0
- data/rbi/spotted/resources/me/player/queue.rbi +45 -0
- data/rbi/spotted/resources/me/player.rbi +315 -0
- data/rbi/spotted/resources/me/playlists.rbi +34 -0
- data/rbi/spotted/resources/me/shows.rbi +101 -0
- data/rbi/spotted/resources/me/top.rbi +62 -0
- data/rbi/spotted/resources/me/tracks.rbi +112 -0
- data/rbi/spotted/resources/me.rbi +49 -0
- data/rbi/spotted/resources/playlists/followers.rbi +70 -0
- data/rbi/spotted/resources/playlists/images.rbi +47 -0
- data/rbi/spotted/resources/playlists/tracks.rbi +177 -0
- data/rbi/spotted/resources/playlists.rbi +102 -0
- data/rbi/spotted/resources/recommendations.rbi +336 -0
- data/rbi/spotted/resources/search.rbi +71 -0
- data/rbi/spotted/resources/shows.rbi +100 -0
- data/rbi/spotted/resources/tracks.rbi +66 -0
- data/rbi/spotted/resources/users/playlists.rbi +78 -0
- data/rbi/spotted/resources/users.rbi +29 -0
- data/rbi/spotted/version.rbi +5 -0
- data/sig/spotted/client.rbs +62 -0
- data/sig/spotted/errors.rbs +117 -0
- data/sig/spotted/file_part.rbs +21 -0
- data/sig/spotted/internal/cursor_url_page.rbs +13 -0
- data/sig/spotted/internal/oauth2.rbs +19 -0
- data/sig/spotted/internal/transport/base_client.rbs +131 -0
- data/sig/spotted/internal/transport/pooled_net_requester.rbs +45 -0
- data/sig/spotted/internal/type/array_of.rbs +48 -0
- data/sig/spotted/internal/type/base_model.rbs +102 -0
- data/sig/spotted/internal/type/base_page.rbs +24 -0
- data/sig/spotted/internal/type/boolean.rbs +26 -0
- data/sig/spotted/internal/type/converter.rbs +79 -0
- data/sig/spotted/internal/type/enum.rbs +32 -0
- data/sig/spotted/internal/type/file_input.rbs +25 -0
- data/sig/spotted/internal/type/hash_of.rbs +48 -0
- data/sig/spotted/internal/type/request_parameters.rbs +17 -0
- data/sig/spotted/internal/type/union.rbs +52 -0
- data/sig/spotted/internal/type/unknown.rbs +26 -0
- data/sig/spotted/internal/util.rbs +185 -0
- data/sig/spotted/internal.rbs +9 -0
- data/sig/spotted/models/album_list_params.rbs +30 -0
- data/sig/spotted/models/album_list_response.rbs +237 -0
- data/sig/spotted/models/album_list_tracks_params.rbs +38 -0
- data/sig/spotted/models/album_restriction_object.rbs +34 -0
- data/sig/spotted/models/album_retrieve_params.rbs +25 -0
- data/sig/spotted/models/album_retrieve_response.rbs +222 -0
- data/sig/spotted/models/artist_list_albums_params.rbs +49 -0
- data/sig/spotted/models/artist_list_albums_response.rbs +141 -0
- data/sig/spotted/models/artist_list_params.rbs +20 -0
- data/sig/spotted/models/artist_list_related_artists_params.rbs +15 -0
- data/sig/spotted/models/artist_list_related_artists_response.rbs +14 -0
- data/sig/spotted/models/artist_list_response.rbs +13 -0
- data/sig/spotted/models/artist_list_top_tracks_params.rbs +25 -0
- data/sig/spotted/models/artist_list_top_tracks_response.rbs +14 -0
- data/sig/spotted/models/artist_object.rbs +101 -0
- data/sig/spotted/models/artist_retrieve_params.rbs +15 -0
- data/sig/spotted/models/audio_analysis_retrieve_params.rbs +15 -0
- data/sig/spotted/models/audio_analysis_retrieve_response.rbs +518 -0
- data/sig/spotted/models/audio_feature_list_params.rbs +20 -0
- data/sig/spotted/models/audio_feature_list_response.rbs +170 -0
- data/sig/spotted/models/audio_feature_retrieve_params.rbs +15 -0
- data/sig/spotted/models/audio_feature_retrieve_response.rbs +153 -0
- data/sig/spotted/models/audiobook_list_chapters_params.rbs +38 -0
- data/sig/spotted/models/audiobook_list_params.rbs +30 -0
- data/sig/spotted/models/audiobook_list_response.rbs +189 -0
- data/sig/spotted/models/audiobook_retrieve_params.rbs +25 -0
- data/sig/spotted/models/audiobook_retrieve_response.rbs +174 -0
- data/sig/spotted/models/author_object.rbs +15 -0
- data/sig/spotted/models/browse/category_get_playlists_params.rbs +34 -0
- data/sig/spotted/models/browse/category_get_playlists_response.rbs +30 -0
- data/sig/spotted/models/browse/category_list_params.rbs +40 -0
- data/sig/spotted/models/browse/category_list_response.rbs +101 -0
- data/sig/spotted/models/browse/category_retrieve_params.rbs +27 -0
- data/sig/spotted/models/browse/category_retrieve_response.rbs +37 -0
- data/sig/spotted/models/browse_get_featured_playlists_params.rbs +38 -0
- data/sig/spotted/models/browse_get_featured_playlists_response.rbs +28 -0
- data/sig/spotted/models/browse_get_new_releases_params.rbs +32 -0
- data/sig/spotted/models/browse_get_new_releases_response.rbs +185 -0
- data/sig/spotted/models/chapter_list_params.rbs +30 -0
- data/sig/spotted/models/chapter_list_response.rbs +286 -0
- data/sig/spotted/models/chapter_restriction_object.rbs +15 -0
- data/sig/spotted/models/chapter_retrieve_params.rbs +25 -0
- data/sig/spotted/models/chapter_retrieve_response.rbs +271 -0
- data/sig/spotted/models/copyright_object.rbs +19 -0
- data/sig/spotted/models/episode_list_params.rbs +30 -0
- data/sig/spotted/models/episode_list_response.rbs +13 -0
- data/sig/spotted/models/episode_object.rbs +259 -0
- data/sig/spotted/models/episode_restriction_object.rbs +15 -0
- data/sig/spotted/models/episode_retrieve_params.rbs +25 -0
- data/sig/spotted/models/external_id_object.rbs +23 -0
- data/sig/spotted/models/external_url_object.rbs +15 -0
- data/sig/spotted/models/followers_object.rbs +17 -0
- data/sig/spotted/models/image_object.rbs +17 -0
- data/sig/spotted/models/linked_track_object.rbs +52 -0
- data/sig/spotted/models/market_list_params.rbs +14 -0
- data/sig/spotted/models/market_list_response.rbs +15 -0
- data/sig/spotted/models/me/album_check_params.rbs +25 -0
- data/sig/spotted/models/me/album_check_response.rbs +9 -0
- data/sig/spotted/models/me/album_list_params.rbs +40 -0
- data/sig/spotted/models/me/album_list_response.rbs +249 -0
- data/sig/spotted/models/me/album_remove_params.rbs +28 -0
- data/sig/spotted/models/me/album_save_params.rbs +28 -0
- data/sig/spotted/models/me/audiobook_check_params.rbs +25 -0
- data/sig/spotted/models/me/audiobook_check_response.rbs +9 -0
- data/sig/spotted/models/me/audiobook_list_params.rbs +34 -0
- data/sig/spotted/models/me/audiobook_list_response.rbs +204 -0
- data/sig/spotted/models/me/audiobook_remove_params.rbs +25 -0
- data/sig/spotted/models/me/audiobook_save_params.rbs +25 -0
- data/sig/spotted/models/me/context_object.rbs +47 -0
- data/sig/spotted/models/me/device_object.rbs +69 -0
- data/sig/spotted/models/me/episode_check_params.rbs +25 -0
- data/sig/spotted/models/me/episode_check_response.rbs +9 -0
- data/sig/spotted/models/me/episode_list_params.rbs +40 -0
- data/sig/spotted/models/me/episode_list_response.rbs +25 -0
- data/sig/spotted/models/me/episode_remove_params.rbs +28 -0
- data/sig/spotted/models/me/episode_save_params.rbs +26 -0
- data/sig/spotted/models/me/following_check_params.rbs +41 -0
- data/sig/spotted/models/me/following_check_response.rbs +9 -0
- data/sig/spotted/models/me/following_follow_params.rbs +44 -0
- data/sig/spotted/models/me/following_list_params.rbs +52 -0
- data/sig/spotted/models/me/following_list_response.rbs +94 -0
- data/sig/spotted/models/me/following_unfollow_params.rbs +46 -0
- data/sig/spotted/models/me/player/queue_add_params.rbs +34 -0
- data/sig/spotted/models/me/player/queue_get_params.rbs +19 -0
- data/sig/spotted/models/me/player/queue_get_response.rbs +53 -0
- data/sig/spotted/models/me/player_get_currently_playing_params.rbs +34 -0
- data/sig/spotted/models/me/player_get_currently_playing_response.rbs +160 -0
- data/sig/spotted/models/me/player_get_devices_params.rbs +17 -0
- data/sig/spotted/models/me/player_get_devices_response.rbs +16 -0
- data/sig/spotted/models/me/player_get_state_params.rbs +34 -0
- data/sig/spotted/models/me/player_get_state_response.rbs +181 -0
- data/sig/spotted/models/me/player_list_recently_played_params.rbs +40 -0
- data/sig/spotted/models/me/player_list_recently_played_response.rbs +38 -0
- data/sig/spotted/models/me/player_pause_playback_params.rbs +27 -0
- data/sig/spotted/models/me/player_seek_to_position_params.rbs +32 -0
- data/sig/spotted/models/me/player_set_repeat_mode_params.rbs +32 -0
- data/sig/spotted/models/me/player_set_volume_params.rbs +32 -0
- data/sig/spotted/models/me/player_skip_next_params.rbs +27 -0
- data/sig/spotted/models/me/player_skip_previous_params.rbs +27 -0
- data/sig/spotted/models/me/player_start_playback_params.rbs +58 -0
- data/sig/spotted/models/me/player_toggle_shuffle_params.rbs +32 -0
- data/sig/spotted/models/me/player_transfer_params.rbs +32 -0
- data/sig/spotted/models/me/playlist_list_params.rbs +34 -0
- data/sig/spotted/models/me/show_check_params.rbs +25 -0
- data/sig/spotted/models/me/show_check_response.rbs +9 -0
- data/sig/spotted/models/me/show_list_params.rbs +34 -0
- data/sig/spotted/models/me/show_list_response.rbs +137 -0
- data/sig/spotted/models/me/show_remove_params.rbs +34 -0
- data/sig/spotted/models/me/show_save_params.rbs +28 -0
- data/sig/spotted/models/me/top_list_top_artists_params.rbs +40 -0
- data/sig/spotted/models/me/top_list_top_tracks_params.rbs +40 -0
- data/sig/spotted/models/me/track_check_params.rbs +25 -0
- data/sig/spotted/models/me/track_check_response.rbs +9 -0
- data/sig/spotted/models/me/track_list_params.rbs +40 -0
- data/sig/spotted/models/me/track_list_response.rbs +21 -0
- data/sig/spotted/models/me/track_remove_params.rbs +28 -0
- data/sig/spotted/models/me/track_save_params.rbs +49 -0
- data/sig/spotted/models/me_retrieve_params.rbs +14 -0
- data/sig/spotted/models/me_retrieve_response.rbs +121 -0
- data/sig/spotted/models/narrator_object.rbs +15 -0
- data/sig/spotted/models/paging_playlist_object.rbs +50 -0
- data/sig/spotted/models/playlist_retrieve_params.rbs +38 -0
- data/sig/spotted/models/playlist_retrieve_response.rbs +178 -0
- data/sig/spotted/models/playlist_track_object.rbs +55 -0
- data/sig/spotted/models/playlist_tracks_ref_object.rbs +19 -0
- data/sig/spotted/models/playlist_update_params.rbs +44 -0
- data/sig/spotted/models/playlist_user_object.rbs +64 -0
- data/sig/spotted/models/playlists/follower_check_params.rbs +27 -0
- data/sig/spotted/models/playlists/follower_check_response.rbs +9 -0
- data/sig/spotted/models/playlists/follower_follow_params.rbs +27 -0
- data/sig/spotted/models/playlists/follower_unfollow_params.rbs +17 -0
- data/sig/spotted/models/playlists/image_list_params.rbs +17 -0
- data/sig/spotted/models/playlists/image_list_response.rbs +9 -0
- data/sig/spotted/models/playlists/image_update_params.rbs +25 -0
- data/sig/spotted/models/playlists/track_add_params.rbs +34 -0
- data/sig/spotted/models/playlists/track_add_response.rbs +17 -0
- data/sig/spotted/models/playlists/track_list_params.rbs +58 -0
- data/sig/spotted/models/playlists/track_remove_params.rbs +47 -0
- data/sig/spotted/models/playlists/track_remove_response.rbs +17 -0
- data/sig/spotted/models/playlists/track_update_params.rbs +58 -0
- data/sig/spotted/models/playlists/track_update_response.rbs +17 -0
- data/sig/spotted/models/recommendation_get_params.rbs +350 -0
- data/sig/spotted/models/recommendation_get_response.rbs +79 -0
- data/sig/spotted/models/recommendation_list_available_genre_seeds_params.rbs +15 -0
- data/sig/spotted/models/recommendation_list_available_genre_seeds_response.rbs +14 -0
- data/sig/spotted/models/resume_point_object.rbs +23 -0
- data/sig/spotted/models/search_retrieve_params.rbs +88 -0
- data/sig/spotted/models/search_retrieve_response.rbs +706 -0
- data/sig/spotted/models/show_list_episodes_params.rbs +38 -0
- data/sig/spotted/models/show_list_params.rbs +30 -0
- data/sig/spotted/models/show_list_response.rbs +125 -0
- data/sig/spotted/models/show_retrieve_params.rbs +25 -0
- data/sig/spotted/models/show_retrieve_response.rbs +162 -0
- data/sig/spotted/models/simplified_artist_object.rbs +71 -0
- data/sig/spotted/models/simplified_chapter_object.rbs +147 -0
- data/sig/spotted/models/simplified_episode_object.rbs +147 -0
- data/sig/spotted/models/simplified_playlist_object.rbs +126 -0
- data/sig/spotted/models/simplified_track_object.rbs +140 -0
- data/sig/spotted/models/time_interval_object.rbs +28 -0
- data/sig/spotted/models/track_list_params.rbs +30 -0
- data/sig/spotted/models/track_list_response.rbs +13 -0
- data/sig/spotted/models/track_object.rbs +295 -0
- data/sig/spotted/models/track_restriction_object.rbs +15 -0
- data/sig/spotted/models/track_retrieve_params.rbs +25 -0
- data/sig/spotted/models/user_retrieve_profile_params.rbs +15 -0
- data/sig/spotted/models/user_retrieve_profile_response.rbs +85 -0
- data/sig/spotted/models/users/playlist_create_params.rbs +44 -0
- data/sig/spotted/models/users/playlist_create_response.rbs +180 -0
- data/sig/spotted/models/users/playlist_list_params.rbs +34 -0
- data/sig/spotted/models.rbs +127 -0
- data/sig/spotted/request_options.rbs +34 -0
- data/sig/spotted/resources/albums.rbs +27 -0
- data/sig/spotted/resources/artists.rbs +37 -0
- data/sig/spotted/resources/audio_analysis.rbs +12 -0
- data/sig/spotted/resources/audio_features.rbs +17 -0
- data/sig/spotted/resources/audiobooks.rbs +27 -0
- data/sig/spotted/resources/browse/categories.rbs +29 -0
- data/sig/spotted/resources/browse.rbs +22 -0
- data/sig/spotted/resources/chapters.rbs +19 -0
- data/sig/spotted/resources/episodes.rbs +19 -0
- data/sig/spotted/resources/markets.rbs +11 -0
- data/sig/spotted/resources/me/albums.rbs +31 -0
- data/sig/spotted/resources/me/audiobooks.rbs +27 -0
- data/sig/spotted/resources/me/episodes.rbs +31 -0
- data/sig/spotted/resources/me/following.rbs +34 -0
- data/sig/spotted/resources/me/player/queue.rbs +21 -0
- data/sig/spotted/resources/me/player.rbs +88 -0
- data/sig/spotted/resources/me/playlists.rbs +15 -0
- data/sig/spotted/resources/me/shows.rbs +31 -0
- data/sig/spotted/resources/me/top.rbs +23 -0
- data/sig/spotted/resources/me/tracks.rbs +32 -0
- data/sig/spotted/resources/me.rbs +29 -0
- data/sig/spotted/resources/playlists/followers.rbs +26 -0
- data/sig/spotted/resources/playlists/images.rbs +20 -0
- data/sig/spotted/resources/playlists/tracks.rbs +43 -0
- data/sig/spotted/resources/playlists.rbs +30 -0
- data/sig/spotted/resources/recommendations.rbs +62 -0
- data/sig/spotted/resources/search.rbs +17 -0
- data/sig/spotted/resources/shows.rbs +27 -0
- data/sig/spotted/resources/tracks.rbs +19 -0
- data/sig/spotted/resources/users/playlists.rbs +25 -0
- data/sig/spotted/resources/users.rbs +14 -0
- data/sig/spotted/version.rbs +3 -0
- metadata +734 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
# Specify HTTP behaviour to use for a specific request. These options supplement
|
|
5
|
+
# or override those provided at the client level.
|
|
6
|
+
#
|
|
7
|
+
# When making a request, you can pass an actual {RequestOptions} instance, or
|
|
8
|
+
# simply pass a Hash with symbol keys matching the attributes on this class.
|
|
9
|
+
class RequestOptions < Spotted::Internal::Type::BaseModel
|
|
10
|
+
# @api private
|
|
11
|
+
#
|
|
12
|
+
# @param opts [Spotted::RequestOptions, Hash{Symbol=>Object}]
|
|
13
|
+
#
|
|
14
|
+
# @raise [ArgumentError]
|
|
15
|
+
def self.validate!(opts)
|
|
16
|
+
case opts
|
|
17
|
+
in Spotted::RequestOptions | Hash
|
|
18
|
+
opts.to_h.each_key do |k|
|
|
19
|
+
unless fields.include?(k)
|
|
20
|
+
raise ArgumentError.new("Request `opts` keys must be one of #{fields.keys}, got #{k.inspect}")
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
else
|
|
24
|
+
raise ArgumentError.new("Request `opts` must be a Hash or RequestOptions, got #{opts.inspect}")
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# @!attribute idempotency_key
|
|
29
|
+
# Idempotency key to send with request and all associated retries. Will only be
|
|
30
|
+
# sent for write requests.
|
|
31
|
+
#
|
|
32
|
+
# @return [String, nil]
|
|
33
|
+
optional :idempotency_key, String
|
|
34
|
+
|
|
35
|
+
# @!attribute extra_query
|
|
36
|
+
# Extra query params to send with the request. These are `.merge`’d into any
|
|
37
|
+
# `query` given at the client level.
|
|
38
|
+
#
|
|
39
|
+
# @return [Hash{String=>Array<String>, String, nil}, nil]
|
|
40
|
+
optional :extra_query, Spotted::Internal::Type::HashOf[Spotted::Internal::Type::ArrayOf[String]]
|
|
41
|
+
|
|
42
|
+
# @!attribute extra_headers
|
|
43
|
+
# Extra headers to send with the request. These are `.merged`’d into any
|
|
44
|
+
# `extra_headers` given at the client level.
|
|
45
|
+
#
|
|
46
|
+
# @return [Hash{String=>String, nil}, nil]
|
|
47
|
+
optional :extra_headers, Spotted::Internal::Type::HashOf[String, nil?: true]
|
|
48
|
+
|
|
49
|
+
# @!attribute extra_body
|
|
50
|
+
# Extra data to send with the request. These are deep merged into any data
|
|
51
|
+
# generated as part of the normal request.
|
|
52
|
+
#
|
|
53
|
+
# @return [Object, nil]
|
|
54
|
+
optional :extra_body, Spotted::Internal::Type::HashOf[Spotted::Internal::Type::Unknown]
|
|
55
|
+
|
|
56
|
+
# @!attribute max_retries
|
|
57
|
+
# Maximum number of retries to attempt after a failed initial request.
|
|
58
|
+
#
|
|
59
|
+
# @return [Integer, nil]
|
|
60
|
+
optional :max_retries, Integer
|
|
61
|
+
|
|
62
|
+
# @!attribute timeout
|
|
63
|
+
# Request timeout in seconds.
|
|
64
|
+
#
|
|
65
|
+
# @return [Float, nil]
|
|
66
|
+
optional :timeout, Float
|
|
67
|
+
|
|
68
|
+
# @!method initialize(values = {})
|
|
69
|
+
# Returns a new instance of RequestOptions.
|
|
70
|
+
#
|
|
71
|
+
# @param values [Hash{Symbol=>Object}]
|
|
72
|
+
|
|
73
|
+
define_sorbet_constant!(:OrHash) do
|
|
74
|
+
T.type_alias { T.any(Spotted::RequestOptions, Spotted::Internal::AnyHash) }
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Resources
|
|
5
|
+
class Albums
|
|
6
|
+
# Some parameter documentations has been truncated, see
|
|
7
|
+
# {Spotted::Models::AlbumRetrieveParams} for more details.
|
|
8
|
+
#
|
|
9
|
+
# Get Spotify catalog information for a single album.
|
|
10
|
+
#
|
|
11
|
+
# @overload retrieve(id, market: nil, request_options: {})
|
|
12
|
+
#
|
|
13
|
+
# @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the album.
|
|
14
|
+
#
|
|
15
|
+
# @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
|
|
16
|
+
#
|
|
17
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
18
|
+
#
|
|
19
|
+
# @return [Spotted::Models::AlbumRetrieveResponse]
|
|
20
|
+
#
|
|
21
|
+
# @see Spotted::Models::AlbumRetrieveParams
|
|
22
|
+
def retrieve(id, params = {})
|
|
23
|
+
parsed, options = Spotted::AlbumRetrieveParams.dump_request(params)
|
|
24
|
+
@client.request(
|
|
25
|
+
method: :get,
|
|
26
|
+
path: ["albums/%1$s", id],
|
|
27
|
+
query: parsed,
|
|
28
|
+
model: Spotted::Models::AlbumRetrieveResponse,
|
|
29
|
+
options: options
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Some parameter documentations has been truncated, see
|
|
34
|
+
# {Spotted::Models::AlbumListParams} for more details.
|
|
35
|
+
#
|
|
36
|
+
# Get Spotify catalog information for multiple albums identified by their Spotify
|
|
37
|
+
# IDs.
|
|
38
|
+
#
|
|
39
|
+
# @overload list(ids:, market: nil, request_options: {})
|
|
40
|
+
#
|
|
41
|
+
# @param ids [String] A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spot
|
|
42
|
+
#
|
|
43
|
+
# @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
|
|
44
|
+
#
|
|
45
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
46
|
+
#
|
|
47
|
+
# @return [Spotted::Models::AlbumListResponse]
|
|
48
|
+
#
|
|
49
|
+
# @see Spotted::Models::AlbumListParams
|
|
50
|
+
def list(params)
|
|
51
|
+
parsed, options = Spotted::AlbumListParams.dump_request(params)
|
|
52
|
+
@client.request(
|
|
53
|
+
method: :get,
|
|
54
|
+
path: "albums",
|
|
55
|
+
query: parsed,
|
|
56
|
+
model: Spotted::Models::AlbumListResponse,
|
|
57
|
+
options: options
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Some parameter documentations has been truncated, see
|
|
62
|
+
# {Spotted::Models::AlbumListTracksParams} for more details.
|
|
63
|
+
#
|
|
64
|
+
# Get Spotify catalog information about an album’s tracks. Optional parameters can
|
|
65
|
+
# be used to limit the number of tracks returned.
|
|
66
|
+
#
|
|
67
|
+
# @overload list_tracks(id, limit: nil, market: nil, offset: nil, request_options: {})
|
|
68
|
+
#
|
|
69
|
+
# @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the album.
|
|
70
|
+
#
|
|
71
|
+
# @param limit [Integer] The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
|
|
72
|
+
#
|
|
73
|
+
# @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
|
|
74
|
+
#
|
|
75
|
+
# @param offset [Integer] The index of the first item to return. Default: 0 (the first item). Use with lim
|
|
76
|
+
#
|
|
77
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
78
|
+
#
|
|
79
|
+
# @return [Spotted::Internal::CursorURLPage<Spotted::Models::SimplifiedTrackObject>]
|
|
80
|
+
#
|
|
81
|
+
# @see Spotted::Models::AlbumListTracksParams
|
|
82
|
+
def list_tracks(id, params = {})
|
|
83
|
+
parsed, options = Spotted::AlbumListTracksParams.dump_request(params)
|
|
84
|
+
@client.request(
|
|
85
|
+
method: :get,
|
|
86
|
+
path: ["albums/%1$s/tracks", id],
|
|
87
|
+
query: parsed,
|
|
88
|
+
page: Spotted::Internal::CursorURLPage,
|
|
89
|
+
model: Spotted::SimplifiedTrackObject,
|
|
90
|
+
options: options
|
|
91
|
+
)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# @api private
|
|
95
|
+
#
|
|
96
|
+
# @param client [Spotted::Client]
|
|
97
|
+
def initialize(client:)
|
|
98
|
+
@client = client
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Resources
|
|
5
|
+
class Artists
|
|
6
|
+
# Some parameter documentations has been truncated, see
|
|
7
|
+
# {Spotted::Models::ArtistRetrieveParams} for more details.
|
|
8
|
+
#
|
|
9
|
+
# Get Spotify catalog information for a single artist identified by their unique
|
|
10
|
+
# Spotify ID.
|
|
11
|
+
#
|
|
12
|
+
# @overload retrieve(id, request_options: {})
|
|
13
|
+
#
|
|
14
|
+
# @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the artist
|
|
15
|
+
#
|
|
16
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
17
|
+
#
|
|
18
|
+
# @return [Spotted::Models::ArtistObject]
|
|
19
|
+
#
|
|
20
|
+
# @see Spotted::Models::ArtistRetrieveParams
|
|
21
|
+
def retrieve(id, params = {})
|
|
22
|
+
@client.request(
|
|
23
|
+
method: :get,
|
|
24
|
+
path: ["artists/%1$s", id],
|
|
25
|
+
model: Spotted::ArtistObject,
|
|
26
|
+
options: params[:request_options]
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Some parameter documentations has been truncated, see
|
|
31
|
+
# {Spotted::Models::ArtistListParams} for more details.
|
|
32
|
+
#
|
|
33
|
+
# Get Spotify catalog information for several artists based on their Spotify IDs.
|
|
34
|
+
#
|
|
35
|
+
# @overload list(ids:, request_options: {})
|
|
36
|
+
#
|
|
37
|
+
# @param ids [String] A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spot
|
|
38
|
+
#
|
|
39
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
40
|
+
#
|
|
41
|
+
# @return [Spotted::Models::ArtistListResponse]
|
|
42
|
+
#
|
|
43
|
+
# @see Spotted::Models::ArtistListParams
|
|
44
|
+
def list(params)
|
|
45
|
+
parsed, options = Spotted::ArtistListParams.dump_request(params)
|
|
46
|
+
@client.request(
|
|
47
|
+
method: :get,
|
|
48
|
+
path: "artists",
|
|
49
|
+
query: parsed,
|
|
50
|
+
model: Spotted::Models::ArtistListResponse,
|
|
51
|
+
options: options
|
|
52
|
+
)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Some parameter documentations has been truncated, see
|
|
56
|
+
# {Spotted::Models::ArtistListAlbumsParams} for more details.
|
|
57
|
+
#
|
|
58
|
+
# Get Spotify catalog information about an artist's albums.
|
|
59
|
+
#
|
|
60
|
+
# @overload list_albums(id, include_groups: nil, limit: nil, market: nil, offset: nil, request_options: {})
|
|
61
|
+
#
|
|
62
|
+
# @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the artist
|
|
63
|
+
#
|
|
64
|
+
# @param include_groups [String] A comma-separated list of keywords that will be used to filter the response. If
|
|
65
|
+
#
|
|
66
|
+
# @param limit [Integer] The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
|
|
67
|
+
#
|
|
68
|
+
# @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
|
|
69
|
+
#
|
|
70
|
+
# @param offset [Integer] The index of the first item to return. Default: 0 (the first item). Use with lim
|
|
71
|
+
#
|
|
72
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
73
|
+
#
|
|
74
|
+
# @return [Spotted::Internal::CursorURLPage<Spotted::Models::ArtistListAlbumsResponse>]
|
|
75
|
+
#
|
|
76
|
+
# @see Spotted::Models::ArtistListAlbumsParams
|
|
77
|
+
def list_albums(id, params = {})
|
|
78
|
+
parsed, options = Spotted::ArtistListAlbumsParams.dump_request(params)
|
|
79
|
+
@client.request(
|
|
80
|
+
method: :get,
|
|
81
|
+
path: ["artists/%1$s/albums", id],
|
|
82
|
+
query: parsed,
|
|
83
|
+
page: Spotted::Internal::CursorURLPage,
|
|
84
|
+
model: Spotted::Models::ArtistListAlbumsResponse,
|
|
85
|
+
options: options
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# @deprecated
|
|
90
|
+
#
|
|
91
|
+
# Some parameter documentations has been truncated, see
|
|
92
|
+
# {Spotted::Models::ArtistListRelatedArtistsParams} for more details.
|
|
93
|
+
#
|
|
94
|
+
# Get Spotify catalog information about artists similar to a given artist.
|
|
95
|
+
# Similarity is based on analysis of the Spotify community's listening history.
|
|
96
|
+
#
|
|
97
|
+
# @overload list_related_artists(id, request_options: {})
|
|
98
|
+
#
|
|
99
|
+
# @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the artist
|
|
100
|
+
#
|
|
101
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
102
|
+
#
|
|
103
|
+
# @return [Spotted::Models::ArtistListRelatedArtistsResponse]
|
|
104
|
+
#
|
|
105
|
+
# @see Spotted::Models::ArtistListRelatedArtistsParams
|
|
106
|
+
def list_related_artists(id, params = {})
|
|
107
|
+
@client.request(
|
|
108
|
+
method: :get,
|
|
109
|
+
path: ["artists/%1$s/related-artists", id],
|
|
110
|
+
model: Spotted::Models::ArtistListRelatedArtistsResponse,
|
|
111
|
+
options: params[:request_options]
|
|
112
|
+
)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Some parameter documentations has been truncated, see
|
|
116
|
+
# {Spotted::Models::ArtistListTopTracksParams} for more details.
|
|
117
|
+
#
|
|
118
|
+
# Get Spotify catalog information about an artist's top tracks by country.
|
|
119
|
+
#
|
|
120
|
+
# @overload list_top_tracks(id, market: nil, request_options: {})
|
|
121
|
+
#
|
|
122
|
+
# @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) of the artist
|
|
123
|
+
#
|
|
124
|
+
# @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
|
|
125
|
+
#
|
|
126
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
127
|
+
#
|
|
128
|
+
# @return [Spotted::Models::ArtistListTopTracksResponse]
|
|
129
|
+
#
|
|
130
|
+
# @see Spotted::Models::ArtistListTopTracksParams
|
|
131
|
+
def list_top_tracks(id, params = {})
|
|
132
|
+
parsed, options = Spotted::ArtistListTopTracksParams.dump_request(params)
|
|
133
|
+
@client.request(
|
|
134
|
+
method: :get,
|
|
135
|
+
path: ["artists/%1$s/top-tracks", id],
|
|
136
|
+
query: parsed,
|
|
137
|
+
model: Spotted::Models::ArtistListTopTracksResponse,
|
|
138
|
+
options: options
|
|
139
|
+
)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# @api private
|
|
143
|
+
#
|
|
144
|
+
# @param client [Spotted::Client]
|
|
145
|
+
def initialize(client:)
|
|
146
|
+
@client = client
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Resources
|
|
5
|
+
class AudioAnalysis
|
|
6
|
+
# @deprecated
|
|
7
|
+
#
|
|
8
|
+
# Some parameter documentations has been truncated, see
|
|
9
|
+
# {Spotted::Models::AudioAnalysisRetrieveParams} for more details.
|
|
10
|
+
#
|
|
11
|
+
# Get a low-level audio analysis for a track in the Spotify catalog. The audio
|
|
12
|
+
# analysis describes the track’s structure and musical content, including rhythm,
|
|
13
|
+
# pitch, and timbre.
|
|
14
|
+
#
|
|
15
|
+
# @overload retrieve(id, request_options: {})
|
|
16
|
+
#
|
|
17
|
+
# @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids)
|
|
18
|
+
#
|
|
19
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
20
|
+
#
|
|
21
|
+
# @return [Spotted::Models::AudioAnalysisRetrieveResponse]
|
|
22
|
+
#
|
|
23
|
+
# @see Spotted::Models::AudioAnalysisRetrieveParams
|
|
24
|
+
def retrieve(id, params = {})
|
|
25
|
+
@client.request(
|
|
26
|
+
method: :get,
|
|
27
|
+
path: ["audio-analysis/%1$s", id],
|
|
28
|
+
model: Spotted::Models::AudioAnalysisRetrieveResponse,
|
|
29
|
+
options: params[:request_options]
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @api private
|
|
34
|
+
#
|
|
35
|
+
# @param client [Spotted::Client]
|
|
36
|
+
def initialize(client:)
|
|
37
|
+
@client = client
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Resources
|
|
5
|
+
class AudioFeatures
|
|
6
|
+
# @deprecated
|
|
7
|
+
#
|
|
8
|
+
# Some parameter documentations has been truncated, see
|
|
9
|
+
# {Spotted::Models::AudioFeatureRetrieveParams} for more details.
|
|
10
|
+
#
|
|
11
|
+
# Get audio feature information for a single track identified by its unique
|
|
12
|
+
# Spotify ID.
|
|
13
|
+
#
|
|
14
|
+
# @overload retrieve(id, request_options: {})
|
|
15
|
+
#
|
|
16
|
+
# @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the track
|
|
17
|
+
#
|
|
18
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
19
|
+
#
|
|
20
|
+
# @return [Spotted::Models::AudioFeatureRetrieveResponse]
|
|
21
|
+
#
|
|
22
|
+
# @see Spotted::Models::AudioFeatureRetrieveParams
|
|
23
|
+
def retrieve(id, params = {})
|
|
24
|
+
@client.request(
|
|
25
|
+
method: :get,
|
|
26
|
+
path: ["audio-features/%1$s", id],
|
|
27
|
+
model: Spotted::Models::AudioFeatureRetrieveResponse,
|
|
28
|
+
options: params[:request_options]
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# @deprecated
|
|
33
|
+
#
|
|
34
|
+
# Some parameter documentations has been truncated, see
|
|
35
|
+
# {Spotted::Models::AudioFeatureListParams} for more details.
|
|
36
|
+
#
|
|
37
|
+
# Get audio features for multiple tracks based on their Spotify IDs.
|
|
38
|
+
#
|
|
39
|
+
# @overload list(ids:, request_options: {})
|
|
40
|
+
#
|
|
41
|
+
# @param ids [String] A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spot
|
|
42
|
+
#
|
|
43
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
44
|
+
#
|
|
45
|
+
# @return [Spotted::Models::AudioFeatureListResponse]
|
|
46
|
+
#
|
|
47
|
+
# @see Spotted::Models::AudioFeatureListParams
|
|
48
|
+
def list(params)
|
|
49
|
+
parsed, options = Spotted::AudioFeatureListParams.dump_request(params)
|
|
50
|
+
@client.request(
|
|
51
|
+
method: :get,
|
|
52
|
+
path: "audio-features",
|
|
53
|
+
query: parsed,
|
|
54
|
+
model: Spotted::Models::AudioFeatureListResponse,
|
|
55
|
+
options: options
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# @api private
|
|
60
|
+
#
|
|
61
|
+
# @param client [Spotted::Client]
|
|
62
|
+
def initialize(client:)
|
|
63
|
+
@client = client
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Resources
|
|
5
|
+
class Audiobooks
|
|
6
|
+
# Some parameter documentations has been truncated, see
|
|
7
|
+
# {Spotted::Models::AudiobookRetrieveParams} for more details.
|
|
8
|
+
#
|
|
9
|
+
# Get Spotify catalog information for a single audiobook. Audiobooks are only
|
|
10
|
+
# available within the US, UK, Canada, Ireland, New Zealand and Australia markets.
|
|
11
|
+
#
|
|
12
|
+
# @overload retrieve(id, market: nil, request_options: {})
|
|
13
|
+
#
|
|
14
|
+
# @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids)
|
|
15
|
+
#
|
|
16
|
+
# @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
|
|
17
|
+
#
|
|
18
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
19
|
+
#
|
|
20
|
+
# @return [Spotted::Models::AudiobookRetrieveResponse]
|
|
21
|
+
#
|
|
22
|
+
# @see Spotted::Models::AudiobookRetrieveParams
|
|
23
|
+
def retrieve(id, params = {})
|
|
24
|
+
parsed, options = Spotted::AudiobookRetrieveParams.dump_request(params)
|
|
25
|
+
@client.request(
|
|
26
|
+
method: :get,
|
|
27
|
+
path: ["audiobooks/%1$s", id],
|
|
28
|
+
query: parsed,
|
|
29
|
+
model: Spotted::Models::AudiobookRetrieveResponse,
|
|
30
|
+
options: options
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Some parameter documentations has been truncated, see
|
|
35
|
+
# {Spotted::Models::AudiobookListParams} for more details.
|
|
36
|
+
#
|
|
37
|
+
# Get Spotify catalog information for several audiobooks identified by their
|
|
38
|
+
# Spotify IDs. Audiobooks are only available within the US, UK, Canada, Ireland,
|
|
39
|
+
# New Zealand and Australia markets.
|
|
40
|
+
#
|
|
41
|
+
# @overload list(ids:, market: nil, request_options: {})
|
|
42
|
+
#
|
|
43
|
+
# @param ids [String] A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spot
|
|
44
|
+
#
|
|
45
|
+
# @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
|
|
46
|
+
#
|
|
47
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
48
|
+
#
|
|
49
|
+
# @return [Spotted::Models::AudiobookListResponse]
|
|
50
|
+
#
|
|
51
|
+
# @see Spotted::Models::AudiobookListParams
|
|
52
|
+
def list(params)
|
|
53
|
+
parsed, options = Spotted::AudiobookListParams.dump_request(params)
|
|
54
|
+
@client.request(
|
|
55
|
+
method: :get,
|
|
56
|
+
path: "audiobooks",
|
|
57
|
+
query: parsed,
|
|
58
|
+
model: Spotted::Models::AudiobookListResponse,
|
|
59
|
+
options: options
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Some parameter documentations has been truncated, see
|
|
64
|
+
# {Spotted::Models::AudiobookListChaptersParams} for more details.
|
|
65
|
+
#
|
|
66
|
+
# Get Spotify catalog information about an audiobook's chapters. Audiobooks are
|
|
67
|
+
# only available within the US, UK, Canada, Ireland, New Zealand and Australia
|
|
68
|
+
# markets.
|
|
69
|
+
#
|
|
70
|
+
# @overload list_chapters(id, limit: nil, market: nil, offset: nil, request_options: {})
|
|
71
|
+
#
|
|
72
|
+
# @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids)
|
|
73
|
+
#
|
|
74
|
+
# @param limit [Integer] The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
|
|
75
|
+
#
|
|
76
|
+
# @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
|
|
77
|
+
#
|
|
78
|
+
# @param offset [Integer] The index of the first item to return. Default: 0 (the first item). Use with lim
|
|
79
|
+
#
|
|
80
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
81
|
+
#
|
|
82
|
+
# @return [Spotted::Internal::CursorURLPage<Spotted::Models::SimplifiedChapterObject>]
|
|
83
|
+
#
|
|
84
|
+
# @see Spotted::Models::AudiobookListChaptersParams
|
|
85
|
+
def list_chapters(id, params = {})
|
|
86
|
+
parsed, options = Spotted::AudiobookListChaptersParams.dump_request(params)
|
|
87
|
+
@client.request(
|
|
88
|
+
method: :get,
|
|
89
|
+
path: ["audiobooks/%1$s/chapters", id],
|
|
90
|
+
query: parsed,
|
|
91
|
+
page: Spotted::Internal::CursorURLPage,
|
|
92
|
+
model: Spotted::SimplifiedChapterObject,
|
|
93
|
+
options: options
|
|
94
|
+
)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# @api private
|
|
98
|
+
#
|
|
99
|
+
# @param client [Spotted::Client]
|
|
100
|
+
def initialize(client:)
|
|
101
|
+
@client = client
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Resources
|
|
5
|
+
class Browse
|
|
6
|
+
class Categories
|
|
7
|
+
# Some parameter documentations has been truncated, see
|
|
8
|
+
# {Spotted::Models::Browse::CategoryRetrieveParams} for more details.
|
|
9
|
+
#
|
|
10
|
+
# Get a single category used to tag items in Spotify (on, for example, the Spotify
|
|
11
|
+
# player’s “Browse” tab).
|
|
12
|
+
#
|
|
13
|
+
# @overload retrieve(category_id, locale: nil, request_options: {})
|
|
14
|
+
#
|
|
15
|
+
# @param category_id [String] The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) for
|
|
16
|
+
#
|
|
17
|
+
# @param locale [String] The desired language, consisting of an [ISO 639-1](http://en.wikipedia.org/wiki/
|
|
18
|
+
#
|
|
19
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
20
|
+
#
|
|
21
|
+
# @return [Spotted::Models::Browse::CategoryRetrieveResponse]
|
|
22
|
+
#
|
|
23
|
+
# @see Spotted::Models::Browse::CategoryRetrieveParams
|
|
24
|
+
def retrieve(category_id, params = {})
|
|
25
|
+
parsed, options = Spotted::Browse::CategoryRetrieveParams.dump_request(params)
|
|
26
|
+
@client.request(
|
|
27
|
+
method: :get,
|
|
28
|
+
path: ["browse/categories/%1$s", category_id],
|
|
29
|
+
query: parsed,
|
|
30
|
+
model: Spotted::Models::Browse::CategoryRetrieveResponse,
|
|
31
|
+
options: options
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Some parameter documentations has been truncated, see
|
|
36
|
+
# {Spotted::Models::Browse::CategoryListParams} for more details.
|
|
37
|
+
#
|
|
38
|
+
# Get a list of categories used to tag items in Spotify (on, for example, the
|
|
39
|
+
# Spotify player’s “Browse” tab).
|
|
40
|
+
#
|
|
41
|
+
# @overload list(limit: nil, locale: nil, offset: nil, request_options: {})
|
|
42
|
+
#
|
|
43
|
+
# @param limit [Integer] The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
|
|
44
|
+
#
|
|
45
|
+
# @param locale [String] The desired language, consisting of an [ISO 639-1](http://en.wikipedia.org/wiki/
|
|
46
|
+
#
|
|
47
|
+
# @param offset [Integer] The index of the first item to return. Default: 0 (the first item). Use with lim
|
|
48
|
+
#
|
|
49
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
50
|
+
#
|
|
51
|
+
# @return [Spotted::Models::Browse::CategoryListResponse]
|
|
52
|
+
#
|
|
53
|
+
# @see Spotted::Models::Browse::CategoryListParams
|
|
54
|
+
def list(params = {})
|
|
55
|
+
parsed, options = Spotted::Browse::CategoryListParams.dump_request(params)
|
|
56
|
+
@client.request(
|
|
57
|
+
method: :get,
|
|
58
|
+
path: "browse/categories",
|
|
59
|
+
query: parsed,
|
|
60
|
+
model: Spotted::Models::Browse::CategoryListResponse,
|
|
61
|
+
options: options
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# @deprecated
|
|
66
|
+
#
|
|
67
|
+
# Some parameter documentations has been truncated, see
|
|
68
|
+
# {Spotted::Models::Browse::CategoryGetPlaylistsParams} for more details.
|
|
69
|
+
#
|
|
70
|
+
# Get a list of Spotify playlists tagged with a particular category.
|
|
71
|
+
#
|
|
72
|
+
# @overload get_playlists(category_id, limit: nil, offset: nil, request_options: {})
|
|
73
|
+
#
|
|
74
|
+
# @param category_id [String] The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) for
|
|
75
|
+
#
|
|
76
|
+
# @param limit [Integer] The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
|
|
77
|
+
#
|
|
78
|
+
# @param offset [Integer] The index of the first item to return. Default: 0 (the first item). Use with lim
|
|
79
|
+
#
|
|
80
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
81
|
+
#
|
|
82
|
+
# @return [Spotted::Models::Browse::CategoryGetPlaylistsResponse]
|
|
83
|
+
#
|
|
84
|
+
# @see Spotted::Models::Browse::CategoryGetPlaylistsParams
|
|
85
|
+
def get_playlists(category_id, params = {})
|
|
86
|
+
parsed, options = Spotted::Browse::CategoryGetPlaylistsParams.dump_request(params)
|
|
87
|
+
@client.request(
|
|
88
|
+
method: :get,
|
|
89
|
+
path: ["browse/categories/%1$s/playlists", category_id],
|
|
90
|
+
query: parsed,
|
|
91
|
+
model: Spotted::Models::Browse::CategoryGetPlaylistsResponse,
|
|
92
|
+
options: options
|
|
93
|
+
)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# @api private
|
|
97
|
+
#
|
|
98
|
+
# @param client [Spotted::Client]
|
|
99
|
+
def initialize(client:)
|
|
100
|
+
@client = client
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|