spotify-api-sdk 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.
- checksums.yaml +7 -0
- data/LICENSE +30 -0
- data/README.md +107 -0
- data/lib/spotify_web_api/api_helper.rb +10 -0
- data/lib/spotify_web_api/client.rb +154 -0
- data/lib/spotify_web_api/configuration.rb +180 -0
- data/lib/spotify_web_api/controllers/albums_controller.rb +295 -0
- data/lib/spotify_web_api/controllers/artists_controller.rb +187 -0
- data/lib/spotify_web_api/controllers/audiobooks_controller.rb +258 -0
- data/lib/spotify_web_api/controllers/base_controller.rb +66 -0
- data/lib/spotify_web_api/controllers/categories_controller.rb +83 -0
- data/lib/spotify_web_api/controllers/chapters_controller.rb +82 -0
- data/lib/spotify_web_api/controllers/episodes_controller.rb +239 -0
- data/lib/spotify_web_api/controllers/genres_controller.rb +39 -0
- data/lib/spotify_web_api/controllers/markets_controller.rb +38 -0
- data/lib/spotify_web_api/controllers/o_auth_authorization_controller.rb +82 -0
- data/lib/spotify_web_api/controllers/player_controller.rb +509 -0
- data/lib/spotify_web_api/controllers/playlists_controller.rb +521 -0
- data/lib/spotify_web_api/controllers/search_controller.rb +60 -0
- data/lib/spotify_web_api/controllers/shows_controller.rb +261 -0
- data/lib/spotify_web_api/controllers/tracks_controller.rb +491 -0
- data/lib/spotify_web_api/controllers/users_controller.rb +396 -0
- data/lib/spotify_web_api/exceptions/api_exception.rb +10 -0
- data/lib/spotify_web_api/exceptions/bad_request_exception.rb +32 -0
- data/lib/spotify_web_api/exceptions/forbidden_exception.rb +32 -0
- data/lib/spotify_web_api/exceptions/not_found_exception.rb +32 -0
- data/lib/spotify_web_api/exceptions/o_auth_provider_exception.rb +48 -0
- data/lib/spotify_web_api/exceptions/too_many_requests_exception.rb +32 -0
- data/lib/spotify_web_api/exceptions/unauthorized_exception.rb +32 -0
- data/lib/spotify_web_api/http/api_response.rb +21 -0
- data/lib/spotify_web_api/http/auth/o_auth2.rb +146 -0
- data/lib/spotify_web_api/http/http_call_back.rb +10 -0
- data/lib/spotify_web_api/http/http_method_enum.rb +10 -0
- data/lib/spotify_web_api/http/http_request.rb +10 -0
- data/lib/spotify_web_api/http/http_response.rb +10 -0
- data/lib/spotify_web_api/models/album_base.rb +168 -0
- data/lib/spotify_web_api/models/album_group_enum.rb +29 -0
- data/lib/spotify_web_api/models/album_object.rb +247 -0
- data/lib/spotify_web_api/models/album_restriction_object.rb +53 -0
- data/lib/spotify_web_api/models/album_type_enum.rb +26 -0
- data/lib/spotify_web_api/models/artist_discography_album_object.rb +194 -0
- data/lib/spotify_web_api/models/artist_object.rb +147 -0
- data/lib/spotify_web_api/models/audio_analysis_object.rb +156 -0
- data/lib/spotify_web_api/models/audio_features_object.rb +249 -0
- data/lib/spotify_web_api/models/audiobook_base.rb +245 -0
- data/lib/spotify_web_api/models/audiobook_object.rb +253 -0
- data/lib/spotify_web_api/models/author_object.rb +50 -0
- data/lib/spotify_web_api/models/base_model.rb +62 -0
- data/lib/spotify_web_api/models/categories.rb +110 -0
- data/lib/spotify_web_api/models/category_object.rb +82 -0
- data/lib/spotify_web_api/models/chapter_base.rb +237 -0
- data/lib/spotify_web_api/models/chapter_object.rb +245 -0
- data/lib/spotify_web_api/models/chapter_restriction_object.rb +59 -0
- data/lib/spotify_web_api/models/context_object.rb +78 -0
- data/lib/spotify_web_api/models/copyright_object.rb +60 -0
- data/lib/spotify_web_api/models/currently_playing_context_object.rb +137 -0
- data/lib/spotify_web_api/models/currently_playing_object.rb +109 -0
- data/lib/spotify_web_api/models/cursor_object.rb +59 -0
- data/lib/spotify_web_api/models/cursor_paged_artists.rb +48 -0
- data/lib/spotify_web_api/models/cursor_paging_object.rb +88 -0
- data/lib/spotify_web_api/models/cursor_paging_play_history_object.rb +106 -0
- data/lib/spotify_web_api/models/cursor_paging_simplified_artist_object.rb +106 -0
- data/lib/spotify_web_api/models/device_object.rb +126 -0
- data/lib/spotify_web_api/models/disallows_object.rb +140 -0
- data/lib/spotify_web_api/models/episode_base.rb +237 -0
- data/lib/spotify_web_api/models/episode_object.rb +246 -0
- data/lib/spotify_web_api/models/episode_restriction_object.rb +58 -0
- data/lib/spotify_web_api/models/error_object.rb +59 -0
- data/lib/spotify_web_api/models/explicit_content_settings_object.rb +61 -0
- data/lib/spotify_web_api/models/external_id_object.rb +72 -0
- data/lib/spotify_web_api/models/external_url_object.rb +51 -0
- data/lib/spotify_web_api/models/followers_object.rb +62 -0
- data/lib/spotify_web_api/models/image_object.rb +67 -0
- data/lib/spotify_web_api/models/include_external_enum.rb +23 -0
- data/lib/spotify_web_api/models/item_type1_enum.rb +20 -0
- data/lib/spotify_web_api/models/item_type2_enum.rb +23 -0
- data/lib/spotify_web_api/models/item_type3_enum.rb +23 -0
- data/lib/spotify_web_api/models/item_type_enum.rb +38 -0
- data/lib/spotify_web_api/models/linked_track_object.rb +89 -0
- data/lib/spotify_web_api/models/many_albums.rb +57 -0
- data/lib/spotify_web_api/models/many_artists.rb +57 -0
- data/lib/spotify_web_api/models/many_audio_features.rb +57 -0
- data/lib/spotify_web_api/models/many_audiobooks.rb +57 -0
- data/lib/spotify_web_api/models/many_chapters.rb +57 -0
- data/lib/spotify_web_api/models/many_devices.rb +57 -0
- data/lib/spotify_web_api/models/many_episodes.rb +57 -0
- data/lib/spotify_web_api/models/many_genres.rb +48 -0
- data/lib/spotify_web_api/models/many_simplified_shows.rb +57 -0
- data/lib/spotify_web_api/models/many_tracks.rb +57 -0
- data/lib/spotify_web_api/models/markets.rb +50 -0
- data/lib/spotify_web_api/models/me_albums_request.rb +55 -0
- data/lib/spotify_web_api/models/me_episodes_request.rb +52 -0
- data/lib/spotify_web_api/models/me_episodes_request1.rb +54 -0
- data/lib/spotify_web_api/models/me_following_request.rb +53 -0
- data/lib/spotify_web_api/models/me_following_request1.rb +55 -0
- data/lib/spotify_web_api/models/me_player_play_request.rb +89 -0
- data/lib/spotify_web_api/models/me_player_request.rb +63 -0
- data/lib/spotify_web_api/models/me_shows_request.rb +55 -0
- data/lib/spotify_web_api/models/me_tracks_request.rb +53 -0
- data/lib/spotify_web_api/models/me_tracks_request1.rb +55 -0
- data/lib/spotify_web_api/models/meta.rb +110 -0
- data/lib/spotify_web_api/models/mode_enum.rb +30 -0
- data/lib/spotify_web_api/models/narrator_object.rb +50 -0
- data/lib/spotify_web_api/models/o_auth_provider_error_enum.rb +45 -0
- data/lib/spotify_web_api/models/o_auth_scope_enum.rb +94 -0
- data/lib/spotify_web_api/models/o_auth_token.rb +96 -0
- data/lib/spotify_web_api/models/paged_albums.rb +48 -0
- data/lib/spotify_web_api/models/paged_categories.rb +48 -0
- data/lib/spotify_web_api/models/paging_artist_discography_album_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_artist_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_featured_playlist_object.rb +59 -0
- data/lib/spotify_web_api/models/paging_object.rb +93 -0
- data/lib/spotify_web_api/models/paging_playlist_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_playlist_track_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_saved_album_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_saved_audiobook_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_saved_episode_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_saved_show_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_saved_track_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_simplified_album_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_simplified_audiobook_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_simplified_chapter_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_simplified_episode_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_simplified_show_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_simplified_track_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_track_object.rb +110 -0
- data/lib/spotify_web_api/models/play_history_object.rb +77 -0
- data/lib/spotify_web_api/models/playlist_object.rb +193 -0
- data/lib/spotify_web_api/models/playlist_owner_object.rb +109 -0
- data/lib/spotify_web_api/models/playlist_snapshot_id.rb +50 -0
- data/lib/spotify_web_api/models/playlist_track_object.rb +90 -0
- data/lib/spotify_web_api/models/playlist_tracks_ref_object.rb +60 -0
- data/lib/spotify_web_api/models/playlist_user_object.rb +98 -0
- data/lib/spotify_web_api/models/playlists_followers_request.rb +51 -0
- data/lib/spotify_web_api/models/playlists_request.rb +82 -0
- data/lib/spotify_web_api/models/playlists_tracks_request.rb +72 -0
- data/lib/spotify_web_api/models/playlists_tracks_request1.rb +97 -0
- data/lib/spotify_web_api/models/playlists_tracks_request2.rb +75 -0
- data/lib/spotify_web_api/models/private_user_object.rb +181 -0
- data/lib/spotify_web_api/models/public_user_object.rb +128 -0
- data/lib/spotify_web_api/models/queue_object.rb +60 -0
- data/lib/spotify_web_api/models/reason_enum.rb +29 -0
- data/lib/spotify_web_api/models/recommendation_seed_object.rb +104 -0
- data/lib/spotify_web_api/models/recommendations_object.rb +74 -0
- data/lib/spotify_web_api/models/release_date_precision_enum.rb +26 -0
- data/lib/spotify_web_api/models/resume_point_object.rb +60 -0
- data/lib/spotify_web_api/models/saved_album_object.rb +73 -0
- data/lib/spotify_web_api/models/saved_audiobook_object.rb +73 -0
- data/lib/spotify_web_api/models/saved_episode_object.rb +70 -0
- data/lib/spotify_web_api/models/saved_show_object.rb +73 -0
- data/lib/spotify_web_api/models/saved_track_object.rb +73 -0
- data/lib/spotify_web_api/models/search_items.rb +107 -0
- data/lib/spotify_web_api/models/section_object.rb +180 -0
- data/lib/spotify_web_api/models/segment_object.rb +166 -0
- data/lib/spotify_web_api/models/show_base.rb +211 -0
- data/lib/spotify_web_api/models/show_object.rb +219 -0
- data/lib/spotify_web_api/models/simplified_album_object.rb +186 -0
- data/lib/spotify_web_api/models/simplified_artist_object.rb +98 -0
- data/lib/spotify_web_api/models/simplified_playlist_object.rb +184 -0
- data/lib/spotify_web_api/models/simplified_track_object.rb +227 -0
- data/lib/spotify_web_api/models/time_interval_object.rb +68 -0
- data/lib/spotify_web_api/models/track.rb +331 -0
- data/lib/spotify_web_api/models/track1.rb +50 -0
- data/lib/spotify_web_api/models/track_object.rb +265 -0
- data/lib/spotify_web_api/models/track_restriction_object.rb +58 -0
- data/lib/spotify_web_api/models/type2_enum.rb +20 -0
- data/lib/spotify_web_api/models/type3_enum.rb +20 -0
- data/lib/spotify_web_api/models/type4_enum.rb +20 -0
- data/lib/spotify_web_api/models/type6_enum.rb +20 -0
- data/lib/spotify_web_api/models/type7_enum.rb +20 -0
- data/lib/spotify_web_api/models/type8_enum.rb +20 -0
- data/lib/spotify_web_api/models/type9_enum.rb +20 -0
- data/lib/spotify_web_api/models/type_enum.rb +20 -0
- data/lib/spotify_web_api/models/users_playlists_request.rb +87 -0
- data/lib/spotify_web_api/utilities/date_time_helper.rb +11 -0
- data/lib/spotify_web_api/utilities/file_wrapper.rb +16 -0
- data/lib/spotify_web_api.rb +198 -0
- metadata +264 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# spotify_web_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SpotifyWebApi
|
|
7
|
+
# PlaylistOwnerObject Model.
|
|
8
|
+
class PlaylistOwnerObject < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Known public external URLs for this user.
|
|
13
|
+
# @return [ExternalUrlObject]
|
|
14
|
+
attr_accessor :external_urls
|
|
15
|
+
|
|
16
|
+
# Information about the followers of this user.
|
|
17
|
+
# @return [FollowersObject]
|
|
18
|
+
attr_accessor :followers
|
|
19
|
+
|
|
20
|
+
# A link to the Web API endpoint for this user.
|
|
21
|
+
# @return [String]
|
|
22
|
+
attr_accessor :href
|
|
23
|
+
|
|
24
|
+
# The [Spotify user ID](/documentation/web-api/concepts/spotify-uris-ids)
|
|
25
|
+
# for this user.
|
|
26
|
+
# @return [String]
|
|
27
|
+
attr_accessor :id
|
|
28
|
+
|
|
29
|
+
# The object type.
|
|
30
|
+
# @return [Type4Enum]
|
|
31
|
+
attr_accessor :type
|
|
32
|
+
|
|
33
|
+
# The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for
|
|
34
|
+
# this user.
|
|
35
|
+
# @return [String]
|
|
36
|
+
attr_accessor :uri
|
|
37
|
+
|
|
38
|
+
# The name displayed on the user's profile. `null` if not available.
|
|
39
|
+
# @return [String]
|
|
40
|
+
attr_accessor :display_name
|
|
41
|
+
|
|
42
|
+
# A mapping from model property names to API property names.
|
|
43
|
+
def self.names
|
|
44
|
+
@_hash = {} if @_hash.nil?
|
|
45
|
+
@_hash['external_urls'] = 'external_urls'
|
|
46
|
+
@_hash['followers'] = 'followers'
|
|
47
|
+
@_hash['href'] = 'href'
|
|
48
|
+
@_hash['id'] = 'id'
|
|
49
|
+
@_hash['type'] = 'type'
|
|
50
|
+
@_hash['uri'] = 'uri'
|
|
51
|
+
@_hash['display_name'] = 'display_name'
|
|
52
|
+
@_hash
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# An array for optional fields
|
|
56
|
+
def self.optionals
|
|
57
|
+
%w[
|
|
58
|
+
external_urls
|
|
59
|
+
followers
|
|
60
|
+
href
|
|
61
|
+
id
|
|
62
|
+
type
|
|
63
|
+
uri
|
|
64
|
+
display_name
|
|
65
|
+
]
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# An array for nullable fields
|
|
69
|
+
def self.nullables
|
|
70
|
+
%w[
|
|
71
|
+
display_name
|
|
72
|
+
]
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def initialize(external_urls = SKIP, followers = SKIP, href = SKIP,
|
|
76
|
+
id = SKIP, type = SKIP, uri = SKIP, display_name = SKIP)
|
|
77
|
+
@external_urls = external_urls unless external_urls == SKIP
|
|
78
|
+
@followers = followers unless followers == SKIP
|
|
79
|
+
@href = href unless href == SKIP
|
|
80
|
+
@id = id unless id == SKIP
|
|
81
|
+
@type = type unless type == SKIP
|
|
82
|
+
@uri = uri unless uri == SKIP
|
|
83
|
+
@display_name = display_name unless display_name == SKIP
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# Creates an instance of the object from a hash.
|
|
87
|
+
def self.from_hash(hash)
|
|
88
|
+
return nil unless hash
|
|
89
|
+
|
|
90
|
+
# Extract variables from the hash.
|
|
91
|
+
external_urls = ExternalUrlObject.from_hash(hash['external_urls']) if hash['external_urls']
|
|
92
|
+
followers = FollowersObject.from_hash(hash['followers']) if hash['followers']
|
|
93
|
+
href = hash.key?('href') ? hash['href'] : SKIP
|
|
94
|
+
id = hash.key?('id') ? hash['id'] : SKIP
|
|
95
|
+
type = hash.key?('type') ? hash['type'] : SKIP
|
|
96
|
+
uri = hash.key?('uri') ? hash['uri'] : SKIP
|
|
97
|
+
display_name = hash.key?('display_name') ? hash['display_name'] : SKIP
|
|
98
|
+
|
|
99
|
+
# Create object from extracted values.
|
|
100
|
+
PlaylistOwnerObject.new(external_urls,
|
|
101
|
+
followers,
|
|
102
|
+
href,
|
|
103
|
+
id,
|
|
104
|
+
type,
|
|
105
|
+
uri,
|
|
106
|
+
display_name)
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# spotify_web_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SpotifyWebApi
|
|
7
|
+
# PlaylistSnapshotId Model.
|
|
8
|
+
class PlaylistSnapshotId < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# TODO: Write general description for this method
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :snapshot_id
|
|
15
|
+
|
|
16
|
+
# A mapping from model property names to API property names.
|
|
17
|
+
def self.names
|
|
18
|
+
@_hash = {} if @_hash.nil?
|
|
19
|
+
@_hash['snapshot_id'] = 'snapshot_id'
|
|
20
|
+
@_hash
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# An array for optional fields
|
|
24
|
+
def self.optionals
|
|
25
|
+
%w[
|
|
26
|
+
snapshot_id
|
|
27
|
+
]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# An array for nullable fields
|
|
31
|
+
def self.nullables
|
|
32
|
+
[]
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def initialize(snapshot_id = SKIP)
|
|
36
|
+
@snapshot_id = snapshot_id unless snapshot_id == SKIP
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Creates an instance of the object from a hash.
|
|
40
|
+
def self.from_hash(hash)
|
|
41
|
+
return nil unless hash
|
|
42
|
+
|
|
43
|
+
# Extract variables from the hash.
|
|
44
|
+
snapshot_id = hash.key?('snapshot_id') ? hash['snapshot_id'] : SKIP
|
|
45
|
+
|
|
46
|
+
# Create object from extracted values.
|
|
47
|
+
PlaylistSnapshotId.new(snapshot_id)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# spotify_web_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require 'date'
|
|
7
|
+
module SpotifyWebApi
|
|
8
|
+
# PlaylistTrackObject Model.
|
|
9
|
+
class PlaylistTrackObject < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
13
|
+
# The date and time the track or episode was added. _**Note**: some very old
|
|
14
|
+
# playlists may return `null` in this field._
|
|
15
|
+
# @return [DateTime]
|
|
16
|
+
attr_accessor :added_at
|
|
17
|
+
|
|
18
|
+
# The Spotify user who added the track or episode. _**Note**: some very old
|
|
19
|
+
# playlists may return `null` in this field._
|
|
20
|
+
# @return [PlaylistUserObject]
|
|
21
|
+
attr_accessor :added_by
|
|
22
|
+
|
|
23
|
+
# Whether this track or episode is a [local
|
|
24
|
+
# file](/documentation/web-api/concepts/playlists/#local-files) or not.
|
|
25
|
+
# @return [TrueClass | FalseClass]
|
|
26
|
+
attr_accessor :is_local
|
|
27
|
+
|
|
28
|
+
# Information about the track or episode.
|
|
29
|
+
# @return [Object]
|
|
30
|
+
attr_accessor :track
|
|
31
|
+
|
|
32
|
+
# A mapping from model property names to API property names.
|
|
33
|
+
def self.names
|
|
34
|
+
@_hash = {} if @_hash.nil?
|
|
35
|
+
@_hash['added_at'] = 'added_at'
|
|
36
|
+
@_hash['added_by'] = 'added_by'
|
|
37
|
+
@_hash['is_local'] = 'is_local'
|
|
38
|
+
@_hash['track'] = 'track'
|
|
39
|
+
@_hash
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# An array for optional fields
|
|
43
|
+
def self.optionals
|
|
44
|
+
%w[
|
|
45
|
+
added_at
|
|
46
|
+
added_by
|
|
47
|
+
is_local
|
|
48
|
+
track
|
|
49
|
+
]
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# An array for nullable fields
|
|
53
|
+
def self.nullables
|
|
54
|
+
[]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def initialize(added_at = SKIP, added_by = SKIP, is_local = SKIP,
|
|
58
|
+
track = SKIP)
|
|
59
|
+
@added_at = added_at unless added_at == SKIP
|
|
60
|
+
@added_by = added_by unless added_by == SKIP
|
|
61
|
+
@is_local = is_local unless is_local == SKIP
|
|
62
|
+
@track = track unless track == SKIP
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Creates an instance of the object from a hash.
|
|
66
|
+
def self.from_hash(hash)
|
|
67
|
+
return nil unless hash
|
|
68
|
+
|
|
69
|
+
# Extract variables from the hash.
|
|
70
|
+
added_at = if hash.key?('added_at')
|
|
71
|
+
(DateTimeHelper.from_rfc3339(hash['added_at']) if hash['added_at'])
|
|
72
|
+
else
|
|
73
|
+
SKIP
|
|
74
|
+
end
|
|
75
|
+
added_by = PlaylistUserObject.from_hash(hash['added_by']) if hash['added_by']
|
|
76
|
+
is_local = hash.key?('is_local') ? hash['is_local'] : SKIP
|
|
77
|
+
track = hash.key?('track') ? hash['track'] : SKIP
|
|
78
|
+
|
|
79
|
+
# Create object from extracted values.
|
|
80
|
+
PlaylistTrackObject.new(added_at,
|
|
81
|
+
added_by,
|
|
82
|
+
is_local,
|
|
83
|
+
track)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def to_custom_added_at
|
|
87
|
+
DateTimeHelper.to_rfc3339(added_at)
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# spotify_web_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SpotifyWebApi
|
|
7
|
+
# PlaylistTracksRefObject Model.
|
|
8
|
+
class PlaylistTracksRefObject < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# A link to the Web API endpoint where full details of the playlist's tracks
|
|
13
|
+
# can be retrieved.
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :href
|
|
16
|
+
|
|
17
|
+
# Number of tracks in the playlist.
|
|
18
|
+
# @return [Integer]
|
|
19
|
+
attr_accessor :total
|
|
20
|
+
|
|
21
|
+
# A mapping from model property names to API property names.
|
|
22
|
+
def self.names
|
|
23
|
+
@_hash = {} if @_hash.nil?
|
|
24
|
+
@_hash['href'] = 'href'
|
|
25
|
+
@_hash['total'] = 'total'
|
|
26
|
+
@_hash
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# An array for optional fields
|
|
30
|
+
def self.optionals
|
|
31
|
+
%w[
|
|
32
|
+
href
|
|
33
|
+
total
|
|
34
|
+
]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# An array for nullable fields
|
|
38
|
+
def self.nullables
|
|
39
|
+
[]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def initialize(href = SKIP, total = SKIP)
|
|
43
|
+
@href = href unless href == SKIP
|
|
44
|
+
@total = total unless total == SKIP
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Creates an instance of the object from a hash.
|
|
48
|
+
def self.from_hash(hash)
|
|
49
|
+
return nil unless hash
|
|
50
|
+
|
|
51
|
+
# Extract variables from the hash.
|
|
52
|
+
href = hash.key?('href') ? hash['href'] : SKIP
|
|
53
|
+
total = hash.key?('total') ? hash['total'] : SKIP
|
|
54
|
+
|
|
55
|
+
# Create object from extracted values.
|
|
56
|
+
PlaylistTracksRefObject.new(href,
|
|
57
|
+
total)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# spotify_web_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SpotifyWebApi
|
|
7
|
+
# PlaylistUserObject Model.
|
|
8
|
+
class PlaylistUserObject < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Known public external URLs for this user.
|
|
13
|
+
# @return [ExternalUrlObject]
|
|
14
|
+
attr_accessor :external_urls
|
|
15
|
+
|
|
16
|
+
# Information about the followers of this user.
|
|
17
|
+
# @return [FollowersObject]
|
|
18
|
+
attr_accessor :followers
|
|
19
|
+
|
|
20
|
+
# A link to the Web API endpoint for this user.
|
|
21
|
+
# @return [String]
|
|
22
|
+
attr_accessor :href
|
|
23
|
+
|
|
24
|
+
# The [Spotify user ID](/documentation/web-api/concepts/spotify-uris-ids)
|
|
25
|
+
# for this user.
|
|
26
|
+
# @return [String]
|
|
27
|
+
attr_accessor :id
|
|
28
|
+
|
|
29
|
+
# The object type.
|
|
30
|
+
# @return [Type4Enum]
|
|
31
|
+
attr_accessor :type
|
|
32
|
+
|
|
33
|
+
# The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for
|
|
34
|
+
# this user.
|
|
35
|
+
# @return [String]
|
|
36
|
+
attr_accessor :uri
|
|
37
|
+
|
|
38
|
+
# A mapping from model property names to API property names.
|
|
39
|
+
def self.names
|
|
40
|
+
@_hash = {} if @_hash.nil?
|
|
41
|
+
@_hash['external_urls'] = 'external_urls'
|
|
42
|
+
@_hash['followers'] = 'followers'
|
|
43
|
+
@_hash['href'] = 'href'
|
|
44
|
+
@_hash['id'] = 'id'
|
|
45
|
+
@_hash['type'] = 'type'
|
|
46
|
+
@_hash['uri'] = 'uri'
|
|
47
|
+
@_hash
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# An array for optional fields
|
|
51
|
+
def self.optionals
|
|
52
|
+
%w[
|
|
53
|
+
external_urls
|
|
54
|
+
followers
|
|
55
|
+
href
|
|
56
|
+
id
|
|
57
|
+
type
|
|
58
|
+
uri
|
|
59
|
+
]
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# An array for nullable fields
|
|
63
|
+
def self.nullables
|
|
64
|
+
[]
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def initialize(external_urls = SKIP, followers = SKIP, href = SKIP,
|
|
68
|
+
id = SKIP, type = SKIP, uri = SKIP)
|
|
69
|
+
@external_urls = external_urls unless external_urls == SKIP
|
|
70
|
+
@followers = followers unless followers == SKIP
|
|
71
|
+
@href = href unless href == SKIP
|
|
72
|
+
@id = id unless id == SKIP
|
|
73
|
+
@type = type unless type == SKIP
|
|
74
|
+
@uri = uri unless uri == SKIP
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Creates an instance of the object from a hash.
|
|
78
|
+
def self.from_hash(hash)
|
|
79
|
+
return nil unless hash
|
|
80
|
+
|
|
81
|
+
# Extract variables from the hash.
|
|
82
|
+
external_urls = ExternalUrlObject.from_hash(hash['external_urls']) if hash['external_urls']
|
|
83
|
+
followers = FollowersObject.from_hash(hash['followers']) if hash['followers']
|
|
84
|
+
href = hash.key?('href') ? hash['href'] : SKIP
|
|
85
|
+
id = hash.key?('id') ? hash['id'] : SKIP
|
|
86
|
+
type = hash.key?('type') ? hash['type'] : SKIP
|
|
87
|
+
uri = hash.key?('uri') ? hash['uri'] : SKIP
|
|
88
|
+
|
|
89
|
+
# Create object from extracted values.
|
|
90
|
+
PlaylistUserObject.new(external_urls,
|
|
91
|
+
followers,
|
|
92
|
+
href,
|
|
93
|
+
id,
|
|
94
|
+
type,
|
|
95
|
+
uri)
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# spotify_web_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SpotifyWebApi
|
|
7
|
+
# PlaylistsFollowersRequest Model.
|
|
8
|
+
class PlaylistsFollowersRequest < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Defaults to `true`. If `true` the playlist will be included in user's
|
|
13
|
+
# public playlists, if `false` it will remain private.
|
|
14
|
+
# @return [TrueClass | FalseClass]
|
|
15
|
+
attr_accessor :public
|
|
16
|
+
|
|
17
|
+
# A mapping from model property names to API property names.
|
|
18
|
+
def self.names
|
|
19
|
+
@_hash = {} if @_hash.nil?
|
|
20
|
+
@_hash['public'] = 'public'
|
|
21
|
+
@_hash
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# An array for optional fields
|
|
25
|
+
def self.optionals
|
|
26
|
+
%w[
|
|
27
|
+
public
|
|
28
|
+
]
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# An array for nullable fields
|
|
32
|
+
def self.nullables
|
|
33
|
+
[]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def initialize(public = SKIP)
|
|
37
|
+
@public = public unless public == SKIP
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Creates an instance of the object from a hash.
|
|
41
|
+
def self.from_hash(hash)
|
|
42
|
+
return nil unless hash
|
|
43
|
+
|
|
44
|
+
# Extract variables from the hash.
|
|
45
|
+
public = hash.key?('public') ? hash['public'] : SKIP
|
|
46
|
+
|
|
47
|
+
# Create object from extracted values.
|
|
48
|
+
PlaylistsFollowersRequest.new(public)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# spotify_web_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SpotifyWebApi
|
|
7
|
+
# PlaylistsRequest Model.
|
|
8
|
+
class PlaylistsRequest < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The new name for the playlist, for example `"My New Playlist Title"`
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :name
|
|
15
|
+
|
|
16
|
+
# If `true` the playlist will be public, if `false` it will be private.
|
|
17
|
+
# @return [TrueClass | FalseClass]
|
|
18
|
+
attr_accessor :public
|
|
19
|
+
|
|
20
|
+
# If `true`, the playlist will become collaborative and other users will be
|
|
21
|
+
# able to modify the playlist in their Spotify client. <br/>
|
|
22
|
+
# _**Note**: You can only set `collaborative` to `true` on non-public
|
|
23
|
+
# playlists._
|
|
24
|
+
# @return [TrueClass | FalseClass]
|
|
25
|
+
attr_accessor :collaborative
|
|
26
|
+
|
|
27
|
+
# Value for playlist description as displayed in Spotify Clients and in the
|
|
28
|
+
# Web API.
|
|
29
|
+
# @return [String]
|
|
30
|
+
attr_accessor :description
|
|
31
|
+
|
|
32
|
+
# A mapping from model property names to API property names.
|
|
33
|
+
def self.names
|
|
34
|
+
@_hash = {} if @_hash.nil?
|
|
35
|
+
@_hash['name'] = 'name'
|
|
36
|
+
@_hash['public'] = 'public'
|
|
37
|
+
@_hash['collaborative'] = 'collaborative'
|
|
38
|
+
@_hash['description'] = 'description'
|
|
39
|
+
@_hash
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# An array for optional fields
|
|
43
|
+
def self.optionals
|
|
44
|
+
%w[
|
|
45
|
+
name
|
|
46
|
+
public
|
|
47
|
+
collaborative
|
|
48
|
+
description
|
|
49
|
+
]
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# An array for nullable fields
|
|
53
|
+
def self.nullables
|
|
54
|
+
[]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def initialize(name = SKIP, public = SKIP, collaborative = SKIP,
|
|
58
|
+
description = SKIP)
|
|
59
|
+
@name = name unless name == SKIP
|
|
60
|
+
@public = public unless public == SKIP
|
|
61
|
+
@collaborative = collaborative unless collaborative == SKIP
|
|
62
|
+
@description = description unless description == SKIP
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Creates an instance of the object from a hash.
|
|
66
|
+
def self.from_hash(hash)
|
|
67
|
+
return nil unless hash
|
|
68
|
+
|
|
69
|
+
# Extract variables from the hash.
|
|
70
|
+
name = hash.key?('name') ? hash['name'] : SKIP
|
|
71
|
+
public = hash.key?('public') ? hash['public'] : SKIP
|
|
72
|
+
collaborative = hash.key?('collaborative') ? hash['collaborative'] : SKIP
|
|
73
|
+
description = hash.key?('description') ? hash['description'] : SKIP
|
|
74
|
+
|
|
75
|
+
# Create object from extracted values.
|
|
76
|
+
PlaylistsRequest.new(name,
|
|
77
|
+
public,
|
|
78
|
+
collaborative,
|
|
79
|
+
description)
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# spotify_web_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SpotifyWebApi
|
|
7
|
+
# PlaylistsTracksRequest Model.
|
|
8
|
+
class PlaylistsTracksRequest < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# A JSON array of the [Spotify
|
|
13
|
+
# URIs](/documentation/web-api/concepts/spotify-uris-ids) to add. For
|
|
14
|
+
# example: `{"uris":
|
|
15
|
+
# ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh","spotify:track:1301WleyT98MSxVHPZC
|
|
16
|
+
# A6M", "spotify:episode:512ojhOuo1ktJprKbVcKyQ"]}`<br/>A maximum of 100
|
|
17
|
+
# items can be added in one request. _**Note**: if the `uris` parameter is
|
|
18
|
+
# present in the query string, any URIs listed here in the body will be
|
|
19
|
+
# ignored._
|
|
20
|
+
# @return [Array[String]]
|
|
21
|
+
attr_accessor :uris
|
|
22
|
+
|
|
23
|
+
# The position to insert the items, a zero-based index. For example, to
|
|
24
|
+
# insert the items in the first position: `position=0` ; to insert the items
|
|
25
|
+
# in the third position: `position=2`. If omitted, the items will be
|
|
26
|
+
# appended to the playlist. Items are added in the order they appear in the
|
|
27
|
+
# uris array. For example: `{"uris":
|
|
28
|
+
# ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh","spotify:track:1301WleyT98MSxVHPZC
|
|
29
|
+
# A6M"], "position": 3}`
|
|
30
|
+
# @return [Integer]
|
|
31
|
+
attr_accessor :position
|
|
32
|
+
|
|
33
|
+
# A mapping from model property names to API property names.
|
|
34
|
+
def self.names
|
|
35
|
+
@_hash = {} if @_hash.nil?
|
|
36
|
+
@_hash['uris'] = 'uris'
|
|
37
|
+
@_hash['position'] = 'position'
|
|
38
|
+
@_hash
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# An array for optional fields
|
|
42
|
+
def self.optionals
|
|
43
|
+
%w[
|
|
44
|
+
uris
|
|
45
|
+
position
|
|
46
|
+
]
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# An array for nullable fields
|
|
50
|
+
def self.nullables
|
|
51
|
+
[]
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def initialize(uris = SKIP, position = SKIP)
|
|
55
|
+
@uris = uris unless uris == SKIP
|
|
56
|
+
@position = position unless position == SKIP
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Creates an instance of the object from a hash.
|
|
60
|
+
def self.from_hash(hash)
|
|
61
|
+
return nil unless hash
|
|
62
|
+
|
|
63
|
+
# Extract variables from the hash.
|
|
64
|
+
uris = hash.key?('uris') ? hash['uris'] : SKIP
|
|
65
|
+
position = hash.key?('position') ? hash['position'] : SKIP
|
|
66
|
+
|
|
67
|
+
# Create object from extracted values.
|
|
68
|
+
PlaylistsTracksRequest.new(uris,
|
|
69
|
+
position)
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|