spotted 0.1.0 → 0.2.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 +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +1 -1
- data/lib/spotted/models/audiobook_base.rb +182 -0
- data/lib/spotted/models/audiobook_list_response.rb +2 -174
- data/lib/spotted/models/audiobook_retrieve_response.rb +2 -174
- data/lib/spotted/models/chapter_list_response.rb +3 -183
- data/lib/spotted/models/chapter_retrieve_response.rb +3 -183
- data/lib/spotted/models/episode_object.rb +3 -166
- data/lib/spotted/models/me/audiobook_list_response.rb +2 -174
- data/lib/spotted/models/me/show_list_response.rb +3 -166
- data/lib/spotted/models/search_retrieve_response.rb +6 -345
- data/lib/spotted/models/show_base.rb +165 -0
- data/lib/spotted/models/show_list_response.rb +3 -163
- data/lib/spotted/models/show_retrieve_response.rb +2 -157
- data/lib/spotted/models.rb +4 -0
- data/lib/spotted/version.rb +1 -1
- data/lib/spotted.rb +2 -0
- data/rbi/spotted/models/audiobook_base.rbi +219 -0
- data/rbi/spotted/models/audiobook_list_response.rbi +4 -212
- data/rbi/spotted/models/audiobook_retrieve_response.rbi +4 -209
- data/rbi/spotted/models/chapter_list_response.rbi +4 -249
- data/rbi/spotted/models/chapter_retrieve_response.rbi +4 -245
- data/rbi/spotted/models/episode_object.rbi +4 -199
- data/rbi/spotted/models/me/audiobook_list_response.rbi +4 -212
- data/rbi/spotted/models/me/show_list_response.rbi +6 -227
- data/rbi/spotted/models/search_retrieve_response.rbi +6 -473
- data/rbi/spotted/models/show_base.rbi +194 -0
- data/rbi/spotted/models/show_list_response.rbi +5 -216
- data/rbi/spotted/models/show_retrieve_response.rbi +4 -182
- data/rbi/spotted/models.rbi +4 -0
- data/sig/spotted/models/audiobook_base.rbs +122 -0
- data/sig/spotted/models/audiobook_list_response.rbs +8 -111
- data/sig/spotted/models/audiobook_retrieve_response.rbs +8 -113
- data/sig/spotted/models/chapter_list_response.rbs +4 -123
- data/sig/spotted/models/chapter_retrieve_response.rbs +4 -123
- data/sig/spotted/models/episode_object.rbs +4 -111
- data/sig/spotted/models/me/audiobook_list_response.rbs +8 -111
- data/sig/spotted/models/me/show_list_response.rbs +5 -121
- data/sig/spotted/models/search_retrieve_response.rbs +8 -234
- data/sig/spotted/models/show_base.rbs +110 -0
- data/sig/spotted/models/show_list_response.rbs +4 -116
- data/sig/spotted/models/show_retrieve_response.rbs +8 -101
- data/sig/spotted/models.rbs +4 -0
- metadata +7 -1
|
@@ -6,171 +6,11 @@ module Spotted
|
|
|
6
6
|
class ShowListResponse < Spotted::Internal::Type::BaseModel
|
|
7
7
|
# @!attribute shows
|
|
8
8
|
#
|
|
9
|
-
# @return [Array<Spotted::Models::
|
|
10
|
-
required :shows, -> { Spotted::Internal::Type::ArrayOf[Spotted::
|
|
9
|
+
# @return [Array<Spotted::Models::ShowBase>]
|
|
10
|
+
required :shows, -> { Spotted::Internal::Type::ArrayOf[Spotted::ShowBase] }
|
|
11
11
|
|
|
12
12
|
# @!method initialize(shows:)
|
|
13
|
-
# @param shows [Array<Spotted::Models::
|
|
14
|
-
|
|
15
|
-
class Show < Spotted::Internal::Type::BaseModel
|
|
16
|
-
# @!attribute id
|
|
17
|
-
# The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the show.
|
|
18
|
-
#
|
|
19
|
-
# @return [String]
|
|
20
|
-
required :id, String
|
|
21
|
-
|
|
22
|
-
# @!attribute available_markets
|
|
23
|
-
# A list of the countries in which the show can be played, identified by their
|
|
24
|
-
# [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
|
|
25
|
-
#
|
|
26
|
-
# @return [Array<String>]
|
|
27
|
-
required :available_markets, Spotted::Internal::Type::ArrayOf[String]
|
|
28
|
-
|
|
29
|
-
# @!attribute copyrights
|
|
30
|
-
# The copyright statements of the show.
|
|
31
|
-
#
|
|
32
|
-
# @return [Array<Spotted::Models::CopyrightObject>]
|
|
33
|
-
required :copyrights, -> { Spotted::Internal::Type::ArrayOf[Spotted::CopyrightObject] }
|
|
34
|
-
|
|
35
|
-
# @!attribute description
|
|
36
|
-
# A description of the show. HTML tags are stripped away from this field, use
|
|
37
|
-
# `html_description` field in case HTML tags are needed.
|
|
38
|
-
#
|
|
39
|
-
# @return [String]
|
|
40
|
-
required :description, String
|
|
41
|
-
|
|
42
|
-
# @!attribute explicit
|
|
43
|
-
# Whether or not the show has explicit content (true = yes it does; false = no it
|
|
44
|
-
# does not OR unknown).
|
|
45
|
-
#
|
|
46
|
-
# @return [Boolean]
|
|
47
|
-
required :explicit, Spotted::Internal::Type::Boolean
|
|
48
|
-
|
|
49
|
-
# @!attribute external_urls
|
|
50
|
-
# External URLs for this show.
|
|
51
|
-
#
|
|
52
|
-
# @return [Spotted::Models::ExternalURLObject]
|
|
53
|
-
required :external_urls, -> { Spotted::ExternalURLObject }
|
|
54
|
-
|
|
55
|
-
# @!attribute href
|
|
56
|
-
# A link to the Web API endpoint providing full details of the show.
|
|
57
|
-
#
|
|
58
|
-
# @return [String]
|
|
59
|
-
required :href, String
|
|
60
|
-
|
|
61
|
-
# @!attribute html_description
|
|
62
|
-
# A description of the show. This field may contain HTML tags.
|
|
63
|
-
#
|
|
64
|
-
# @return [String]
|
|
65
|
-
required :html_description, String
|
|
66
|
-
|
|
67
|
-
# @!attribute images
|
|
68
|
-
# The cover art for the show in various sizes, widest first.
|
|
69
|
-
#
|
|
70
|
-
# @return [Array<Spotted::Models::ImageObject>]
|
|
71
|
-
required :images, -> { Spotted::Internal::Type::ArrayOf[Spotted::ImageObject] }
|
|
72
|
-
|
|
73
|
-
# @!attribute is_externally_hosted
|
|
74
|
-
# True if all of the shows episodes are hosted outside of Spotify's CDN. This
|
|
75
|
-
# field might be `null` in some cases.
|
|
76
|
-
#
|
|
77
|
-
# @return [Boolean]
|
|
78
|
-
required :is_externally_hosted, Spotted::Internal::Type::Boolean
|
|
79
|
-
|
|
80
|
-
# @!attribute languages
|
|
81
|
-
# A list of the languages used in the show, identified by their
|
|
82
|
-
# [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
|
|
83
|
-
#
|
|
84
|
-
# @return [Array<String>]
|
|
85
|
-
required :languages, Spotted::Internal::Type::ArrayOf[String]
|
|
86
|
-
|
|
87
|
-
# @!attribute media_type
|
|
88
|
-
# The media type of the show.
|
|
89
|
-
#
|
|
90
|
-
# @return [String]
|
|
91
|
-
required :media_type, String
|
|
92
|
-
|
|
93
|
-
# @!attribute name
|
|
94
|
-
# The name of the episode.
|
|
95
|
-
#
|
|
96
|
-
# @return [String]
|
|
97
|
-
required :name, String
|
|
98
|
-
|
|
99
|
-
# @!attribute publisher
|
|
100
|
-
# The publisher of the show.
|
|
101
|
-
#
|
|
102
|
-
# @return [String]
|
|
103
|
-
required :publisher, String
|
|
104
|
-
|
|
105
|
-
# @!attribute total_episodes
|
|
106
|
-
# The total number of episodes in the show.
|
|
107
|
-
#
|
|
108
|
-
# @return [Integer]
|
|
109
|
-
required :total_episodes, Integer
|
|
110
|
-
|
|
111
|
-
# @!attribute type
|
|
112
|
-
# The object type.
|
|
113
|
-
#
|
|
114
|
-
# @return [Symbol, Spotted::Models::ShowListResponse::Show::Type]
|
|
115
|
-
required :type, enum: -> { Spotted::Models::ShowListResponse::Show::Type }
|
|
116
|
-
|
|
117
|
-
# @!attribute uri
|
|
118
|
-
# The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
|
|
119
|
-
# show.
|
|
120
|
-
#
|
|
121
|
-
# @return [String]
|
|
122
|
-
required :uri, String
|
|
123
|
-
|
|
124
|
-
# @!method initialize(id:, available_markets:, copyrights:, description:, explicit:, external_urls:, href:, html_description:, images:, is_externally_hosted:, languages:, media_type:, name:, publisher:, total_episodes:, type:, uri:)
|
|
125
|
-
# Some parameter documentations has been truncated, see
|
|
126
|
-
# {Spotted::Models::ShowListResponse::Show} for more details.
|
|
127
|
-
#
|
|
128
|
-
# @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the show.
|
|
129
|
-
#
|
|
130
|
-
# @param available_markets [Array<String>] A list of the countries in which the show can be played, identified by their [IS
|
|
131
|
-
#
|
|
132
|
-
# @param copyrights [Array<Spotted::Models::CopyrightObject>] The copyright statements of the show.
|
|
133
|
-
#
|
|
134
|
-
# @param description [String] A description of the show. HTML tags are stripped away from this field, use `htm
|
|
135
|
-
#
|
|
136
|
-
# @param explicit [Boolean] Whether or not the show has explicit content (true = yes it does; false = no it
|
|
137
|
-
#
|
|
138
|
-
# @param external_urls [Spotted::Models::ExternalURLObject] External URLs for this show.
|
|
139
|
-
#
|
|
140
|
-
# @param href [String] A link to the Web API endpoint providing full details of the show.
|
|
141
|
-
#
|
|
142
|
-
# @param html_description [String] A description of the show. This field may contain HTML tags.
|
|
143
|
-
#
|
|
144
|
-
# @param images [Array<Spotted::Models::ImageObject>] The cover art for the show in various sizes, widest first.
|
|
145
|
-
#
|
|
146
|
-
# @param is_externally_hosted [Boolean] True if all of the shows episodes are hosted outside of Spotify's CDN. This fiel
|
|
147
|
-
#
|
|
148
|
-
# @param languages [Array<String>] A list of the languages used in the show, identified by their [ISO 639](https://
|
|
149
|
-
#
|
|
150
|
-
# @param media_type [String] The media type of the show.
|
|
151
|
-
#
|
|
152
|
-
# @param name [String] The name of the episode.
|
|
153
|
-
#
|
|
154
|
-
# @param publisher [String] The publisher of the show.
|
|
155
|
-
#
|
|
156
|
-
# @param total_episodes [Integer] The total number of episodes in the show.
|
|
157
|
-
#
|
|
158
|
-
# @param type [Symbol, Spotted::Models::ShowListResponse::Show::Type] The object type.
|
|
159
|
-
#
|
|
160
|
-
# @param uri [String] The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the show
|
|
161
|
-
|
|
162
|
-
# The object type.
|
|
163
|
-
#
|
|
164
|
-
# @see Spotted::Models::ShowListResponse::Show#type
|
|
165
|
-
module Type
|
|
166
|
-
extend Spotted::Internal::Type::Enum
|
|
167
|
-
|
|
168
|
-
SHOW = :show
|
|
169
|
-
|
|
170
|
-
# @!method self.values
|
|
171
|
-
# @return [Array<Symbol>]
|
|
172
|
-
end
|
|
173
|
-
end
|
|
13
|
+
# @param shows [Array<Spotted::Models::ShowBase>]
|
|
174
14
|
end
|
|
175
15
|
end
|
|
176
16
|
end
|
|
@@ -3,162 +3,19 @@
|
|
|
3
3
|
module Spotted
|
|
4
4
|
module Models
|
|
5
5
|
# @see Spotted::Resources::Shows#retrieve
|
|
6
|
-
class ShowRetrieveResponse < Spotted::
|
|
7
|
-
# @!attribute id
|
|
8
|
-
# The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the show.
|
|
9
|
-
#
|
|
10
|
-
# @return [String]
|
|
11
|
-
required :id, String
|
|
12
|
-
|
|
13
|
-
# @!attribute available_markets
|
|
14
|
-
# A list of the countries in which the show can be played, identified by their
|
|
15
|
-
# [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.
|
|
16
|
-
#
|
|
17
|
-
# @return [Array<String>]
|
|
18
|
-
required :available_markets, Spotted::Internal::Type::ArrayOf[String]
|
|
19
|
-
|
|
20
|
-
# @!attribute copyrights
|
|
21
|
-
# The copyright statements of the show.
|
|
22
|
-
#
|
|
23
|
-
# @return [Array<Spotted::Models::CopyrightObject>]
|
|
24
|
-
required :copyrights, -> { Spotted::Internal::Type::ArrayOf[Spotted::CopyrightObject] }
|
|
25
|
-
|
|
26
|
-
# @!attribute description
|
|
27
|
-
# A description of the show. HTML tags are stripped away from this field, use
|
|
28
|
-
# `html_description` field in case HTML tags are needed.
|
|
29
|
-
#
|
|
30
|
-
# @return [String]
|
|
31
|
-
required :description, String
|
|
32
|
-
|
|
6
|
+
class ShowRetrieveResponse < Spotted::Models::ShowBase
|
|
33
7
|
# @!attribute episodes
|
|
34
8
|
# The episodes of the show.
|
|
35
9
|
#
|
|
36
10
|
# @return [Spotted::Models::ShowRetrieveResponse::Episodes]
|
|
37
11
|
required :episodes, -> { Spotted::Models::ShowRetrieveResponse::Episodes }
|
|
38
12
|
|
|
39
|
-
# @!
|
|
40
|
-
# Whether or not the show has explicit content (true = yes it does; false = no it
|
|
41
|
-
# does not OR unknown).
|
|
42
|
-
#
|
|
43
|
-
# @return [Boolean]
|
|
44
|
-
required :explicit, Spotted::Internal::Type::Boolean
|
|
45
|
-
|
|
46
|
-
# @!attribute external_urls
|
|
47
|
-
# External URLs for this show.
|
|
48
|
-
#
|
|
49
|
-
# @return [Spotted::Models::ExternalURLObject]
|
|
50
|
-
required :external_urls, -> { Spotted::ExternalURLObject }
|
|
51
|
-
|
|
52
|
-
# @!attribute href
|
|
53
|
-
# A link to the Web API endpoint providing full details of the show.
|
|
54
|
-
#
|
|
55
|
-
# @return [String]
|
|
56
|
-
required :href, String
|
|
57
|
-
|
|
58
|
-
# @!attribute html_description
|
|
59
|
-
# A description of the show. This field may contain HTML tags.
|
|
60
|
-
#
|
|
61
|
-
# @return [String]
|
|
62
|
-
required :html_description, String
|
|
63
|
-
|
|
64
|
-
# @!attribute images
|
|
65
|
-
# The cover art for the show in various sizes, widest first.
|
|
66
|
-
#
|
|
67
|
-
# @return [Array<Spotted::Models::ImageObject>]
|
|
68
|
-
required :images, -> { Spotted::Internal::Type::ArrayOf[Spotted::ImageObject] }
|
|
69
|
-
|
|
70
|
-
# @!attribute is_externally_hosted
|
|
71
|
-
# True if all of the shows episodes are hosted outside of Spotify's CDN. This
|
|
72
|
-
# field might be `null` in some cases.
|
|
73
|
-
#
|
|
74
|
-
# @return [Boolean]
|
|
75
|
-
required :is_externally_hosted, Spotted::Internal::Type::Boolean
|
|
76
|
-
|
|
77
|
-
# @!attribute languages
|
|
78
|
-
# A list of the languages used in the show, identified by their
|
|
79
|
-
# [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
|
|
80
|
-
#
|
|
81
|
-
# @return [Array<String>]
|
|
82
|
-
required :languages, Spotted::Internal::Type::ArrayOf[String]
|
|
83
|
-
|
|
84
|
-
# @!attribute media_type
|
|
85
|
-
# The media type of the show.
|
|
86
|
-
#
|
|
87
|
-
# @return [String]
|
|
88
|
-
required :media_type, String
|
|
89
|
-
|
|
90
|
-
# @!attribute name
|
|
91
|
-
# The name of the episode.
|
|
92
|
-
#
|
|
93
|
-
# @return [String]
|
|
94
|
-
required :name, String
|
|
95
|
-
|
|
96
|
-
# @!attribute publisher
|
|
97
|
-
# The publisher of the show.
|
|
98
|
-
#
|
|
99
|
-
# @return [String]
|
|
100
|
-
required :publisher, String
|
|
101
|
-
|
|
102
|
-
# @!attribute total_episodes
|
|
103
|
-
# The total number of episodes in the show.
|
|
104
|
-
#
|
|
105
|
-
# @return [Integer]
|
|
106
|
-
required :total_episodes, Integer
|
|
107
|
-
|
|
108
|
-
# @!attribute type
|
|
109
|
-
# The object type.
|
|
110
|
-
#
|
|
111
|
-
# @return [Symbol, Spotted::Models::ShowRetrieveResponse::Type]
|
|
112
|
-
required :type, enum: -> { Spotted::Models::ShowRetrieveResponse::Type }
|
|
113
|
-
|
|
114
|
-
# @!attribute uri
|
|
115
|
-
# The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
|
|
116
|
-
# show.
|
|
117
|
-
#
|
|
118
|
-
# @return [String]
|
|
119
|
-
required :uri, String
|
|
120
|
-
|
|
121
|
-
# @!method initialize(id:, available_markets:, copyrights:, description:, episodes:, explicit:, external_urls:, href:, html_description:, images:, is_externally_hosted:, languages:, media_type:, name:, publisher:, total_episodes:, type:, uri:)
|
|
13
|
+
# @!method initialize(episodes:)
|
|
122
14
|
# Some parameter documentations has been truncated, see
|
|
123
15
|
# {Spotted::Models::ShowRetrieveResponse} for more details.
|
|
124
16
|
#
|
|
125
|
-
# @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the show.
|
|
126
|
-
#
|
|
127
|
-
# @param available_markets [Array<String>] A list of the countries in which the show can be played, identified by their [IS
|
|
128
|
-
#
|
|
129
|
-
# @param copyrights [Array<Spotted::Models::CopyrightObject>] The copyright statements of the show.
|
|
130
|
-
#
|
|
131
|
-
# @param description [String] A description of the show. HTML tags are stripped away from this field, use `htm
|
|
132
|
-
#
|
|
133
17
|
# @param episodes [Spotted::Models::ShowRetrieveResponse::Episodes] The episodes of the show.
|
|
134
|
-
#
|
|
135
|
-
# @param explicit [Boolean] Whether or not the show has explicit content (true = yes it does; false = no it
|
|
136
|
-
#
|
|
137
|
-
# @param external_urls [Spotted::Models::ExternalURLObject] External URLs for this show.
|
|
138
|
-
#
|
|
139
|
-
# @param href [String] A link to the Web API endpoint providing full details of the show.
|
|
140
|
-
#
|
|
141
|
-
# @param html_description [String] A description of the show. This field may contain HTML tags.
|
|
142
|
-
#
|
|
143
|
-
# @param images [Array<Spotted::Models::ImageObject>] The cover art for the show in various sizes, widest first.
|
|
144
|
-
#
|
|
145
|
-
# @param is_externally_hosted [Boolean] True if all of the shows episodes are hosted outside of Spotify's CDN. This fiel
|
|
146
|
-
#
|
|
147
|
-
# @param languages [Array<String>] A list of the languages used in the show, identified by their [ISO 639](https://
|
|
148
|
-
#
|
|
149
|
-
# @param media_type [String] The media type of the show.
|
|
150
|
-
#
|
|
151
|
-
# @param name [String] The name of the episode.
|
|
152
|
-
#
|
|
153
|
-
# @param publisher [String] The publisher of the show.
|
|
154
|
-
#
|
|
155
|
-
# @param total_episodes [Integer] The total number of episodes in the show.
|
|
156
|
-
#
|
|
157
|
-
# @param type [Symbol, Spotted::Models::ShowRetrieveResponse::Type] The object type.
|
|
158
|
-
#
|
|
159
|
-
# @param uri [String] The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the show
|
|
160
18
|
|
|
161
|
-
# @see Spotted::Models::ShowRetrieveResponse#episodes
|
|
162
19
|
class Episodes < Spotted::Internal::Type::BaseModel
|
|
163
20
|
# @!attribute href
|
|
164
21
|
# A link to the Web API endpoint returning the full result of the request
|
|
@@ -221,18 +78,6 @@ module Spotted
|
|
|
221
78
|
#
|
|
222
79
|
# @param total [Integer] The total number of items available to return.
|
|
223
80
|
end
|
|
224
|
-
|
|
225
|
-
# The object type.
|
|
226
|
-
#
|
|
227
|
-
# @see Spotted::Models::ShowRetrieveResponse#type
|
|
228
|
-
module Type
|
|
229
|
-
extend Spotted::Internal::Type::Enum
|
|
230
|
-
|
|
231
|
-
SHOW = :show
|
|
232
|
-
|
|
233
|
-
# @!method self.values
|
|
234
|
-
# @return [Array<Symbol>]
|
|
235
|
-
end
|
|
236
81
|
end
|
|
237
82
|
end
|
|
238
83
|
end
|
data/lib/spotted/models.rb
CHANGED
|
@@ -61,6 +61,8 @@ module Spotted
|
|
|
61
61
|
|
|
62
62
|
AudioAnalysisRetrieveParams = Spotted::Models::AudioAnalysisRetrieveParams
|
|
63
63
|
|
|
64
|
+
AudiobookBase = Spotted::Models::AudiobookBase
|
|
65
|
+
|
|
64
66
|
AudiobookListChaptersParams = Spotted::Models::AudiobookListChaptersParams
|
|
65
67
|
|
|
66
68
|
AudiobookListParams = Spotted::Models::AudiobookListParams
|
|
@@ -136,6 +138,8 @@ module Spotted
|
|
|
136
138
|
|
|
137
139
|
SearchRetrieveParams = Spotted::Models::SearchRetrieveParams
|
|
138
140
|
|
|
141
|
+
ShowBase = Spotted::Models::ShowBase
|
|
142
|
+
|
|
139
143
|
ShowListEpisodesParams = Spotted::Models::ShowListEpisodesParams
|
|
140
144
|
|
|
141
145
|
ShowListParams = Spotted::Models::ShowListParams
|
data/lib/spotted/version.rb
CHANGED
data/lib/spotted.rb
CHANGED
|
@@ -54,7 +54,9 @@ require_relative "spotted/internal/transport/pooled_net_requester"
|
|
|
54
54
|
require_relative "spotted/client"
|
|
55
55
|
require_relative "spotted/internal/oauth2"
|
|
56
56
|
require_relative "spotted/internal/cursor_url_page"
|
|
57
|
+
require_relative "spotted/models/audiobook_base"
|
|
57
58
|
require_relative "spotted/models/playlist_user_object"
|
|
59
|
+
require_relative "spotted/models/show_base"
|
|
58
60
|
require_relative "spotted/models/album_list_params"
|
|
59
61
|
require_relative "spotted/models/album_list_response"
|
|
60
62
|
require_relative "spotted/models/album_list_tracks_params"
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Models
|
|
5
|
+
class AudiobookBase < Spotted::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Spotted::AudiobookBase, Spotted::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
|
|
12
|
+
# audiobook.
|
|
13
|
+
sig { returns(String) }
|
|
14
|
+
attr_accessor :id
|
|
15
|
+
|
|
16
|
+
# The author(s) for the audiobook.
|
|
17
|
+
sig { returns(T::Array[Spotted::AuthorObject]) }
|
|
18
|
+
attr_accessor :authors
|
|
19
|
+
|
|
20
|
+
# A list of the countries in which the audiobook can be played, identified by
|
|
21
|
+
# their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
|
|
22
|
+
# code.
|
|
23
|
+
sig { returns(T::Array[String]) }
|
|
24
|
+
attr_accessor :available_markets
|
|
25
|
+
|
|
26
|
+
# The copyright statements of the audiobook.
|
|
27
|
+
sig { returns(T::Array[Spotted::CopyrightObject]) }
|
|
28
|
+
attr_accessor :copyrights
|
|
29
|
+
|
|
30
|
+
# A description of the audiobook. HTML tags are stripped away from this field, use
|
|
31
|
+
# `html_description` field in case HTML tags are needed.
|
|
32
|
+
sig { returns(String) }
|
|
33
|
+
attr_accessor :description
|
|
34
|
+
|
|
35
|
+
# Whether or not the audiobook has explicit content (true = yes it does; false =
|
|
36
|
+
# no it does not OR unknown).
|
|
37
|
+
sig { returns(T::Boolean) }
|
|
38
|
+
attr_accessor :explicit
|
|
39
|
+
|
|
40
|
+
# External URLs for this audiobook.
|
|
41
|
+
sig { returns(Spotted::ExternalURLObject) }
|
|
42
|
+
attr_reader :external_urls
|
|
43
|
+
|
|
44
|
+
sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
|
|
45
|
+
attr_writer :external_urls
|
|
46
|
+
|
|
47
|
+
# A link to the Web API endpoint providing full details of the audiobook.
|
|
48
|
+
sig { returns(String) }
|
|
49
|
+
attr_accessor :href
|
|
50
|
+
|
|
51
|
+
# A description of the audiobook. This field may contain HTML tags.
|
|
52
|
+
sig { returns(String) }
|
|
53
|
+
attr_accessor :html_description
|
|
54
|
+
|
|
55
|
+
# The cover art for the audiobook in various sizes, widest first.
|
|
56
|
+
sig { returns(T::Array[Spotted::ImageObject]) }
|
|
57
|
+
attr_accessor :images
|
|
58
|
+
|
|
59
|
+
# A list of the languages used in the audiobook, identified by their
|
|
60
|
+
# [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
|
|
61
|
+
sig { returns(T::Array[String]) }
|
|
62
|
+
attr_accessor :languages
|
|
63
|
+
|
|
64
|
+
# The media type of the audiobook.
|
|
65
|
+
sig { returns(String) }
|
|
66
|
+
attr_accessor :media_type
|
|
67
|
+
|
|
68
|
+
# The name of the audiobook.
|
|
69
|
+
sig { returns(String) }
|
|
70
|
+
attr_accessor :name
|
|
71
|
+
|
|
72
|
+
# The narrator(s) for the audiobook.
|
|
73
|
+
sig { returns(T::Array[Spotted::NarratorObject]) }
|
|
74
|
+
attr_accessor :narrators
|
|
75
|
+
|
|
76
|
+
# The publisher of the audiobook.
|
|
77
|
+
sig { returns(String) }
|
|
78
|
+
attr_accessor :publisher
|
|
79
|
+
|
|
80
|
+
# The number of chapters in this audiobook.
|
|
81
|
+
sig { returns(Integer) }
|
|
82
|
+
attr_accessor :total_chapters
|
|
83
|
+
|
|
84
|
+
# The object type.
|
|
85
|
+
sig { returns(Spotted::AudiobookBase::Type::TaggedSymbol) }
|
|
86
|
+
attr_accessor :type
|
|
87
|
+
|
|
88
|
+
# The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
|
|
89
|
+
# audiobook.
|
|
90
|
+
sig { returns(String) }
|
|
91
|
+
attr_accessor :uri
|
|
92
|
+
|
|
93
|
+
# The edition of the audiobook.
|
|
94
|
+
sig { returns(T.nilable(String)) }
|
|
95
|
+
attr_reader :edition
|
|
96
|
+
|
|
97
|
+
sig { params(edition: String).void }
|
|
98
|
+
attr_writer :edition
|
|
99
|
+
|
|
100
|
+
sig do
|
|
101
|
+
params(
|
|
102
|
+
id: String,
|
|
103
|
+
authors: T::Array[Spotted::AuthorObject::OrHash],
|
|
104
|
+
available_markets: T::Array[String],
|
|
105
|
+
copyrights: T::Array[Spotted::CopyrightObject::OrHash],
|
|
106
|
+
description: String,
|
|
107
|
+
explicit: T::Boolean,
|
|
108
|
+
external_urls: Spotted::ExternalURLObject::OrHash,
|
|
109
|
+
href: String,
|
|
110
|
+
html_description: String,
|
|
111
|
+
images: T::Array[Spotted::ImageObject::OrHash],
|
|
112
|
+
languages: T::Array[String],
|
|
113
|
+
media_type: String,
|
|
114
|
+
name: String,
|
|
115
|
+
narrators: T::Array[Spotted::NarratorObject::OrHash],
|
|
116
|
+
publisher: String,
|
|
117
|
+
total_chapters: Integer,
|
|
118
|
+
type: Spotted::AudiobookBase::Type::OrSymbol,
|
|
119
|
+
uri: String,
|
|
120
|
+
edition: String
|
|
121
|
+
).returns(T.attached_class)
|
|
122
|
+
end
|
|
123
|
+
def self.new(
|
|
124
|
+
# The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
|
|
125
|
+
# audiobook.
|
|
126
|
+
id:,
|
|
127
|
+
# The author(s) for the audiobook.
|
|
128
|
+
authors:,
|
|
129
|
+
# A list of the countries in which the audiobook can be played, identified by
|
|
130
|
+
# their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
|
|
131
|
+
# code.
|
|
132
|
+
available_markets:,
|
|
133
|
+
# The copyright statements of the audiobook.
|
|
134
|
+
copyrights:,
|
|
135
|
+
# A description of the audiobook. HTML tags are stripped away from this field, use
|
|
136
|
+
# `html_description` field in case HTML tags are needed.
|
|
137
|
+
description:,
|
|
138
|
+
# Whether or not the audiobook has explicit content (true = yes it does; false =
|
|
139
|
+
# no it does not OR unknown).
|
|
140
|
+
explicit:,
|
|
141
|
+
# External URLs for this audiobook.
|
|
142
|
+
external_urls:,
|
|
143
|
+
# A link to the Web API endpoint providing full details of the audiobook.
|
|
144
|
+
href:,
|
|
145
|
+
# A description of the audiobook. This field may contain HTML tags.
|
|
146
|
+
html_description:,
|
|
147
|
+
# The cover art for the audiobook in various sizes, widest first.
|
|
148
|
+
images:,
|
|
149
|
+
# A list of the languages used in the audiobook, identified by their
|
|
150
|
+
# [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
|
|
151
|
+
languages:,
|
|
152
|
+
# The media type of the audiobook.
|
|
153
|
+
media_type:,
|
|
154
|
+
# The name of the audiobook.
|
|
155
|
+
name:,
|
|
156
|
+
# The narrator(s) for the audiobook.
|
|
157
|
+
narrators:,
|
|
158
|
+
# The publisher of the audiobook.
|
|
159
|
+
publisher:,
|
|
160
|
+
# The number of chapters in this audiobook.
|
|
161
|
+
total_chapters:,
|
|
162
|
+
# The object type.
|
|
163
|
+
type:,
|
|
164
|
+
# The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
|
|
165
|
+
# audiobook.
|
|
166
|
+
uri:,
|
|
167
|
+
# The edition of the audiobook.
|
|
168
|
+
edition: nil
|
|
169
|
+
)
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
sig do
|
|
173
|
+
override.returns(
|
|
174
|
+
{
|
|
175
|
+
id: String,
|
|
176
|
+
authors: T::Array[Spotted::AuthorObject],
|
|
177
|
+
available_markets: T::Array[String],
|
|
178
|
+
copyrights: T::Array[Spotted::CopyrightObject],
|
|
179
|
+
description: String,
|
|
180
|
+
explicit: T::Boolean,
|
|
181
|
+
external_urls: Spotted::ExternalURLObject,
|
|
182
|
+
href: String,
|
|
183
|
+
html_description: String,
|
|
184
|
+
images: T::Array[Spotted::ImageObject],
|
|
185
|
+
languages: T::Array[String],
|
|
186
|
+
media_type: String,
|
|
187
|
+
name: String,
|
|
188
|
+
narrators: T::Array[Spotted::NarratorObject],
|
|
189
|
+
publisher: String,
|
|
190
|
+
total_chapters: Integer,
|
|
191
|
+
type: Spotted::AudiobookBase::Type::TaggedSymbol,
|
|
192
|
+
uri: String,
|
|
193
|
+
edition: String
|
|
194
|
+
}
|
|
195
|
+
)
|
|
196
|
+
end
|
|
197
|
+
def to_hash
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
# The object type.
|
|
201
|
+
module Type
|
|
202
|
+
extend Spotted::Internal::Type::Enum
|
|
203
|
+
|
|
204
|
+
TaggedSymbol =
|
|
205
|
+
T.type_alias { T.all(Symbol, Spotted::AudiobookBase::Type) }
|
|
206
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
207
|
+
|
|
208
|
+
AUDIOBOOK =
|
|
209
|
+
T.let(:audiobook, Spotted::AudiobookBase::Type::TaggedSymbol)
|
|
210
|
+
|
|
211
|
+
sig do
|
|
212
|
+
override.returns(T::Array[Spotted::AudiobookBase::Type::TaggedSymbol])
|
|
213
|
+
end
|
|
214
|
+
def self.values
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
end
|
|
219
|
+
end
|