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
@@ -36,7 +36,7 @@ module Spotted
36
36
  def to_hash
37
37
  end
38
38
 
39
- class Audiobook < Spotted::Internal::Type::BaseModel
39
+ class Audiobook < Spotted::Models::AudiobookBase
40
40
  OrHash =
41
41
  T.type_alias do
42
42
  T.any(
@@ -45,21 +45,6 @@ module Spotted
45
45
  )
46
46
  end
47
47
 
48
- # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
49
- # audiobook.
50
- sig { returns(String) }
51
- attr_accessor :id
52
-
53
- # The author(s) for the audiobook.
54
- sig { returns(T::Array[Spotted::AuthorObject]) }
55
- attr_accessor :authors
56
-
57
- # A list of the countries in which the audiobook can be played, identified by
58
- # their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
59
- # code.
60
- sig { returns(T::Array[String]) }
61
- attr_accessor :available_markets
62
-
63
48
  # The chapters of the audiobook.
64
49
  sig do
65
50
  returns(Spotted::Models::AudiobookListResponse::Audiobook::Chapters)
@@ -74,186 +59,23 @@ module Spotted
74
59
  end
75
60
  attr_writer :chapters
76
61
 
77
- # The copyright statements of the audiobook.
78
- sig { returns(T::Array[Spotted::CopyrightObject]) }
79
- attr_accessor :copyrights
80
-
81
- # A description of the audiobook. HTML tags are stripped away from this field, use
82
- # `html_description` field in case HTML tags are needed.
83
- sig { returns(String) }
84
- attr_accessor :description
85
-
86
- # Whether or not the audiobook has explicit content (true = yes it does; false =
87
- # no it does not OR unknown).
88
- sig { returns(T::Boolean) }
89
- attr_accessor :explicit
90
-
91
- # External URLs for this audiobook.
92
- sig { returns(Spotted::ExternalURLObject) }
93
- attr_reader :external_urls
94
-
95
- sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
96
- attr_writer :external_urls
97
-
98
- # A link to the Web API endpoint providing full details of the audiobook.
99
- sig { returns(String) }
100
- attr_accessor :href
101
-
102
- # A description of the audiobook. This field may contain HTML tags.
103
- sig { returns(String) }
104
- attr_accessor :html_description
105
-
106
- # The cover art for the audiobook in various sizes, widest first.
107
- sig { returns(T::Array[Spotted::ImageObject]) }
108
- attr_accessor :images
109
-
110
- # A list of the languages used in the audiobook, identified by their
111
- # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
112
- sig { returns(T::Array[String]) }
113
- attr_accessor :languages
114
-
115
- # The media type of the audiobook.
116
- sig { returns(String) }
117
- attr_accessor :media_type
118
-
119
- # The name of the audiobook.
120
- sig { returns(String) }
121
- attr_accessor :name
122
-
123
- # The narrator(s) for the audiobook.
124
- sig { returns(T::Array[Spotted::NarratorObject]) }
125
- attr_accessor :narrators
126
-
127
- # The publisher of the audiobook.
128
- sig { returns(String) }
129
- attr_accessor :publisher
130
-
131
- # The number of chapters in this audiobook.
132
- sig { returns(Integer) }
133
- attr_accessor :total_chapters
134
-
135
- # The object type.
136
- sig do
137
- returns(
138
- Spotted::Models::AudiobookListResponse::Audiobook::Type::TaggedSymbol
139
- )
140
- end
141
- attr_accessor :type
142
-
143
- # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
144
- # audiobook.
145
- sig { returns(String) }
146
- attr_accessor :uri
147
-
148
- # The edition of the audiobook.
149
- sig { returns(T.nilable(String)) }
150
- attr_reader :edition
151
-
152
- sig { params(edition: String).void }
153
- attr_writer :edition
154
-
155
62
  sig do
