spotted 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/spotted/client.rb +60 -1
  5. data/lib/spotted/models/album_bulk_retrieve_response.rb +13 -25
  6. data/lib/spotted/models/album_retrieve_response.rb +13 -25
  7. data/lib/spotted/models/artist_list_albums_response.rb +5 -17
  8. data/lib/spotted/models/audio_analysis_retrieve_response.rb +3 -8
  9. data/lib/spotted/models/audiobook_base.rb +4 -16
  10. data/lib/spotted/models/audiobook_bulk_retrieve_response.rb +8 -8
  11. data/lib/spotted/models/audiobook_retrieve_response.rb +8 -8
  12. data/lib/spotted/models/browse/category_list_response.rb +9 -9
  13. data/lib/spotted/models/browse_get_new_releases_response.rb +14 -26
  14. data/lib/spotted/models/chapter_bulk_retrieve_response.rb +5 -17
  15. data/lib/spotted/models/chapter_retrieve_response.rb +5 -17
  16. data/lib/spotted/models/episode_object.rb +5 -17
  17. data/lib/spotted/models/me/album_list_response.rb +13 -25
  18. data/lib/spotted/models/me/audiobook_list_response.rb +8 -8
  19. data/lib/spotted/models/me/following_bulk_retrieve_params.rb +5 -15
  20. data/lib/spotted/models/paging_playlist_object.rb +8 -8
  21. data/lib/spotted/models/playlist_retrieve_response.rb +8 -8
  22. data/lib/spotted/models/search_query_response.rb +54 -66
  23. data/lib/spotted/models/show_base.rb +4 -16
  24. data/lib/spotted/models/show_retrieve_response.rb +8 -8
  25. data/lib/spotted/models/simplified_chapter_object.rb +5 -17
  26. data/lib/spotted/models/simplified_episode_object.rb +5 -17
  27. data/lib/spotted/models/track_object.rb +5 -17
  28. data/lib/spotted/models/users/playlist_create_response.rb +8 -8
  29. data/lib/spotted/resources/me/following.rb +3 -3
  30. data/lib/spotted/resources/playlists/images.rb +3 -3
  31. data/lib/spotted/version.rb +1 -1
  32. data/rbi/spotted/models/album_bulk_retrieve_response.rbi +21 -52
  33. data/rbi/spotted/models/album_retrieve_response.rbi +21 -43
  34. data/rbi/spotted/models/artist_list_albums_response.rbi +7 -36
  35. data/rbi/spotted/models/audio_analysis_retrieve_response.rbi +3 -8
  36. data/rbi/spotted/models/audiobook_base.rbi +7 -25
  37. data/rbi/spotted/models/audiobook_bulk_retrieve_response.rbi +16 -9
  38. data/rbi/spotted/models/audiobook_retrieve_response.rbi +14 -9
  39. data/rbi/spotted/models/browse/category_list_response.rbi +31 -19
  40. data/rbi/spotted/models/browse_get_new_releases_response.rbi +38 -62
  41. data/rbi/spotted/models/chapter_bulk_retrieve_response.rbi +7 -43
  42. data/rbi/spotted/models/chapter_retrieve_response.rbi +7 -36
  43. data/rbi/spotted/models/episode_object.rbi +7 -24
  44. data/rbi/spotted/models/me/album_list_response.rbi +23 -52
  45. data/rbi/spotted/models/me/audiobook_list_response.rbi +18 -9
  46. data/rbi/spotted/models/me/following_bulk_retrieve_params.rbi +5 -34
  47. data/rbi/spotted/models/paging_playlist_object.rbi +14 -9
  48. data/rbi/spotted/models/playlist_retrieve_response.rbi +14 -9
  49. data/rbi/spotted/models/search_query_response.rbi +96 -101
  50. data/rbi/spotted/models/show_base.rbi +7 -23
  51. data/rbi/spotted/models/show_retrieve_response.rbi +14 -9
  52. data/rbi/spotted/models/simplified_chapter_object.rbi +7 -27
  53. data/rbi/spotted/models/simplified_episode_object.rbi +7 -27
  54. data/rbi/spotted/models/track_object.rbi +7 -26
  55. data/rbi/spotted/models/users/playlist_create_response.rbi +14 -9
  56. data/rbi/spotted/resources/me/following.rbi +3 -3
  57. data/rbi/spotted/resources/playlists/images.rbi +1 -1
  58. data/sig/spotted/models/album_bulk_retrieve_response.rbs +17 -23
  59. data/sig/spotted/models/album_retrieve_response.rbs +17 -23
  60. data/sig/spotted/models/artist_list_albums_response.rbs +5 -15
  61. data/sig/spotted/models/audio_analysis_retrieve_response.rbs +3 -8
  62. data/sig/spotted/models/audiobook_base.rbs +5 -15
  63. data/sig/spotted/models/audiobook_bulk_retrieve_response.rbs +12 -8
  64. data/sig/spotted/models/audiobook_retrieve_response.rbs +12 -8
  65. data/sig/spotted/models/browse/category_list_response.rbs +12 -8
  66. data/sig/spotted/models/browse_get_new_releases_response.rbs +17 -23
  67. data/sig/spotted/models/chapter_bulk_retrieve_response.rbs +5 -15
  68. data/sig/spotted/models/chapter_retrieve_response.rbs +5 -15
  69. data/sig/spotted/models/episode_object.rbs +5 -15
  70. data/sig/spotted/models/me/album_list_response.rbs +17 -23
  71. data/sig/spotted/models/me/audiobook_list_response.rbs +12 -8
  72. data/sig/spotted/models/me/following_bulk_retrieve_params.rbs +4 -18
  73. data/sig/spotted/models/paging_playlist_object.rbs +12 -8
  74. data/sig/spotted/models/playlist_retrieve_response.rbs +12 -8
  75. data/sig/spotted/models/search_query_response.rbs +75 -63
  76. data/sig/spotted/models/show_base.rbs +5 -15
  77. data/sig/spotted/models/show_retrieve_response.rbs +12 -8
  78. data/sig/spotted/models/simplified_chapter_object.rbs +5 -15
  79. data/sig/spotted/models/simplified_episode_object.rbs +5 -15
  80. data/sig/spotted/models/track_object.rbs +5 -15
  81. data/sig/spotted/models/users/playlist_create_response.rbs +12 -8
  82. data/sig/spotted/resources/me/following.rbs +1 -1
  83. data/sig/spotted/resources/playlists/images.rbs +1 -1
  84. metadata +2 -2
