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
@@ -128,11 +128,6 @@ module Spotted
128
128
  sig { returns(String) }
129
129
  attr_accessor :href
130
130
 
131
- sig do
132
- returns(T::Array[Spotted::Models::SearchQueryResponse::Albums::Item])
133
- end
134
- attr_accessor :items
135
-
136
131
  # The maximum number of items in the response (as set in the query or by default).
137
132
  sig { returns(Integer) }
138
133
  attr_accessor :limit
@@ -153,24 +148,42 @@ module Spotted
153
148
  sig { returns(Integer) }
154
149
  attr_accessor :total
155
150
 
151
+ sig do
152
+ returns(
153
+ T.nilable(
154
+ T::Array[Spotted::Models::SearchQueryResponse::Albums::Item]
155
+ )
156
+ )
157
+ end
158
+ attr_reader :items
159
+
156
160
  sig do
157
161
  params(
158
- href: String,
159
162
  items:
160
163
  T::Array[
161
164
  Spotted::Models::SearchQueryResponse::Albums::Item::OrHash
162
- ],
165
+ ]
166
+ ).void
167
+ end
168
+ attr_writer :items
169
+
170
+ sig do
171
+ params(
172
+ href: String,
163
173
  limit: Integer,
164
174
  next_: T.nilable(String),
165
175
  offset: Integer,
166
176
  previous: T.nilable(String),
167
- total: Integer
177
+ total: Integer,
178
+ items:
179
+ T::Array[
180
+ Spotted::Models::SearchQueryResponse::Albums::Item::OrHash
181
+ ]
168
182
  ).returns(T.attached_class)
169
183
  end
170
184
  def self.new(
171
185
  # A link to the Web API endpoint returning the full result of the request
172
186
  href:,
173
- items:,
174
187
  # The maximum number of items in the response (as set in the query or by default).
175
188
  limit:,
176
189
  # URL to the next page of items. ( `null` if none)
@@ -180,7 +193,8 @@ module Spotted
180
193
  # URL to the previous page of items. ( `null` if none)
181
194
  previous:,
182
195
  # The total number of items available to return.
183
- total:
196
+ total:,
197
+ items: nil
184
198
  )
185
199
  end
186
200
 
@@ -188,13 +202,13 @@ module Spotted
188
202
  override.returns(
189
203
  {
190
204
  href: String,
191
- items:
192
- T::Array[Spotted::Models::SearchQueryResponse::Albums::Item],
193
205
  limit: Integer,
194
206
  next_: T.nilable(String),
195
207
  offset: Integer,
196
208
  previous: T.nilable(String),
197
- total: Integer
209
+ total: Integer,
210
+ items:
211
+ T::Array[Spotted::Models::SearchQueryResponse::Albums::Item]
198
212
  }
199
213
  )
200
214
  end
@@ -272,11 +286,7 @@ module Spotted
272
286
  attr_accessor :total_tracks
273
287
 
274
288
  # The object type.
275
- sig do
276
- returns(
277
- Spotted::Models::SearchQueryResponse::Albums::Item::Type::TaggedSymbol
278
- )
279
- end
289
+ sig { returns(Symbol) }
280
290
  attr_accessor :type
281
291
 
282
292
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
@@ -308,10 +318,9 @@ module Spotted
308
318
  release_date_precision:
309
319
  Spotted::Models::SearchQueryResponse::Albums::Item::ReleaseDatePrecision::OrSymbol,
310
320
  total_tracks: Integer,
311
- type:
312
- Spotted::Models::SearchQueryResponse::Albums::Item::Type::OrSymbol,
313
321
  uri: String,
314
- restrictions: Spotted::AlbumRestrictionObject::OrHash
322
+ restrictions: Spotted::AlbumRestrictionObject::OrHash,
323
+ type: Symbol
315
324
  ).returns(T.attached_class)
316
325
  end
317
326
  def self.new(
@@ -343,13 +352,13 @@ module Spotted
343
352
  release_date_precision:,
344
353
  # The number of tracks in the album.
345
354
  total_tracks:,
346
- # The object type.
347
- type:,
348
355
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
349
356
  # album.
350
357
  uri:,
351
358
  # Included in the response when a content restriction is applied.
352
- restrictions: nil
359
+ restrictions: nil,
360
+ # The object type.
361
+ type: :album
353
362
  )