156
63
  params(
157
- id: String,
158
- authors: T::Array[Spotted::AuthorObject::OrHash],
159
- available_markets: T::Array[String],
160
64
  chapters:
161
- Spotted::Models::AudiobookListResponse::Audiobook::Chapters::OrHash,
162
- copyrights: T::Array[Spotted::CopyrightObject::OrHash],
163
- description: String,
164
- explicit: T::Boolean,
165
- external_urls: Spotted::ExternalURLObject::OrHash,
166
- href: String,
167
- html_description: String,
168
- images: T::Array[Spotted::ImageObject::OrHash],
169
- languages: T::Array[String],
170
- media_type: String,
171
- name: String,
172
- narrators: T::Array[Spotted::NarratorObject::OrHash],
173
- publisher: String,
174
- total_chapters: Integer,
175
- type:
176
- Spotted::Models::AudiobookListResponse::Audiobook::Type::OrSymbol,
177
- uri: String,
178
- edition: String
65
+ Spotted::Models::AudiobookListResponse::Audiobook::Chapters::OrHash
179
66
  ).returns(T.attached_class)
180
67
  end
181
68
  def self.new(
182
- # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
183
- # audiobook.
184
- id:,
185
- # The author(s) for the audiobook.
186
- authors:,
187
- # A list of the countries in which the audiobook can be played, identified by
188
- # their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
189
- # code.
190
- available_markets:,
191
69
  # The chapters of the audiobook.
192
- chapters:,
193
- # The copyright statements of the audiobook.
194
- copyrights:,
195
- # A description of the audiobook. HTML tags are stripped away from this field, use
196
- # `html_description` field in case HTML tags are needed.
197
- description:,
198
- # Whether or not the audiobook has explicit content (true = yes it does; false =
199
- # no it does not OR unknown).
200
- explicit:,
201
- # External URLs for this audiobook.
202
- external_urls:,
203
- # A link to the Web API endpoint providing full details of the audiobook.
204
- href:,
205
- # A description of the audiobook. This field may contain HTML tags.
206
- html_description:,
207
- # The cover art for the audiobook in various sizes, widest first.
208
- images:,
209
- # A list of the languages used in the audiobook, identified by their
210
- # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
211
- languages:,
212
- # The media type of the audiobook.
213
- media_type:,
214
- # The name of the audiobook.
215
- name:,
216
- # The narrator(s) for the audiobook.
217
- narrators:,
218
- # The publisher of the audiobook.
219
- publisher:,
220
- # The number of chapters in this audiobook.
221
- total_chapters:,
222
- # The object type.
223
- type:,
224
- # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
225
- # audiobook.
226
- uri:,
227
- # The edition of the audiobook.
228
- edition: nil
70
+ chapters:
229
71
  )
230
72
  end
231
73
 
232
74
  sig do
233
75
  override.returns(
234
76
  {
235
- id: String,
236
- authors: T::Array[Spotted::AuthorObject],
237
- available_markets: T::Array[String],
238
77
  chapters:
239
- Spotted::Models::AudiobookListResponse::Audiobook::Chapters,
240
- copyrights: T::Array[Spotted::CopyrightObject],
241
- description: String,
242
- explicit: T::Boolean,
243
- external_urls: Spotted::ExternalURLObject,
244
- href: String,
245
- html_description: String,
246
- images: T::Array[Spotted::ImageObject],
247
- languages: T::Array[String],
248
- media_type: String,
249
- name: String,
250
- narrators: T::Array[Spotted::NarratorObject],
251
- publisher: String,
252
- total_chapters: Integer,
253
- type:
254
- Spotted::Models::AudiobookListResponse::Audiobook::Type::TaggedSymbol,
255
- uri: String,
256
- edition: String
78
+ Spotted::Models::AudiobookListResponse::Audiobook::Chapters
257
79
  }
258
80
  )
259
81
  end
@@ -341,36 +163,6 @@ module Spotted
341
163
  def to_hash
342
164
  end
343
165
  end
344
-
345
- # The object type.
346
- module Type
347
- extend Spotted::Internal::Type::Enum
348
-
349
- TaggedSymbol =
350
- T.type_alias do
351
- T.all(
352
- Symbol,
353
- Spotted::Models::AudiobookListResponse::Audiobook::Type
354
- )
355
- end
356
- OrSymbol = T.type_alias { T.any(Symbol, String) }
357
-
358
- AUDIOBOOK =
359
- T.let(
360
- :audiobook,
361
- Spotted::Models::AudiobookListResponse::Audiobook::Type::TaggedSymbol
362
- )
363
-
364
- sig do
365
- override.returns(
366
- T::Array[
367
- Spotted::Models::AudiobookListResponse::Audiobook::Type::TaggedSymbol
368
- ]
369
- )
370
- end
371
- def self.values
372
- end
373
- end
374
166
  end
375
167
  end