@@ -58,15 +58,6 @@ module Spotted
58
58
  sig { returns(String) }
59
59
  attr_accessor :href
60
60
 
61
- sig do
62
- returns(
63
- T::Array[
64
- Spotted::Models::Browse::CategoryListResponse::Categories::Item
65
- ]
66
- )
67
- end
68
- attr_accessor :items
69
-
70
61
  # The maximum number of items in the response (as set in the query or by default).
71
62
  sig { returns(Integer) }
72
63
  attr_accessor :limit
@@ -87,24 +78,44 @@ module Spotted
87
78
  sig { returns(Integer) }
88
79
  attr_accessor :total
89
80
 
81
+ sig do
82
+ returns(
83
+ T.nilable(
84
+ T::Array[
85
+ Spotted::Models::Browse::CategoryListResponse::Categories::Item
86
+ ]
87
+ )
88
+ )
89
+ end
90
+ attr_reader :items
91
+
90
92
  sig do
91
93
  params(
92
- href: String,
93
94
  items:
94
95
  T::Array[
95
96
  Spotted::Models::Browse::CategoryListResponse::Categories::Item::OrHash
96
- ],
97
+ ]
98
+ ).void
99
+ end
100
+ attr_writer :items
101
+
102
+ sig do
103
+ params(
104
+ href: String,
97
105
  limit: Integer,
98
106
  next_: T.nilable(String),
99
107
  offset: Integer,
100
108
  previous: T.nilable(String),
101
- total: Integer
109
+ total: Integer,
110
+ items:
111
+ T::Array[
112
+ Spotted::Models::Browse::CategoryListResponse::Categories::Item::OrHash
113
+ ]
102
114
  ).returns(T.attached_class)
103
115
  end
104
116
  def self.new(
105
117
  # A link to the Web API endpoint returning the full result of the request
106
118
  href:,
107
- items:,
108
119
  # The maximum number of items in the response (as set in the query or by default).
109
120
  limit:,
110
121
  # URL to the next page of items. ( `null` if none)
@@ -114,7 +125,8 @@ module Spotted
114
125
  # URL to the previous page of items. ( `null` if none)
115
126
  previous:,
116
127
  # The total number of items available to return.
117
- total:
128
+ total:,
129
+ items: nil
118
130
  )