354
363
  end
355
364
 
@@ -369,8 +378,7 @@ module Spotted
369
378
  release_date_precision:
370
379
  Spotted::Models::SearchQueryResponse::Albums::Item::ReleaseDatePrecision::TaggedSymbol,
371
380
  total_tracks: Integer,
372
- type:
373
- Spotted::Models::SearchQueryResponse::Albums::Item::Type::TaggedSymbol,
381
+ type: Symbol,
374
382
  uri: String,
375
383
  restrictions: Spotted::AlbumRestrictionObject
376
384
  }
@@ -458,36 +466,6 @@ module Spotted
458
466
  def self.values
459
467
  end
460
468
  end
461
-
462
- # The object type.
463
- module Type
464
- extend Spotted::Internal::Type::Enum
465
-
466
- TaggedSymbol =
467
- T.type_alias do
468
- T.all(
469
- Symbol,
470
- Spotted::Models::SearchQueryResponse::Albums::Item::Type
471
- )
472
- end
473
- OrSymbol = T.type_alias { T.any(Symbol, String) }
474
-
475
- ALBUM =
476
- T.let(
477
- :album,
478
- Spotted::Models::SearchQueryResponse::Albums::Item::Type::TaggedSymbol
479
- )
480
-
481
- sig do
482
- override.returns(
483
- T::Array[
484
- Spotted::Models::SearchQueryResponse::Albums::Item::Type::TaggedSymbol
485
- ]
486
- )
487
- end
488
- def self.values
489
- end
490
- end
491
469
  end
492
470
  end
493
471
 
@@ -504,9 +482,6 @@ module Spotted
504
482
  sig { returns(String) }
505
483
  attr_accessor :href
506
484
 
507
- sig { returns(T::Array[Spotted::ArtistObject]) }
508
- attr_accessor :items
509
-
510
485
  # The maximum number of items in the response (as set in the query or by default).
511
486
  sig { returns(Integer) }
512
487
  attr_accessor :limit
@@ -527,21 +502,26 @@ module Spotted
527
502
  sig { returns(Integer) }
528
503
  attr_accessor :total
529
504
 
505
+ sig { returns(T.nilable(T::Array[Spotted::ArtistObject])) }
506
+ attr_reader :items
507
+
508
+ sig { params(items: T::Array[Spotted::ArtistObject::OrHash]).void }
509
+ attr_writer :items
510
+
530
511
  sig do
531
512
  params(
532
513
  href: String,
533
- items: T::Array[Spotted::ArtistObject::OrHash],
534
514
  limit: Integer,
535
515
  next_: T.nilable(String),
536
516
  offset: Integer,
537
517
  previous: T.nilable(String),
538
- total: Integer
518
+ total: Integer,
519
+ items: T::Array[Spotted::ArtistObject::OrHash]
539
520
  ).returns(T.attached_class)
540
521
  end
541
522
  def self.new(
542
523
  # A link to the Web API endpoint returning the full result of the request
543
524
  href:,
544
- items:,
545
525
  # The maximum number of items in the response (as set in the query or by default).
546
526
  limit:,
547
527
  # URL to the next page of items. ( `null` if none)
@@ -551,7 +531,8 @@ module Spotted
551
531
  # URL to the previous page of items. ( `null` if none)
552
532
  previous:,
553
533
  # The total number of items available to return.
554
- total:
534
+ total:,
535
+ items: nil
555
536
  )
556
537
  end
557
538
 
@@ -559,12 +540,12 @@ module Spotted
559
540
  override.returns(
560
541
  {
561
542
  href: String,
562
- items: T::Array[Spotted::ArtistObject],
563
543
  limit: Integer,
564
544
  next_: T.nilable(String),
565
545
  offset: Integer,
566
546
  previous: T.nilable(String),
567
- total: Integer
547
+ total: Integer,
548
+ items: T::Array[Spotted::ArtistObject]
568
549
  }
569
550
  )
570
551
  end
@@ -585,9 +566,6 @@ module Spotted
585
566
  sig { returns(String) }
586
567
  attr_accessor :href
587
568
 
588
- sig { returns(T::Array[Spotted::AudiobookBase]) }
589
- attr_accessor :items
590
-
591
569
  # The maximum number of items in the response (as set in the query or by default).