376
168
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Spotted
4
4
  module Models
5
- class AudiobookRetrieveResponse < Spotted::Internal::Type::BaseModel
5
+ class AudiobookRetrieveResponse < Spotted::Models::AudiobookBase
6
6
  OrHash =
7
7
  T.type_alias do
8
8
  T.any(
@@ -11,21 +11,6 @@ module Spotted
11
11
  )
12
12
  end
13
13
 
14
- # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
15
- # audiobook.
16
- sig { returns(String) }
17
- attr_accessor :id
18
-
19
- # The author(s) for the audiobook.
20
- sig { returns(T::Array[Spotted::AuthorObject]) }
21
- attr_accessor :authors
22
-
23
- # A list of the countries in which the audiobook can be played, identified by
24
- # their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
25
- # code.
26
- sig { returns(T::Array[String]) }
27
- attr_accessor :available_markets
28
-
29
14
  # The chapters of the audiobook.
30
15
  sig { returns(Spotted::Models::AudiobookRetrieveResponse::Chapters) }
31
16
  attr_reader :chapters
@@ -37,183 +22,20 @@ module Spotted
37
22
  end
38
23
  attr_writer :chapters
39
24
 
40
- # The copyright statements of the audiobook.
41
- sig { returns(T::Array[Spotted::CopyrightObject]) }
42
- attr_accessor :copyrights
43
-
44
- # A description of the audiobook. HTML tags are stripped away from this field, use
45
- # `html_description` field in case HTML tags are needed.
46
- sig { returns(String) }
47
- attr_accessor :description
48
-
49
- # Whether or not the audiobook has explicit content (true = yes it does; false =
50
- # no it does not OR unknown).
51
- sig { returns(T::Boolean) }
52
- attr_accessor :explicit
53
-
54
- # External URLs for this audiobook.
55
- sig { returns(Spotted::ExternalURLObject) }
56
- attr_reader :external_urls
57
-
58
- sig { params(external_urls: Spotted::ExternalURLObject::OrHash).void }
59
- attr_writer :external_urls
60
-
61
- # A link to the Web API endpoint providing full details of the audiobook.
62
- sig { returns(String) }
63
- attr_accessor :href
64
-
65
- # A description of the audiobook. This field may contain HTML tags.
66
- sig { returns(String) }
67
- attr_accessor :html_description
68
-
69
- # The cover art for the audiobook in various sizes, widest first.
70
- sig { returns(T::Array[Spotted::ImageObject]) }
71
- attr_accessor :images
72
-
73
- # A list of the languages used in the audiobook, identified by their
74
- # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
75
- sig { returns(T::Array[String]) }
76
- attr_accessor :languages
77
-
78
- # The media type of the audiobook.
79
- sig { returns(String) }
80
- attr_accessor :media_type
81
-
82
- # The name of the audiobook.
83
- sig { returns(String) }
84
- attr_accessor :name
85
-
86
- # The narrator(s) for the audiobook.
87
- sig { returns(T::Array[Spotted::NarratorObject]) }
88
- attr_accessor :narrators
89
-
90
- # The publisher of the audiobook.
91
- sig { returns(String) }
92
- attr_accessor :publisher
93
-
94
- # The number of chapters in this audiobook.
95
- sig { returns(Integer) }
96
- attr_accessor :total_chapters
97
-
98
- # The object type.
99
- sig do
100
- returns(Spotted::Models::AudiobookRetrieveResponse::Type::TaggedSymbol)
101
- end
102
- attr_accessor :type
103
-
104
- # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
105
- # audiobook.
106
- sig { returns(String) }
107
- attr_accessor :uri
108
-
109
- # The edition of the audiobook.
110
- sig { returns(T.nilable(String)) }
111
- attr_reader :edition
112
-
113
- sig { params(edition: String).void }
114
- attr_writer :edition
115
-
116
25
  sig do