119
131
  end
120
132
 
@@ -122,15 +134,15 @@ module Spotted
122
134
  override.returns(
123
135
  {
124
136
  href: String,
125
- items:
126
- T::Array[
127
- Spotted::Models::Browse::CategoryListResponse::Categories::Item
128
- ],
129
137
  limit: Integer,
130
138
  next_: T.nilable(String),
131
139
  offset: Integer,
132
140
  previous: T.nilable(String),
133
- total: Integer
141
+ total: Integer,
142
+ items:
143
+ T::Array[
144
+ Spotted::Models::Browse::CategoryListResponse::Categories::Item
145
+ ]
134
146
  }
135
147
  )
136
148
  end
@@ -50,15 +50,6 @@ module Spotted
50
50
  sig { returns(String) }
51
51
  attr_accessor :href
52
52
 
53
- sig do
54
- returns(
55
- T::Array[
56
- Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item
57
- ]
58
- )
59
- end
60
- attr_accessor :items
61
-
62
53
  # The maximum number of items in the response (as set in the query or by default).
63
54
  sig { returns(Integer) }
64
55
  attr_accessor :limit
@@ -79,24 +70,44 @@ module Spotted
79
70
  sig { returns(Integer) }
80
71
  attr_accessor :total
81
72
 
73
+ sig do
74
+ returns(
75
+ T.nilable(
76
+ T::Array[
77
+ Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item
78
+ ]
79
+ )
80
+ )
81
+ end
82
+ attr_reader :items
83
+
82
84
  sig do
83
85
  params(
84
- href: String,
85
86
  items:
86
87
  T::Array[
87
88
  Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item::OrHash
88
- ],
89
+ ]
90
+ ).void
91
+ end
92
+ attr_writer :items
93
+
94
+ sig do
95
+ params(
96
+ href: String,
89
97
  limit: Integer,
90
98
  next_: T.nilable(String),
91
99
  offset: Integer,
92
100
  previous: T.nilable(String),
93
- total: Integer
101
+ total: Integer,
102
+ items:
103
+ T::Array[
104
+ Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item::OrHash
105
+ ]
94
106
  ).returns(T.attached_class)
95
107
  end
96
108
  def self.new(
97
109
  # A link to the Web API endpoint returning the full result of the request
98
110
  href:,
99
- items:,
100
111
  # The maximum number of items in the response (as set in the query or by default).
101
112
  limit:,
102
113
  # URL to the next page of items. ( `null` if none)
@@ -106,7 +117,8 @@ module Spotted
106
117
  # URL to the previous page of items. ( `null` if none)
107
118
  previous:,
108
119
  # The total number of items available to return.
109
- total:
120
+ total:,
121
+ items: nil
110
122
  )
111
123
  end
112
124
 
@@ -114,15 +126,15 @@ module Spotted
114
126
  override.returns(
115
127
  {
116
128
  href: String,
117
- items:
118
- T::Array[
119
- Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item
120
- ],
121
129
  limit: Integer,
122
130
  next_: T.nilable(String),
123
131
  offset: Integer,
124
132
  previous: T.nilable(String),
125
- total: Integer
133
+ total: Integer,
134
+ items:
135
+ T::Array[
136
+ Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item
137
+ ]
126
138
  }
127
139
  )
128
140
  end
@@ -200,11 +212,7 @@ module Spotted
200
212
  attr_accessor :total_tracks
201
213
 
202
214
  # The object type.
203
- sig do
204
- returns(
205
- Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item::Type::TaggedSymbol
206
- )
207
- end
215
+ sig { returns(Symbol) }
208
216
  attr_accessor :type
209
217
 
210
218
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
@@ -236,10 +244,9 @@ module Spotted
236
244
  release_date_precision:
237
245
  Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item::ReleaseDatePrecision::OrSymbol,
238
246
  total_tracks: Integer,
239
- type:
240
- Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item::Type::OrSymbol,
241
247
  uri: String,
242
- restrictions: Spotted::AlbumRestrictionObject::OrHash
248
+ restrictions: Spotted::AlbumRestrictionObject::OrHash,
249
+ type: Symbol
243
250
  ).returns(T.attached_class)
244
251
  end