592
570
  sig { returns(Integer) }
593
571
  attr_accessor :limit
@@ -608,21 +586,26 @@ module Spotted
608
586
  sig { returns(Integer) }
609
587
  attr_accessor :total
610
588
 
589
+ sig { returns(T.nilable(T::Array[Spotted::AudiobookBase])) }
590
+ attr_reader :items
591
+
592
+ sig { params(items: T::Array[Spotted::AudiobookBase::OrHash]).void }
593
+ attr_writer :items
594
+
611
595
  sig do
612
596
  params(
613
597
  href: String,
614
- items: T::Array[Spotted::AudiobookBase::OrHash],
615
598
  limit: Integer,
616
599
  next_: T.nilable(String),
617
600
  offset: Integer,
618
601
  previous: T.nilable(String),
619
- total: Integer
602
+ total: Integer,
603
+ items: T::Array[Spotted::AudiobookBase::OrHash]
620
604
  ).returns(T.attached_class)
621
605
  end
622
606
  def self.new(
623
607
  # A link to the Web API endpoint returning the full result of the request
624
608
  href:,
625
- items:,
626
609
  # The maximum number of items in the response (as set in the query or by default).
627
610
  limit:,
628
611
  # URL to the next page of items. ( `null` if none)
@@ -632,7 +615,8 @@ module Spotted
632
615
  # URL to the previous page of items. ( `null` if none)
633
616
  previous:,
634
617
  # The total number of items available to return.
635
- total:
618
+ total:,
619
+ items: nil
636
620
  )
637
621
  end
638
622
 
@@ -640,12 +624,12 @@ module Spotted
640
624
  override.returns(
641
625
  {
642
626
  href: String,
643
- items: T::Array[Spotted::AudiobookBase],
644
627
  limit: Integer,
645
628
  next_: T.nilable(String),
646
629
  offset: Integer,
647
630
  previous: T.nilable(String),
648
- total: Integer
631
+ total: Integer,
632
+ items: T::Array[Spotted::AudiobookBase]
649
633
  }
650
634
  )
651
635
  end
@@ -666,9 +650,6 @@ module Spotted
666
650
  sig { returns(String) }
667
651
  attr_accessor :href
668
652
 
669
- sig { returns(T::Array[Spotted::SimplifiedEpisodeObject]) }
670
- attr_accessor :items
671
-
672
653
  # The maximum number of items in the response (as set in the query or by default).
673
654
  sig { returns(Integer) }
674
655
  attr_accessor :limit
@@ -689,21 +670,28 @@ module Spotted
689
670
  sig { returns(Integer) }
690
671
  attr_accessor :total
691
672
 
673
+ sig { returns(T.nilable(T::Array[Spotted::SimplifiedEpisodeObject])) }
674
+ attr_reader :items
675
+
676
+ sig do
677
+ params(items: T::Array[Spotted::SimplifiedEpisodeObject::OrHash]).void
678
+ end
679
+ attr_writer :items
680
+
692
681
  sig do
693
682
  params(
694
683
  href: String,
695
- items: T::Array[Spotted::SimplifiedEpisodeObject::OrHash],
696
684
  limit: Integer,
697
685
  next_: T.nilable(String),
698
686
  offset: Integer,
699
687
  previous: T.nilable(String),
700
- total: Integer
688
+ total: Integer,
689
+ items: T::Array[Spotted::SimplifiedEpisodeObject::OrHash]
701
690
  ).returns(T.attached_class)
702
691
  end
703
692
  def self.new(
704
693
  # A link to the Web API endpoint returning the full result of the request
705
694
  href:,
706
- items:,
707
695
  # The maximum number of items in the response (as set in the query or by default).
708
696
  limit:,
709
697
  # URL to the next page of items. ( `null` if none)
@@ -713,7 +701,8 @@ module Spotted
713
701
  # URL to the previous page of items. ( `null` if none)
714
702
  previous:,
715
703
  # The total number of items available to return.
716
- total:
704
+ total:,
705
+ items: nil
717
706
  )
718
707
  end
719
708
 
