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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/spotted/models/audiobook_base.rb +182 -0
  5. data/lib/spotted/models/audiobook_list_response.rb +2 -174
  6. data/lib/spotted/models/audiobook_retrieve_response.rb +2 -174
  7. data/lib/spotted/models/chapter_list_response.rb +3 -183
  8. data/lib/spotted/models/chapter_retrieve_response.rb +3 -183
  9. data/lib/spotted/models/episode_object.rb +3 -166
  10. data/lib/spotted/models/me/audiobook_list_response.rb +2 -174
  11. data/lib/spotted/models/me/show_list_response.rb +3 -166
  12. data/lib/spotted/models/search_retrieve_response.rb +6 -345
  13. data/lib/spotted/models/show_base.rb +165 -0
  14. data/lib/spotted/models/show_list_response.rb +3 -163
  15. data/lib/spotted/models/show_retrieve_response.rb +2 -157
  16. data/lib/spotted/models.rb +4 -0
  17. data/lib/spotted/version.rb +1 -1
  18. data/lib/spotted.rb +2 -0
  19. data/rbi/spotted/models/audiobook_base.rbi +219 -0
  20. data/rbi/spotted/models/audiobook_list_response.rbi +4 -212
  21. data/rbi/spotted/models/audiobook_retrieve_response.rbi +4 -209
  22. data/rbi/spotted/models/chapter_list_response.rbi +4 -249
  23. data/rbi/spotted/models/chapter_retrieve_response.rbi +4 -245
  24. data/rbi/spotted/models/episode_object.rbi +4 -199
  25. data/rbi/spotted/models/me/audiobook_list_response.rbi +4 -212
  26. data/rbi/spotted/models/me/show_list_response.rbi +6 -227
  27. data/rbi/spotted/models/search_retrieve_response.rbi +6 -473
  28. data/rbi/spotted/models/show_base.rbi +194 -0
  29. data/rbi/spotted/models/show_list_response.rbi +5 -216
  30. data/rbi/spotted/models/show_retrieve_response.rbi +4 -182
  31. data/rbi/spotted/models.rbi +4 -0
  32. data/sig/spotted/models/audiobook_base.rbs +122 -0
  33. data/sig/spotted/models/audiobook_list_response.rbs +8 -111
  34. data/sig/spotted/models/audiobook_retrieve_response.rbs +8 -113
  35. data/sig/spotted/models/chapter_list_response.rbs +4 -123
  36. data/sig/spotted/models/chapter_retrieve_response.rbs +4 -123
  37. data/sig/spotted/models/episode_object.rbs +4 -111
  38. data/sig/spotted/models/me/audiobook_list_response.rbs +8 -111
  39. data/sig/spotted/models/me/show_list_response.rbs +5 -121
  40. data/sig/spotted/models/search_retrieve_response.rbs +8 -234
  41. data/sig/spotted/models/show_base.rbs +110 -0
  42. data/sig/spotted/models/show_list_response.rbs +4 -116
  43. data/sig/spotted/models/show_retrieve_response.rbs +8 -101
  44. data/sig/spotted/models.rbs +4 -0
  45. metadata +7 -1
@@ -51,17 +51,10 @@ module Spotted
51
51
  attr_accessor :audio_preview_url
52
52
 
53
53
  # The audiobook for which the chapter belongs.
54
- sig do
55
- returns(Spotted::Models::ChapterListResponse::Chapter::Audiobook)
56
- end
54
+ sig { returns(Spotted::AudiobookBase) }
57
55
  attr_reader :audiobook
58
56
 
59
- sig do
60
- params(
61
- audiobook:
62
- Spotted::Models::ChapterListResponse::Chapter::Audiobook::OrHash
63
- ).void
64
- end
57
+ sig { params(audiobook: Spotted::AudiobookBase::OrHash).void }
65
58
  attr_writer :audiobook
66
59
 
67
60
  # The number of the chapter