245
252
  def self.new(
@@ -271,13 +278,13 @@ module Spotted
271
278
  release_date_precision:,
272
279
  # The number of tracks in the album.
273
280
  total_tracks:,
274
- # The object type.
275
- type:,
276
281
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
277
282
  # album.
278
283
  uri:,
279
284
  # Included in the response when a content restriction is applied.
280
- restrictions: nil
285
+ restrictions: nil,
286
+ # The object type.
287
+ type: :album
281
288
  )
282
289
  end
283
290
 
@@ -297,8 +304,7 @@ module Spotted
297
304
  release_date_precision:
298
305
  Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item::ReleaseDatePrecision::TaggedSymbol,
299
306
  total_tracks: Integer,
300
- type:
301
- Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item::Type::TaggedSymbol,
307
+ type: Symbol,
302
308
  uri: String,
303
309
  restrictions: Spotted::AlbumRestrictionObject
304
310
  }
@@ -386,36 +392,6 @@ module Spotted
386
392
  def self.values
387
393
  end
388
394
  end
389
-
390
- # The object type.
391
- module Type
392
- extend Spotted::Internal::Type::Enum
393
-
394
- TaggedSymbol =
395
- T.type_alias do
396
- T.all(
397
- Symbol,
398
- Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item::Type
399
- )
400
- end
401
- OrSymbol = T.type_alias { T.any(Symbol, String) }
402
-
403
- ALBUM =
404
- T.let(
405
- :album,
406
- Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item::Type::TaggedSymbol
407
- )
408
-
409
- sig do
410
- override.returns(
411
- T::Array[
412
- Spotted::Models::BrowseGetNewReleasesResponse::Albums::Item::Type::TaggedSymbol
413
- ]
414
- )
415
- end
416
- def self.values
417
- end
418
- end
419
395
  end
420
396
  end
421
397
  end
@@ -128,11 +128,7 @@ module Spotted
128
128
  attr_accessor :release_date_precision
129
129
 
130
130
  # The object type.
131
- sig do
132
- returns(
133
- Spotted::Models::ChapterBulkRetrieveResponse::Chapter::Type::TaggedSymbol
134
- )
135
- end
131
+ sig { returns(Symbol) }
136
132
  attr_accessor :type
137
133
 
138
134
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
@@ -184,12 +180,11 @@ module Spotted
184
180
  release_date: String,
185
181
  release_date_precision:
186
182
  Spotted::Models::ChapterBulkRetrieveResponse::Chapter::ReleaseDatePrecision::OrSymbol,
187
- type:
188
- Spotted::Models::ChapterBulkRetrieveResponse::Chapter::Type::OrSymbol,
189
183
  uri: String,
190
184
  available_markets: T::Array[String],
191
185
  restrictions: Spotted::ChapterRestrictionObject::OrHash,
192
- resume_point: Spotted::ResumePointObject::OrHash
186
+ resume_point: Spotted::ResumePointObject::OrHash,
187
+ type: Symbol
193
188
  ).returns(T.attached_class)
194
189
  end
195
190
  def self.new(
@@ -231,8 +226,6 @@ module Spotted
231
226
  release_date:,
232
227
  # The precision with which `release_date` value is known.
233
228
  release_date_precision:,
234
- # The object type.
235
- type:,
236
229
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
237
230
  # chapter.
238
231
  uri:,
@@ -243,7 +236,9 @@ module Spotted
243
236
  restrictions: nil,
244
237
  # The user's most recent position in the chapter. Set if the supplied access token
245
238
  # is a user token and has the scope 'user-read-playback-position'.
246
- resume_point: nil
239
+ resume_point: nil,
240
+ # The object type.
241
+ type: :episode
247
242
  )
248
243
  end
249
244
 
@@ -267,8 +262,7 @@ module Spotted
267
262
  release_date: String,
268
263
  release_date_precision:
269
264
  Spotted::Models::ChapterBulkRetrieveResponse::Chapter::ReleaseDatePrecision::TaggedSymbol,
270
- type:
271
- Spotted::Models::ChapterBulkRetrieveResponse::Chapter::Type::TaggedSymbol,
265
+ type: Symbol,
272
266
  uri: String,
273
267
  available_markets: T::Array[String],
274
268
  restrictions: Spotted::ChapterRestrictionObject,
@@ -318,36 +312,6 @@ module Spotted
318
312
  def self.values
319
313
  end
320
314
  end