@@ -721,12 +710,12 @@ module Spotted
721
710
  override.returns(
722
711
  {
723
712
  href: String,
724
- items: T::Array[Spotted::SimplifiedEpisodeObject],
725
713
  limit: Integer,
726
714
  next_: T.nilable(String),
727
715
  offset: Integer,
728
716
  previous: T.nilable(String),
729
- total: Integer
717
+ total: Integer,
718
+ items: T::Array[Spotted::SimplifiedEpisodeObject]
730
719
  }
731
720
  )
732
721
  end
@@ -747,9 +736,6 @@ module Spotted
747
736
  sig { returns(String) }
748
737
  attr_accessor :href
749
738
 
750
- sig { returns(T::Array[Spotted::ShowBase]) }
751
- attr_accessor :items
752
-
753
739
  # The maximum number of items in the response (as set in the query or by default).
754
740
  sig { returns(Integer) }
755
741
  attr_accessor :limit
@@ -770,21 +756,26 @@ module Spotted
770
756
  sig { returns(Integer) }
771
757
  attr_accessor :total
772
758
 
759
+ sig { returns(T.nilable(T::Array[Spotted::ShowBase])) }
760
+ attr_reader :items
761
+
762
+ sig { params(items: T::Array[Spotted::ShowBase::OrHash]).void }
763
+ attr_writer :items
764
+
773
765
  sig do
774
766
  params(
775
767
  href: String,
776
- items: T::Array[Spotted::ShowBase::OrHash],
777
768
  limit: Integer,
778
769
  next_: T.nilable(String),
779
770
  offset: Integer,
780
771
  previous: T.nilable(String),
781
- total: Integer
772
+ total: Integer,
773
+ items: T::Array[Spotted::ShowBase::OrHash]
782
774
  ).returns(T.attached_class)
783
775
  end
784
776
  def self.new(
785
777
  # A link to the Web API endpoint returning the full result of the request
786
778
  href:,
787
- items:,
788
779
  # The maximum number of items in the response (as set in the query or by default).
789
780
  limit:,
790
781
  # URL to the next page of items. ( `null` if none)
@@ -794,7 +785,8 @@ module Spotted
794
785
  # URL to the previous page of items. ( `null` if none)
795
786
  previous:,
796
787
  # The total number of items available to return.
797
- total:
788
+ total:,
789
+ items: nil
798
790
  )
799
791
  end
800
792
 
@@ -802,12 +794,12 @@ module Spotted
802
794
  override.returns(
803
795
  {
804
796
  href: String,
805
- items: T::Array[Spotted::ShowBase],
806
797
  limit: Integer,
807
798
  next_: T.nilable(String),
808
799
  offset: Integer,
809
800
  previous: T.nilable(String),
810
- total: Integer
801
+ total: Integer,
802
+ items: T::Array[Spotted::ShowBase]
811
803
  }
812
804
  )
813
805
  end
@@ -828,9 +820,6 @@ module Spotted
828
820
  sig { returns(String) }
829
821
  attr_accessor :href
830
822
 
831
- sig { returns(T::Array[Spotted::TrackObject]) }
832
- attr_accessor :items
833
-
834
823
  # The maximum number of items in the response (as set in the query or by default).
835
824
  sig { returns(Integer) }
836
825
  attr_accessor :limit
@@ -851,21 +840,26 @@ module Spotted
851
840
  sig { returns(Integer) }
852
841
  attr_accessor :total
853
842
 
843
+ sig { returns(T.nilable(T::Array[Spotted::TrackObject])) }
844
+ attr_reader :items
845
+
846
+ sig { params(items: T::Array[Spotted::TrackObject::OrHash]).void }
847
+ attr_writer :items
848
+
854
849
  sig do
855
850
  params(
856
851
  href: String,
857
- items: T::Array[Spotted::TrackObject::OrHash],
858
852
  limit: Integer,
859
853
  next_: T.nilable(String),
860
854
  offset: Integer,
861
855
  previous: T.nilable(String),
862
- total: Integer
856
+ total: Integer,
857
+ items: T::Array[Spotted::TrackObject::OrHash]
863
858
  ).returns(T.attached_class)
864
859
  end
865
860
  def self.new(
866
861
  # A link to the Web API endpoint returning the full result of the request
867
862
  href:,
868
- items:,
869
863
  # The maximum number of items in the response (as set in the query or by default).
870
864
  limit:,
871
865
  # URL to the next page of items. ( `null` if none)
@@ -875,7 +869,8 @@ module Spotted
875
869
  # URL to the previous page of items. ( `null` if none)
876
870
  previous:,
877
871
  # The total number of items available to return.
878
- total:
872
+ total:,
873
+ items: nil
879
874
  )