@@ -169,8 +162,7 @@ module Spotted
169
162
  params(
170
163
  id: String,
171
164
  audio_preview_url: T.nilable(String),
172
- audiobook:
173
- Spotted::Models::ChapterListResponse::Chapter::Audiobook::OrHash,
165
+ audiobook: Spotted::AudiobookBase::OrHash,
174
166
  chapter_number: Integer,
175
167
  description: String,
176
168
  duration_ms: Integer,
@@ -252,8 +244,7 @@ module Spotted
252
244
  {
253
245
  id: String,
254
246
  audio_preview_url: T.nilable(String),
255
- audiobook:
256
- Spotted::Models::ChapterListResponse::Chapter::Audiobook,
247
+ audiobook: Spotted::AudiobookBase,
257
248
  chapter_number: Integer,
258
249
  description: String,
259
250
  duration_ms: Integer,
@@ -280,242 +271,6 @@ module Spotted
280
271
  def to_hash
281
272
  end
282
273
 
283
- class Audiobook < Spotted::Internal::Type::BaseModel
284
- OrHash =
285
- T.type_alias do
286
- T.any(
287
- Spotted::Models::ChapterListResponse::Chapter::Audiobook,
288
- Spotted::Internal::AnyHash
289
- )
290
- end
291
-
292
- # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
293
- # audiobook.
294
- sig { returns(String) }
295
- attr_accessor :id
296
-
297
- # The author(s) for the audiobook.
298
- sig { returns(T::Array[Spotted::AuthorObject]) }
299
- attr_accessor :authors
300
-
301
- # A list of the countries in which the audiobook can be played, identified by
302
- # their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
303
- # code.
304
- sig { returns(T::Array[String]) }
305
- attr_accessor :available_markets
306
-
307
- # The copyright statements of the audiobook.
308
- sig { returns(T::Array[Spotted::CopyrightObject]) }
309
- attr_accessor :copyrights
310
-
311
- # A description of the audiobook. HTML tags are stripped away from this field, use
312
- # `html_description` field in case HTML tags are needed.
313
- sig { returns(String) }
314
- attr_accessor :description
315
-
316
- # Whether or not the audiobook has explicit content (true = yes it does; false =
317
- # no it does not OR unknown).
318
- sig { returns(T::Boolean) }
319
- attr_accessor :explicit
320
-
321
- # External URLs for this audiobook.
322
- sig { returns(Spotted::ExternalURLObject) }
323
- attr_reader :external_urls
324
-
325
- sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
326
- attr_writer :external_urls
327
-
328
- # A link to the Web API endpoint providing full details of the audiobook.
329
- sig { returns(String) }
330
- attr_accessor :href
331
-
332
- # A description of the audiobook. This field may contain HTML tags.
333
- sig { returns(String) }
334
- attr_accessor :html_description
335
-
336
- # The cover art for the audiobook in various sizes, widest first.
337
- sig { returns(T::Array[Spotted::ImageObject]) }
338
- attr_accessor :images
339
-
340
- # A list of the languages used in the audiobook, identified by their
341
- # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
342
- sig { returns(T::Array[String]) }
343
- attr_accessor :languages
344
-
345
- # The media type of the audiobook.
346
- sig { returns(String) }
347
- attr_accessor :media_type
348
-
349
- # The name of the audiobook.
350
- sig { returns(String) }
351
- attr_accessor :name
352
-
353
- # The narrator(s) for the audiobook.
354
- sig { returns(T::Array[Spotted::NarratorObject]) }
355
- attr_accessor :narrators
356
-
357
- # The publisher of the audiobook.
358
- sig { returns(String) }
359
- attr_accessor :publisher
360
-
361
- # The number of chapters in this audiobook.
362
- sig { returns(Integer) }
363
- attr_accessor :total_chapters
364
-
365
- # The object type.
366
- sig do
367
- returns(
368
- Spotted::Models::ChapterListResponse::Chapter::Audiobook::Type::TaggedSymbol
369
- )
370
- end
371
- attr_accessor :type
372
-
373
- # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
374
- # audiobook.
375
- sig { returns(String) }
376
- attr_accessor :uri
377
-
378
- # The edition of the audiobook.
379
- sig { returns(T.nilable(String)) }
380
- attr_reader :edition
381
-
382
- sig { params(edition: String).void }
383
- attr_writer :edition
384
-
385
- # The audiobook for which the chapter belongs.
386
- sig do
387
- params(
388
- id: String,
389
- authors: T::Array[Spotted::AuthorObject::OrHash],
390
- available_markets: T::Array[String],
391
- copyrights: T::Array[Spotted::CopyrightObject::OrHash],
392
- description: String,
393
- explicit: T::Boolean,
394
- external_urls: Spotted::ExternalURLObject::OrHash,
395
- href: String,
396
- html_description: String,
397
- images: T::Array[Spotted::ImageObject::OrHash],
398
- languages: T::Array[String],
399
- media_type: String,
400
- name: String,
401
- narrators: T::Array[Spotted::NarratorObject::OrHash],
402
- publisher: String,
403
- total_chapters: Integer,
404
- type:
405
- Spotted::Models::ChapterListResponse::Chapter::Audiobook::Type::OrSymbol,
406
- uri: String,
407
- edition: String
408
- ).returns(T.attached_class)
409
- end
410
- def self.new(
411
- # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
412
- # audiobook.
413
- id:,
414
- # The author(s) for the audiobook.
415
- authors:,
416
- # A list of the countries in which the audiobook can be played, identified by
417
- # their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
418
- # code.
419
- available_markets:,
420
- # The copyright statements of the audiobook.
421
- copyrights:,
422
- # A description of the audiobook. HTML tags are stripped away from this field, use
423
- # `html_description` field in case HTML tags are needed.
424
- description:,
425
- # Whether or not the audiobook has explicit content (true = yes it does; false =
426
- # no it does not OR unknown).
427
- explicit:,
428
- # External URLs for this audiobook.
429
- external_urls:,
430
- # A link to the Web API endpoint providing full details of the audiobook.
431
- href:,
432
- # A description of the audiobook. This field may contain HTML tags.
433
- html_description:,
434
- # The cover art for the audiobook in various sizes, widest first.
435
- images:,
436
- # A list of the languages used in the audiobook, identified by their
437
- # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
438
- languages:,
439
- # The media type of the audiobook.
440
- media_type:,
441
- # The name of the audiobook.
442
- name:,
443
- # The narrator(s) for the audiobook.
444
- narrators:,
445
- # The publisher of the audiobook.
446
- publisher:,
447
- # The number of chapters in this audiobook.
448
- total_chapters:,
449
- # The object type.
450
- type:,
451
- # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
452
- # audiobook.
453
- uri:,
454
- # The edition of the audiobook.
455
- edition: nil
456
- )
457
- end
458
-
459
- sig do
460
- override.returns(
461
- {
462
- id: String,
463
- authors: T::Array[Spotted::AuthorObject],
464
- available_markets: T::Array[String],
465
- copyrights: T::Array[Spotted::CopyrightObject],
466
- description: String,
467
- explicit: T::Boolean,
468
- external_urls: Spotted::ExternalURLObject,
469
- href: String,
470
- html_description: String,
471
- images: T::Array[Spotted::ImageObject],
472
- languages: T::Array[String],
473
- media_type: String,
474
- name: String,
475
- narrators: T::Array[Spotted::NarratorObject],
476
- publisher: String,
477
- total_chapters: Integer,
478
- type:
479
- Spotted::Models::ChapterListResponse::Chapter::Audiobook::Type::TaggedSymbol,
480
- uri: String,
481
- edition: String
482
- }
483
- )
484
- end
485
- def to_hash
486
- end
487
-
488
- # The object type.
489
- module Type
490
- extend Spotted::Internal::Type::Enum
491
-
492
- TaggedSymbol =
493
- T.type_alias do
494
- T.all(
495
- Symbol,
496
- Spotted::Models::ChapterListResponse::Chapter::Audiobook::Type
497
- )
498
- end
499
- OrSymbol = T.type_alias { T.any(Symbol, String) }
500
-
501
- AUDIOBOOK =
502
- T.let(
503
- :audiobook,
504
- Spotted::Models::ChapterListResponse::Chapter::Audiobook::Type::TaggedSymbol
505
- )
506
-
507
- sig do
508
- override.returns(
509
- T::Array[
510
- Spotted::Models::ChapterListResponse::Chapter::Audiobook::Type::TaggedSymbol
511
- ]
512
- )
513
- end
514
- def self.values
515
- end
516
- end
517
- end
518
-
519
274
  # The precision with which `release_date` value is known.
520
275
  module ReleaseDatePrecision
521
276
  extend Spotted::Internal::Type::Enum
@@ -22,14 +22,10 @@ module Spotted
22
22
  attr_accessor :audio_preview_url
23
23
 
24
24
  # The audiobook for which the chapter belongs.
25
- sig { returns(Spotted::Models::ChapterRetrieveResponse::Audiobook) }
25
+ sig { returns(Spotted::AudiobookBase) }
26
26
  attr_reader :audiobook
27
27
 
28
- sig do
29
- params(
30
- audiobook: Spotted::Models::ChapterRetrieveResponse::Audiobook::OrHash
31
- ).void
32
- end
28
+ sig { params(audiobook: Spotted::AudiobookBase::OrHash).void }
33
29
  attr_writer :audiobook
34
30
 
35
31
  # The number of the chapter
@@ -135,8 +131,7 @@ module Spotted
135
131
  params(
136
132
  id: String,
137
133
  audio_preview_url: T.nilable(String),
138
- audiobook:
139
- Spotted::Models::ChapterRetrieveResponse::Audiobook::OrHash,
134
+ audiobook: Spotted::AudiobookBase::OrHash,
140
135
  chapter_number: Integer,
141
136
  description: String,
142
137
  duration_ms: Integer,
@@ -218,7 +213,7 @@ module Spotted
218
213
  {
219
214
  id: String,
220
215
  audio_preview_url: T.nilable(String),
221
- audiobook: Spotted::Models::ChapterRetrieveResponse::Audiobook,
216
+ audiobook: Spotted::AudiobookBase,
222
217
  chapter_number: Integer,
223
218
  description: String,
224
219
  duration_ms: Integer,
@@ -244,242 +239,6 @@ module Spotted
244
239
  def to_hash
245
240
  end
246
241
 
247
- class Audiobook < Spotted::Internal::Type::BaseModel
248
- OrHash =
249
- T.type_alias do
250
- T.any(
251
- Spotted::Models::ChapterRetrieveResponse::Audiobook,
252
- Spotted::Internal::AnyHash
253
- )
254
- end
255
-
256
- # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
257
- # audiobook.
258
- sig { returns(String) }
259
- attr_accessor :id
260
-
261
- # The author(s) for the audiobook.
262
- sig { returns(T::Array[Spotted::AuthorObject]) }
263
- attr_accessor :authors
264
-
265
- # A list of the countries in which the audiobook can be played, identified by
266
- # their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
267
- # code.
268
- sig { returns(T::Array[String]) }
269
- attr_accessor :available_markets
270
-
271
- # The copyright statements of the audiobook.
272
- sig { returns(T::Array[Spotted::CopyrightObject]) }
273
- attr_accessor :copyrights
274
-
275
- # A description of the audiobook. HTML tags are stripped away from this field, use
276
- # `html_description` field in case HTML tags are needed.
277
- sig { returns(String) }
278
- attr_accessor :description
279
-
280
- # Whether or not the audiobook has explicit content (true = yes it does; false =
281
- # no it does not OR unknown).
282
- sig { returns(T::Boolean) }
283
- attr_accessor :explicit
284
-
285
- # External URLs for this audiobook.
286
- sig { returns(Spotted::ExternalURLObject) }
287
- attr_reader :external_urls
288
-
289
- sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
290
- attr_writer :external_urls
291
-
292
- # A link to the Web API endpoint providing full details of the audiobook.
293
- sig { returns(String) }
294
- attr_accessor :href
295
-
296
- # A description of the audiobook. This field may contain HTML tags.
297
- sig { returns(String) }
298
- attr_accessor :html_description
299
-
300
- # The cover art for the audiobook in various sizes, widest first.
301
- sig { returns(T::Array[Spotted::ImageObject]) }
302
- attr_accessor :images
303
-
304
- # A list of the languages used in the audiobook, identified by their
305
- # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
306
- sig { returns(T::Array[String]) }
307
- attr_accessor :languages
308
-
309
- # The media type of the audiobook.
310
- sig { returns(String) }
311
- attr_accessor :media_type
312
-
313
- # The name of the audiobook.
314
- sig { returns(String) }
315
- attr_accessor :name
316
-
317
- # The narrator(s) for the audiobook.
318
- sig { returns(T::Array[Spotted::NarratorObject]) }
319
- attr_accessor :narrators
320
-
321
- # The publisher of the audiobook.
322
- sig { returns(String) }
323
- attr_accessor :publisher
324
-
325
- # The number of chapters in this audiobook.
326
- sig { returns(Integer) }
327
- attr_accessor :total_chapters
328
-
329
- # The object type.
330
- sig do
331
- returns(
332
- Spotted::Models::ChapterRetrieveResponse::Audiobook::Type::TaggedSymbol
333
- )
334
- end
335
- attr_accessor :type
336
-
337
- # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
338
- # audiobook.
339
- sig { returns(String) }
340
- attr_accessor :uri
341
-
342
- # The edition of the audiobook.
343
- sig { returns(T.nilable(String)) }
344
- attr_reader :edition
345
-
346
- sig { params(edition: String).void }
347
- attr_writer :edition
348
-
349
- # The audiobook for which the chapter belongs.
350
- sig do
351
- params(
352
- id: String,
353
- authors: T::Array[Spotted::AuthorObject::OrHash],
354
- available_markets: T::Array[String],
355
- copyrights: T::Array[Spotted::CopyrightObject::OrHash],
356
- description: String,
357
- explicit: T::Boolean,
358
- external_urls: Spotted::ExternalURLObject::OrHash,
359
- href: String,
360
- html_description: String,
361
- images: T::Array[Spotted::ImageObject::OrHash],
362
- languages: T::Array[String],
363
- media_type: String,
364
- name: String,
365
- narrators: T::Array[Spotted::NarratorObject::OrHash],
366
- publisher: String,
367
- total_chapters: Integer,
368
- type:
369
- Spotted::Models::ChapterRetrieveResponse::Audiobook::Type::OrSymbol,
370
- uri: String,
371
- edition: String
372
- ).returns(T.attached_class)
373
- end
374
- def self.new(
375
- # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
376
- # audiobook.
377
- id:,
378
- # The author(s) for the audiobook.
379
- authors:,
380
- # A list of the countries in which the audiobook can be played, identified by
381
- # their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
382
- # code.
383
- available_markets:,
384
- # The copyright statements of the audiobook.
385
- copyrights:,
386
- # A description of the audiobook. HTML tags are stripped away from this field, use
387
- # `html_description` field in case HTML tags are needed.
388
- description:,
389
- # Whether or not the audiobook has explicit content (true = yes it does; false =
390
- # no it does not OR unknown).
391
- explicit:,
392
- # External URLs for this audiobook.
393
- external_urls:,
394
- # A link to the Web API endpoint providing full details of the audiobook.
395
- href:,
396
- # A description of the audiobook. This field may contain HTML tags.
397
- html_description:,
398
- # The cover art for the audiobook in various sizes, widest first.
399
- images:,
400
- # A list of the languages used in the audiobook, identified by their
401
- # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
402
- languages:,
403
- # The media type of the audiobook.
404
- media_type:,
405
- # The name of the audiobook.
406
- name:,
407
- # The narrator(s) for the audiobook.
408
- narrators:,
409
- # The publisher of the audiobook.
410
- publisher:,
411
- # The number of chapters in this audiobook.
412
- total_chapters:,
413
- # The object type.
414
- type:,
415
- # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
416
- # audiobook.
417
- uri:,
418
- # The edition of the audiobook.
419
- edition: nil
420
- )
421
- end
422
-
423
- sig do
424
- override.returns(
425
- {
426
- id: String,
427
- authors: T::Array[Spotted::AuthorObject],
428
- available_markets: T::Array[String],
429
- copyrights: T::Array[Spotted::CopyrightObject],
430
- description: String,
431
- explicit: T::Boolean,
432
- external_urls: Spotted::ExternalURLObject,
433
- href: String,
434
- html_description: String,
435
- images: T::Array[Spotted::ImageObject],
436
- languages: T::Array[String],
437
- media_type: String,
438
- name: String,
439
- narrators: T::Array[Spotted::NarratorObject],
440
- publisher: String,
441
- total_chapters: Integer,
442
- type:
443
- Spotted::Models::ChapterRetrieveResponse::Audiobook::Type::TaggedSymbol,
444
- uri: String,
445
- edition: String
446
- }
447
- )
448
- end
449
- def to_hash
450
- end
451
-
452
- # The object type.
453
- module Type
454
- extend Spotted::Internal::Type::Enum
455
-
456
- TaggedSymbol =
457
- T.type_alias do
458
- T.all(
459
- Symbol,
460
- Spotted::Models::ChapterRetrieveResponse::Audiobook::Type
461
- )
462
- end
463
- OrSymbol = T.type_alias { T.any(Symbol, String) }
464
-
465
- AUDIOBOOK =
466
- T.let(
467
- :audiobook,
468
- Spotted::Models::ChapterRetrieveResponse::Audiobook::Type::TaggedSymbol
469
- )
470
-
471
- sig do
472
- override.returns(
473
- T::Array[
474
- Spotted::Models::ChapterRetrieveResponse::Audiobook::Type::TaggedSymbol
475
- ]
476
- )
477
- end
478
- def self.values
479
- end
480
- end
481
- end
482
-
483
242
  # The precision with which `release_date` value is known.
484
243
  module ReleaseDatePrecision
485
244
  extend Spotted::Internal::Type::Enum