321
-
322
- # The object type.
323
- module Type
324
- extend Spotted::Internal::Type::Enum
325
-
326
- TaggedSymbol =
327
- T.type_alias do
328
- T.all(
329
- Symbol,
330
- Spotted::Models::ChapterBulkRetrieveResponse::Chapter::Type
331
- )
332
- end
333
- OrSymbol = T.type_alias { T.any(Symbol, String) }
334
-
335
- EPISODE =
336
- T.let(
337
- :episode,
338
- Spotted::Models::ChapterBulkRetrieveResponse::Chapter::Type::TaggedSymbol
339
- )
340
-
341
- sig do
342
- override.returns(
343
- T::Array[
344
- Spotted::Models::ChapterBulkRetrieveResponse::Chapter::Type::TaggedSymbol
345
- ]
346
- )
347
- end
348
- def self.values
349
- end
350
- end
351
315
  end
352
316
  end
353
317
  end
@@ -92,9 +92,7 @@ module Spotted
92
92
  attr_accessor :release_date_precision
93
93
 
94
94
  # The object type.
95
- sig do
96
- returns(Spotted::Models::ChapterRetrieveResponse::Type::TaggedSymbol)
97
- end
95
+ sig { returns(Symbol) }
98
96
  attr_accessor :type
99
97
 
100
98
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
@@ -146,11 +144,11 @@ module Spotted
146
144
  release_date: String,
147
145
  release_date_precision:
148
146
  Spotted::Models::ChapterRetrieveResponse::ReleaseDatePrecision::OrSymbol,
149
- type: Spotted::Models::ChapterRetrieveResponse::Type::OrSymbol,
150
147
  uri: String,
151
148
  available_markets: T::Array[String],
152
149
  restrictions: Spotted::ChapterRestrictionObject::OrHash,
153
- resume_point: Spotted::ResumePointObject::OrHash
150
+ resume_point: Spotted::ResumePointObject::OrHash,
151
+ type: Symbol
154
152
  ).returns(T.attached_class)
155
153
  end
156
154
  def self.new(
@@ -192,8 +190,6 @@ module Spotted
192
190
  release_date:,
193
191
  # The precision with which `release_date` value is known.
194
192
  release_date_precision:,
195
- # The object type.
196
- type:,
197
193
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
198
194
  # chapter.
199
195
  uri:,
@@ -204,7 +200,9 @@ module Spotted
204
200
  restrictions: nil,
205
201
  # The user's most recent position in the chapter. Set if the supplied access token
206
202
  # is a user token and has the scope 'user-read-playback-position'.
207
- resume_point: nil
203
+ resume_point: nil,
204
+ # The object type.
205
+ type: :episode
208
206
  )
209
207
  end
210
208
 
@@ -228,7 +226,7 @@ module Spotted
228
226
  release_date: String,
229
227
  release_date_precision:
230
228
  Spotted::Models::ChapterRetrieveResponse::ReleaseDatePrecision::TaggedSymbol,
231
- type: Spotted::Models::ChapterRetrieveResponse::Type::TaggedSymbol,
229
+ type: Symbol,
232
230
  uri: String,
233
231
  available_markets: T::Array[String],
234
232
  restrictions: Spotted::ChapterRestrictionObject,
@@ -278,33 +276,6 @@ module Spotted
278
276
  def self.values
279
277
  end
280
278
  end
281
-
282
- # The object type.
283
- module Type
284
- extend Spotted::Internal::Type::Enum
285
-
286
- TaggedSymbol =
287
- T.type_alias do
288
- T.all(Symbol, Spotted::Models::ChapterRetrieveResponse::Type)
289
- end
290
- OrSymbol = T.type_alias { T.any(Symbol, String) }
291
-
292
- EPISODE =
293
- T.let(
294
- :episode,
295
- Spotted::Models::ChapterRetrieveResponse::Type::TaggedSymbol
296
- )
297
-
298
- sig do
299
- override.returns(
300
- T::Array[
301
- Spotted::Models::ChapterRetrieveResponse::Type::TaggedSymbol
302
- ]
303
- )
304
- end
305
- def self.values
306
- end
307
- end
308
279
  end
309
280
  end
310
281
  end
@@ -87,7 +87,7 @@ module Spotted
87
87
  attr_writer :show
88
88
 
89
89
  # The object type.
90
- sig { returns(Spotted::EpisodeObject::Type::TaggedSymbol) }
90
+ sig { returns(Symbol) }
91
91
  attr_accessor :type
92
92
 
93
93
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
@@ -140,11 +140,11 @@ module Spotted
140
140
  release_date_precision:
141
141
  Spotted::EpisodeObject::ReleaseDatePrecision::OrSymbol,
142
142
  show: Spotted::ShowBase::OrHash,
143
- type: Spotted::EpisodeObject::Type::OrSymbol,
144
143
  uri: String,
145
144
  language: String,
146
145
  restrictions: Spotted::EpisodeRestrictionObject::OrHash,
147
- resume_point: Spotted::ResumePointObject::OrHash
146
+ resume_point: Spotted::ResumePointObject::OrHash,
147
+ type: Symbol
148
148
  ).returns(T.attached_class)
149
149
  end
150
150
  def self.new(
@@ -186,8 +186,6 @@ module Spotted
186
186
  release_date_precision:,
187
187
  # The show on which the episode belongs.
188
188
  show:,
189
- # The object type.
190
- type:,
191
189
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
192
190
  # episode.
193
191
  uri:,
@@ -199,7 +197,9 @@ module Spotted
199
197
  restrictions: nil,
200
198
  # The user's most recent position in the episode. Set if the supplied access token
201
199
  # is a user token and has the scope 'user-read-playback-position'.
202
- resume_point: nil
200
+ resume_point: nil,
201
+ # The object type.
202
+ type: :episode
203
203
  )
204
204
  end
205
205
 
@@ -223,7 +223,7 @@ module Spotted
223
223
  release_date_precision:
224
224
  Spotted::EpisodeObject::ReleaseDatePrecision::TaggedSymbol,
225
225
  show: Spotted::ShowBase,
226
- type: Spotted::EpisodeObject::Type::TaggedSymbol,
226
+ type: Symbol,
227
227
  uri: String,
228
228
  language: String,
229
229
  restrictions: Spotted::EpisodeRestrictionObject,
@@ -268,23 +268,6 @@ module Spotted
268
268
  def self.values
269
269
  end
270
270
  end
271
-
272
- # The object type.
273
- module Type
274
- extend Spotted::Internal::Type::Enum
275
-
276
- TaggedSymbol =
277
- T.type_alias { T.all(Symbol, Spotted::EpisodeObject::Type) }
278
- OrSymbol = T.type_alias { T.any(Symbol, String) }
279
-
280
- EPISODE = T.let(:episode, Spotted::EpisodeObject::Type::TaggedSymbol)
281
-
282
- sig do
283
- override.returns(T::Array[Spotted::EpisodeObject::Type::TaggedSymbol])
284
- end
285
- def self.values
286
- end
287
- end
288
271
  end
289
272
  end
290
273
  end
@@ -131,11 +131,7 @@ module Spotted
131
131
  attr_accessor :total_tracks
132
132
 
133
133
  # The object type.
134
- sig do
135
- returns(
136
- Spotted::Models::Me::AlbumListResponse::Album::Type::TaggedSymbol
137
- )
138
- end
134
+ sig { returns(Symbol) }
139
135
  attr_accessor :type
140
136
 
141
137
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
@@ -233,8 +229,6 @@ module Spotted
233
229
  release_date_precision:
234
230
  Spotted::Models::Me::AlbumListResponse::Album::ReleaseDatePrecision::OrSymbol,
235
231
  total_tracks: Integer,
236
- type:
237
- Spotted::Models::Me::AlbumListResponse::Album::Type::OrSymbol,
238
232
  uri: String,
239
233
  artists: T::Array[Spotted::SimplifiedArtistObject::OrHash],
240
234
  copyrights: T::Array[Spotted::CopyrightObject::OrHash],
@@ -244,7 +238,8 @@ module Spotted
244
238
  popularity: Integer,
245
239
  restrictions: Spotted::AlbumRestrictionObject::OrHash,
246
240
  tracks:
247
- Spotted::Models::Me::AlbumListResponse::Album::Tracks::OrHash
241
+ Spotted::Models::Me::AlbumListResponse::Album::Tracks::OrHash,
242
+ type: Symbol
248
243
  ).returns(T.attached_class)
249
244
  end
250
245
  def self.new(
@@ -273,8 +268,6 @@ module Spotted
273
268
  release_date_precision:,
274
269
  # The number of tracks in the album.
275
270
  total_tracks:,
276
- # The object type.
277
- type:,
278
271
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
279
272
  # album.
280
273
  uri:,
@@ -295,7 +288,9 @@ module Spotted
295
288
  # Included in the response when a content restriction is applied.
296
289
  restrictions: nil,
297
290
  # The tracks of the album.
298
- tracks: nil
291
+ tracks: nil,
292
+ # The object type.
293
+ type: :album
299
294
  )