880
875
  end
881
876
 
@@ -883,12 +878,12 @@ module Spotted
883
878
  override.returns(
884
879
  {
885
880
  href: String,
886
- items: T::Array[Spotted::TrackObject],
887
881
  limit: Integer,
888
882
  next_: T.nilable(String),
889
883
  offset: Integer,
890
884
  previous: T.nilable(String),
891
- total: Integer
885
+ total: Integer,
886
+ items: T::Array[Spotted::TrackObject]
892
887
  }
893
888
  )
894
889
  end
@@ -75,7 +75,7 @@ module Spotted
75
75
  attr_accessor :total_episodes
76
76
 
77
77
  # The object type.
78
- sig { returns(Spotted::ShowBase::Type::TaggedSymbol) }
78
+ sig { returns(Symbol) }
79
79
  attr_accessor :type
80
80
 
81
81
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
@@ -100,8 +100,8 @@ module Spotted
100
100
  name: String,
101
101
  publisher: String,
102
102
  total_episodes: Integer,
103
- type: Spotted::ShowBase::Type::OrSymbol,
104
- uri: String
103
+ uri: String,
104
+ type: Symbol
105
105
  ).returns(T.attached_class)
106
106
  end
107
107
  def self.new(
@@ -140,11 +140,11 @@ module Spotted
140
140
  publisher:,
141
141
  # The total number of episodes in the show.
142
142
  total_episodes:,
143
- # The object type.
144
- type:,
145
143
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
146
144
  # show.
147
- uri:
145
+ uri:,
146
+ # The object type.
147
+ type: :show
148
148
  )
149
149
  end
150
150
 
@@ -166,29 +166,13 @@ module Spotted
166
166
  name: String,
167
167
  publisher: String,
168
168
  total_episodes: Integer,
169
- type: Spotted::ShowBase::Type::TaggedSymbol,
169
+ type: Symbol,
170
170
  uri: String
171
171
  }
172
172
  )
173
173
  end
174
174
  def to_hash
175
175
  end
176
-
177
- # The object type.
178
- module Type
179
- extend Spotted::Internal::Type::Enum
180
-
181
- TaggedSymbol = T.type_alias { T.all(Symbol, Spotted::ShowBase::Type) }
182
- OrSymbol = T.type_alias { T.any(Symbol, String) }
183
-
184
- SHOW = T.let(:show, Spotted::ShowBase::Type::TaggedSymbol)
185
-
186
- sig do
187
- override.returns(T::Array[Spotted::ShowBase::Type::TaggedSymbol])
188
- end
189
- def self.values
190
- end
191
- end
192
176
  end
193
177
  end
194
178
  end
@@ -54,9 +54,6 @@ module Spotted
54
54
  sig { returns(String) }
55
55
  attr_accessor :href
56
56
 
57
- sig { returns(T::Array[Spotted::SimplifiedEpisodeObject]) }
58
- attr_accessor :items
59
-
60
57
  # The maximum number of items in the response (as set in the query or by default).
61
58
  sig { returns(Integer) }
62
59
  attr_accessor :limit
@@ -77,22 +74,29 @@ module Spotted
77
74
  sig { returns(Integer) }
78
75
  attr_accessor :total
79
76
 
77
+ sig { returns(T.nilable(T::Array[Spotted::SimplifiedEpisodeObject])) }
78
+ attr_reader :items
79
+
80
+ sig do
81
+ params(items: T::Array[Spotted::SimplifiedEpisodeObject::OrHash]).void
82
+ end
83
+ attr_writer :items
84
+
80
85
  # The episodes of the show.
81
86
  sig do
82
87
  params(
83
88
  href: String,
84
- items: T::Array[Spotted::SimplifiedEpisodeObject::OrHash],
85
89
  limit: Integer,
86
90
  next_: T.nilable(String),
87
91
  offset: Integer,
88
92
  previous: T.nilable(String),
89
- total: Integer
93
+ total: Integer,
94
+ items: T::Array[Spotted::SimplifiedEpisodeObject::OrHash]
90
95
  ).returns(T.attached_class)