117
26
  params(
118
- id: String,
119
- authors: T::Array[Spotted::AuthorObject::OrHash],
120
- available_markets: T::Array[String],
121
- chapters:
122
- Spotted::Models::AudiobookRetrieveResponse::Chapters::OrHash,
123
- copyrights: T::Array[Spotted::CopyrightObject::OrHash],
124
- description: String,
125
- explicit: T::Boolean,
126
- external_urls: Spotted::ExternalURLObject::OrHash,
127
- href: String,
128
- html_description: String,
129
- images: T::Array[Spotted::ImageObject::OrHash],
130
- languages: T::Array[String],
131
- media_type: String,
132
- name: String,
133
- narrators: T::Array[Spotted::NarratorObject::OrHash],
134
- publisher: String,
135
- total_chapters: Integer,
136
- type: Spotted::Models::AudiobookRetrieveResponse::Type::OrSymbol,
137
- uri: String,
138
- edition: String
27
+ chapters: Spotted::Models::AudiobookRetrieveResponse::Chapters::OrHash
139
28
  ).returns(T.attached_class)
140
29
  end
141
30
  def self.new(
142
- # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
143
- # audiobook.
144
- id:,
145
- # The author(s) for the audiobook.
146
- authors:,
147
- # A list of the countries in which the audiobook can be played, identified by
148
- # their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
149
- # code.
150
- available_markets:,
151
31
  # The chapters of the audiobook.
152
- chapters:,
153
- # The copyright statements of the audiobook.
154
- copyrights:,
155
- # A description of the audiobook. HTML tags are stripped away from this field, use
156
- # `html_description` field in case HTML tags are needed.
157
- description:,
158
- # Whether or not the audiobook has explicit content (true = yes it does; false =
159
- # no it does not OR unknown).
160
- explicit:,
161
- # External URLs for this audiobook.
162
- external_urls:,
163
- # A link to the Web API endpoint providing full details of the audiobook.
164
- href:,
165
- # A description of the audiobook. This field may contain HTML tags.
166
- html_description:,
167
- # The cover art for the audiobook in various sizes, widest first.
168
- images:,
169
- # A list of the languages used in the audiobook, identified by their
170
- # [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code.
171
- languages:,
172
- # The media type of the audiobook.
173
- media_type:,
174
- # The name of the audiobook.
175
- name:,
176
- # The narrator(s) for the audiobook.
177
- narrators:,
178
- # The publisher of the audiobook.
179
- publisher:,
180
- # The number of chapters in this audiobook.
181
- total_chapters:,
182
- # The object type.
183
- type:,
184
- # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
185
- # audiobook.
186
- uri:,
187
- # The edition of the audiobook.
188
- edition: nil
32
+ chapters:
189
33
  )
190
34
  end
191
35
 
192
36
  sig do
193
37
  override.returns(
194
- {
195
- id: String,
196
- authors: T::Array[Spotted::AuthorObject],
197
- available_markets: T::Array[String],
198
- chapters: Spotted::Models::AudiobookRetrieveResponse::Chapters,
199
- copyrights: T::Array[Spotted::CopyrightObject],
200
- description: String,
201
- explicit: T::Boolean,
202
- external_urls: Spotted::ExternalURLObject,
203
- href: String,
204
- html_description: String,
205
- images: T::Array[Spotted::ImageObject],
206
- languages: T::Array[String],
207
- media_type: String,
208
- name: String,
209
- narrators: T::Array[Spotted::NarratorObject],
210
- publisher: String,
211
- total_chapters: Integer,
212
- type:
213
- Spotted::Models::AudiobookRetrieveResponse::Type::TaggedSymbol,
214
- uri: String,
215
- edition: String
216
- }
38
+ { chapters: Spotted::Models::AudiobookRetrieveResponse::Chapters }
217
39
  )
218
40
  end
219
41
  def to_hash
@@ -300,33 +122,6 @@ module Spotted
300
122
  def to_hash
301
123
  end
302
124
  end
303
-
304
- # The object type.
305
- module Type
306
- extend Spotted::Internal::Type::Enum
307
-
308
- TaggedSymbol =
309
- T.type_alias do
310
- T.all(Symbol, Spotted::Models::AudiobookRetrieveResponse::Type)
311
- end
312
- OrSymbol = T.type_alias { T.any(Symbol, String) }
313
-
314
- AUDIOBOOK =
315
- T.let(
316
- :audiobook,
317
- Spotted::Models::AudiobookRetrieveResponse::Type::TaggedSymbol
318
- )
319
-
320
- sig do
321
- override.returns(
322
- T::Array[
323
- Spotted::Models::AudiobookRetrieveResponse::Type::TaggedSymbol
324
- ]
325
- )
326
- end
327
- def self.values
328
- end
329
- end
330
125
  end
331
126
  end
332
127
  end