300
295
  end
301
296
 
@@ -314,8 +309,7 @@ module Spotted
314
309
  release_date_precision:
315
310
  Spotted::Models::Me::AlbumListResponse::Album::ReleaseDatePrecision::TaggedSymbol,
316
311
  total_tracks: Integer,
317
- type:
318
- Spotted::Models::Me::AlbumListResponse::Album::Type::TaggedSymbol,
312
+ type: Symbol,
319
313
  uri: String,
320
314
  artists: T::Array[Spotted::SimplifiedArtistObject],
321
315
  copyrights: T::Array[Spotted::CopyrightObject],
@@ -411,36 +405,6 @@ module Spotted
411
405
  end
412
406
  end
413
407
 
414
- # The object type.
415
- module Type
416
- extend Spotted::Internal::Type::Enum
417
-
418
- TaggedSymbol =
419
- T.type_alias do
420
- T.all(
421
- Symbol,
422
- Spotted::Models::Me::AlbumListResponse::Album::Type
423
- )
424
- end
425
- OrSymbol = T.type_alias { T.any(Symbol, String) }
426
-
427
- ALBUM =
428
- T.let(
429
- :album,
430
- Spotted::Models::Me::AlbumListResponse::Album::Type::TaggedSymbol
431
- )
432
-
433
- sig do
434
- override.returns(
435
- T::Array[
436
- Spotted::Models::Me::AlbumListResponse::Album::Type::TaggedSymbol
437
- ]
438
- )
439
- end
440
- def self.values
441
- end
442
- end
443
-
444
408
  class Tracks < Spotted::Internal::Type::BaseModel
445
409
  OrHash =
446
410
  T.type_alias do
@@ -454,9 +418,6 @@ module Spotted
454
418
  sig { returns(String) }
455
419
  attr_accessor :href
456
420
 
457
- sig { returns(T::Array[Spotted::SimplifiedTrackObject]) }
458
- attr_accessor :items
459
-
460
421
  # The maximum number of items in the response (as set in the query or by default).
461
422
  sig { returns(Integer) }
462
423
  attr_accessor :limit
@@ -477,22 +438,31 @@ module Spotted
477
438
  sig { returns(Integer) }
478
439
  attr_accessor :total
479
440
 
441
+ sig { returns(T.nilable(T::Array[Spotted::SimplifiedTrackObject])) }
442
+ attr_reader :items
443
+
444
+ sig do
445
+ params(
446
+ items: T::Array[Spotted::SimplifiedTrackObject::OrHash]
447
+ ).void
448
+ end
449
+ attr_writer :items
450
+
480
451
  # The tracks of the album.
481
452
  sig do
482
453
  params(
483
454
  href: String,
484
- items: T::Array[Spotted::SimplifiedTrackObject::OrHash],
485
455
  limit: Integer,
486
456
  next_: T.nilable(String),
487
457
  offset: Integer,
488
458
  previous: T.nilable(String),
489
- total: Integer
459
+ total: Integer,
460
+ items: T::Array[Spotted::SimplifiedTrackObject::OrHash]
490
461
  ).returns(T.attached_class)
491
462
  end
492
463
  def self.new(
493
464
  # A link to the Web API endpoint returning the full result of the request
494
465
  href:,
495
- items:,
496
466
  # The maximum number of items in the response (as set in the query or by default).
497
467
  limit:,
498
468
  # URL to the next page of items. ( `null` if none)
@@ -502,7 +472,8 @@ module Spotted
502
472
  # URL to the previous page of items. ( `null` if none)
503
473
  previous:,
504
474
  # The total number of items available to return.
505
- total:
475
+ total:,
476
+ items: nil
506
477
  )
507
478
  end
508
479
 
@@ -510,12 +481,12 @@ module Spotted
510
481
  override.returns(
511
482
  {
512
483
  href: String,
513
- items: T::Array[Spotted::SimplifiedTrackObject],
514
484
  limit: Integer,
515
485
  next_: T.nilable(String),
516
486
  offset: Integer,
517
487
  previous: T.nilable(String),
518
- total: Integer
488
+ total: Integer,
489
+ items: T::Array[Spotted::SimplifiedTrackObject]
519
490
  }
520
491
  )
521
492
  end