91
96
  end
92
97
  def self.new(
93
98
  # A link to the Web API endpoint returning the full result of the request
94
99
  href:,
95
- items:,
96
100
  # The maximum number of items in the response (as set in the query or by default).
97
101
  limit:,
98
102
  # URL to the next page of items. ( `null` if none)
@@ -102,7 +106,8 @@ module Spotted
102
106
  # URL to the previous page of items. ( `null` if none)
103
107
  previous:,
104
108
  # The total number of items available to return.
105
- total:
109
+ total:,
110
+ items: nil
106
111
  )
107
112
  end
108
113
 
@@ -110,12 +115,12 @@ module Spotted
110
115
  override.returns(
111
116
  {
112
117
  href: String,
113
- items: T::Array[Spotted::SimplifiedEpisodeObject],
114
118
  limit: Integer,
115
119
  next_: T.nilable(String),
116
120
  offset: Integer,
117
121
  previous: T.nilable(String),
118
- total: Integer
122
+ total: Integer,
123
+ items: T::Array[Spotted::SimplifiedEpisodeObject]
119
124
  }
120
125
  )
121
126
  end
@@ -82,7 +82,7 @@ module Spotted
82
82
  attr_accessor :release_date_precision
83
83
 
84
84
  # The object type.
85
- sig { returns(Spotted::SimplifiedChapterObject::Type::TaggedSymbol) }
85
+ sig { returns(Symbol) }
86
86
  attr_accessor :type
87
87
 
88
88
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
@@ -133,11 +133,11 @@ module Spotted
133
133
  release_date: String,
134
134
  release_date_precision:
135
135
  Spotted::SimplifiedChapterObject::ReleaseDatePrecision::OrSymbol,
136
- type: Spotted::SimplifiedChapterObject::Type::OrSymbol,
137
136
  uri: String,
138
137
  available_markets: T::Array[String],
139
138
  restrictions: Spotted::ChapterRestrictionObject::OrHash,
140
- resume_point: Spotted::ResumePointObject::OrHash
139
+ resume_point: Spotted::ResumePointObject::OrHash,
140
+ type: Symbol
141
141
  ).returns(T.attached_class)
142
142
  end
143
143
  def self.new(
@@ -177,8 +177,6 @@ module Spotted
177
177
  release_date:,
178
178
  # The precision with which `release_date` value is known.
179
179
  release_date_precision:,
180
- # The object type.
181
- type:,
182
180
  # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
183
181
  # chapter.
184
182
  uri:,
@@ -189,7 +187,9 @@ module Spotted
189
187
  restrictions: nil,
190
188
  # The user's most recent position in the chapter. Set if the supplied access token
191
189
  # is a user token and has the scope 'user-read-playback-position'.
192
- resume_point: nil
190
+ resume_point: nil,
191
+ # The object type.
192
+ type: :episode
193
193
  )
194
194
  end
195
195
 
@@ -212,7 +212,7 @@ module Spotted
212
212
  release_date: String,
213
213
  release_date_precision:
214
214
  Spotted::SimplifiedChapterObject::ReleaseDatePrecision::TaggedSymbol,
215
- type: Spotted::SimplifiedChapterObject::Type::TaggedSymbol,
215
+ type: Symbol,
216
216
  uri: String,
217
217
  available_markets: T::Array[String],
218
218
  restrictions: Spotted::ChapterRestrictionObject,
@@ -262,26 +262,6 @@ module Spotted
262
262
  def self.values
263
263
  end
264
264
  end
265
-
266
- # The object type.
267
- module Type
268
- extend Spotted::Internal::Type::Enum
269
-
270
- TaggedSymbol =
271
- T.type_alias { T.all(Symbol, Spotted::SimplifiedChapterObject::Type) }
272
- OrSymbol = T.type_alias { T.any(Symbol, String) }
273
-
274
- EPISODE =
275
- T.let(:episode, Spotted::SimplifiedChapterObject::Type::TaggedSymbol)
276
-
277
- sig do
278
- override.returns(
279
- T::Array[Spotted::SimplifiedChapterObject::Type::TaggedSymbol]
280
- )
281
- end
282
- def self.values
283
- end
284
- end
285
265
  end
286
266
  end
287
267
  end