spotted 0.27.1 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6644fa77bd967bf629942c161beb6c9f1ba3a5b167173fe9210a1ca201647e29
4
- data.tar.gz: 2ae6b5928f5d2c4d416d0a62ce25703214b7029773ee56cc201c46c86de517dd
3
+ metadata.gz: 746bd6fc19b419d2cd4153d668c5954fe85a9de5c11f1e36450e3a9e4fc5a13f
4
+ data.tar.gz: dcf064442e755acfcf4bd3cf6d13fb3af2404fb8d349c33b92af9aa1a474db73
5
5
  SHA512:
6
- metadata.gz: 6fcf7e2b445817a2f460332ba7f55c55f7444b73949116ff659db35492f8885cc50917fcd34a4f1578c4c56d37ad3f237466b9227cc036c67c9feb586c21b561
7
- data.tar.gz: beb3b3149d8334dcbe144294b6a7daf4ec75cef7ec1d557c3084cc0eceffe685b83b1bc29d665aaa8a0ff4680c166bad5da1f8761184bc18b4c59bcb3654a6e6
6
+ metadata.gz: c0f331a6fdd56488f7428c29c197c7d8e6cac286797b85e9a62ceca54029c25c5bda96d74b1d379200dad0705787c8de6669b43762ac6b8149c44608e887d912
7
+ data.tar.gz: 0eb1b5b7ad293919c667dd01111edbc1f624e9e8d2228ff5b3766860edba48ff6df2681d5ef60f50724b64978f0ef3348611e71fe477389aff83936ae2aef456
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.28.0 (2025-12-18)
4
+
5
+ Full Changelog: [v0.27.1...v0.28.0](https://github.com/cjavdev/spotted/compare/v0.27.1...v0.28.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([8cacc46](https://github.com/cjavdev/spotted/commit/8cacc466a07fe96ef6f2522b457ea2656479ccb6))
10
+
3
11
  ## 0.27.1 (2025-12-17)
4
12
 
5
13
  Full Changelog: [v0.27.0...v0.27.1](https://github.com/cjavdev/spotted/compare/v0.27.0...v0.27.1)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "spotted", "~> 0.27.1"
20
+ gem "spotted", "~> 0.28.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -5,140 +5,54 @@ module Spotted
5
5
  module Browse
6
6
  # @see Spotted::Resources::Browse::Categories#list
7
7
  class CategoryListResponse < Spotted::Internal::Type::BaseModel
8
- # @!attribute categories
8
+ # @!attribute id
9
+ # The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) of
10
+ # the category.
9
11
  #
10
- # @return [Spotted::Models::Browse::CategoryListResponse::Categories]
11
- required :categories, -> { Spotted::Models::Browse::CategoryListResponse::Categories }
12
+ # @return [String]
13
+ required :id, String
12
14
 
13
- # @!method initialize(categories:)
14
- # @param categories [Spotted::Models::Browse::CategoryListResponse::Categories]
15
-
16
- # @see Spotted::Models::Browse::CategoryListResponse#categories
17
- class Categories < Spotted::Internal::Type::BaseModel
18
- # @!attribute href
19
- # A link to the Web API endpoint returning the full result of the request
20
- #
21
- # @return [String]
22
- required :href, String
23
-
24
- # @!attribute limit
25
- # The maximum number of items in the response (as set in the query or by default).
26
- #
27
- # @return [Integer]
28
- required :limit, Integer
29
-
30
- # @!attribute next_
31
- # URL to the next page of items. ( `null` if none)
32
- #
33
- # @return [String, nil]
34
- required :next_, String, api_name: :next, nil?: true
35
-
36
- # @!attribute offset
37
- # The offset of the items returned (as set in the query or by default)
38
- #
39
- # @return [Integer]
40
- required :offset, Integer
41
-
42
- # @!attribute previous
43
- # URL to the previous page of items. ( `null` if none)
44
- #
45
- # @return [String, nil]
46
- required :previous, String, nil?: true
47
-
48
- # @!attribute total
49
- # The total number of items available to return.
50
- #
51
- # @return [Integer]
52
- required :total, Integer
53
-
54
- # @!attribute items
55
- #
56
- # @return [Array<Spotted::Models::Browse::CategoryListResponse::Categories::Item>, nil]
57
- optional :items,
58
- -> { Spotted::Internal::Type::ArrayOf[Spotted::Models::Browse::CategoryListResponse::Categories::Item] }
59
-
60
- # @!attribute published
61
- # The playlist's public/private status (if it should be added to the user's
62
- # profile or not): `true` the playlist will be public, `false` the playlist will
63
- # be private, `null` the playlist status is not relevant. For more about
64
- # public/private status, see
65
- # [Working with Playlists](/documentation/web-api/concepts/playlists)
66
- #
67
- # @return [Boolean, nil]
68
- optional :published, Spotted::Internal::Type::Boolean
69
-
70
- # @!method initialize(href:, limit:, next_:, offset:, previous:, total:, items: nil, published: nil)
71
- # Some parameter documentations has been truncated, see
72
- # {Spotted::Models::Browse::CategoryListResponse::Categories} for more details.
73
- #
74
- # @param href [String] A link to the Web API endpoint returning the full result of the request
75
- #
76
- # @param limit [Integer] The maximum number of items in the response (as set in the query or by default).
77
- #
78
- # @param next_ [String, nil] URL to the next page of items. ( `null` if none)
79
- #
80
- # @param offset [Integer] The offset of the items returned (as set in the query or by default)
81
- #
82
- # @param previous [String, nil] URL to the previous page of items. ( `null` if none)
83
- #
84
- # @param total [Integer] The total number of items available to return.
85
- #
86
- # @param items [Array<Spotted::Models::Browse::CategoryListResponse::Categories::Item>]
87
- #
88
- # @param published [Boolean] The playlist's public/private status (if it should be added to the user's profil
89
-
90
- class Item < Spotted::Internal::Type::BaseModel
91
- # @!attribute id
92
- # The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) of
93
- # the category.
94
- #
95
- # @return [String]
96
- required :id, String
97
-
98
- # @!attribute href
99
- # A link to the Web API endpoint returning full details of the category.
100
- #
101
- # @return [String]
102
- required :href, String
103
-
104
- # @!attribute icons
105
- # The category icon, in various sizes.
106
- #
107
- # @return [Array<Spotted::Models::ImageObject>]
108
- required :icons, -> { Spotted::Internal::Type::ArrayOf[Spotted::ImageObject] }
15
+ # @!attribute href
16
+ # A link to the Web API endpoint returning full details of the category.
17
+ #
18
+ # @return [String]
19
+ required :href, String
109
20
 
110
- # @!attribute name
111
- # The name of the category.
112
- #
113
- # @return [String]
114
- required :name, String
21
+ # @!attribute icons
22
+ # The category icon, in various sizes.
23
+ #
24
+ # @return [Array<Spotted::Models::ImageObject>]
25
+ required :icons, -> { Spotted::Internal::Type::ArrayOf[Spotted::ImageObject] }
115
26
 
116
- # @!attribute published
117
- # The playlist's public/private status (if it should be added to the user's
118
- # profile or not): `true` the playlist will be public, `false` the playlist will
119
- # be private, `null` the playlist status is not relevant. For more about
120
- # public/private status, see
121
- # [Working with Playlists](/documentation/web-api/concepts/playlists)
122
- #
123
- # @return [Boolean, nil]
124
- optional :published, Spotted::Internal::Type::Boolean
27
+ # @!attribute name
28
+ # The name of the category.
29
+ #
30
+ # @return [String]
31
+ required :name, String
32
+
33
+ # @!attribute published
34
+ # The playlist's public/private status (if it should be added to the user's
35
+ # profile or not): `true` the playlist will be public, `false` the playlist will
36
+ # be private, `null` the playlist status is not relevant. For more about
37
+ # public/private status, see
38
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
39
+ #
40
+ # @return [Boolean, nil]
41
+ optional :published, Spotted::Internal::Type::Boolean
125
42
 
126
- # @!method initialize(id:, href:, icons:, name:, published: nil)
127
- # Some parameter documentations has been truncated, see
128
- # {Spotted::Models::Browse::CategoryListResponse::Categories::Item} for more
129
- # details.
130
- #
131
- # @param id [String] The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) of t
132
- #
133
- # @param href [String] A link to the Web API endpoint returning full details of the category.
134
- #
135
- # @param icons [Array<Spotted::Models::ImageObject>] The category icon, in various sizes.
136
- #
137
- # @param name [String] The name of the category.
138
- #
139
- # @param published [Boolean] The playlist's public/private status (if it should be added to the user's profil
140
- end
141
- end
43
+ # @!method initialize(id:, href:, icons:, name:, published: nil)
44
+ # Some parameter documentations has been truncated, see
45
+ # {Spotted::Models::Browse::CategoryListResponse} for more details.
46
+ #
47
+ # @param id [String] The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) of t
48
+ #
49
+ # @param href [String] A link to the Web API endpoint returning full details of the category.
50
+ #
51
+ # @param icons [Array<Spotted::Models::ImageObject>] The category icon, in various sizes.
52
+ #
53
+ # @param name [String] The name of the category.
54
+ #
55
+ # @param published [Boolean] The playlist's public/private status (if it should be added to the user's profil
142
56
  end
143
57
  end
144
58
  end
@@ -48,7 +48,7 @@ module Spotted
48
48
  #
49
49
  # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}, nil]
50
50
  #
51
- # @return [Spotted::Models::Browse::CategoryListResponse]
51
+ # @return [Spotted::Internal::CursorURLPage<Spotted::Models::Browse::CategoryListResponse>]
52
52
  #
53
53
  # @see Spotted::Models::Browse::CategoryListParams
54
54
  def list(params = {})
@@ -57,6 +57,7 @@ module Spotted
57
57
  method: :get,
58
58
  path: "browse/categories",
59
59
  query: parsed,
60
+ page: Spotted::Internal::CursorURLPage,
60
61
  model: Spotted::Models::Browse::CategoryListResponse,
61
62
  options: options
62
63
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Spotted
4
- VERSION = "0.27.1"
4
+ VERSION = "0.28.0"
5
5
  end
@@ -12,241 +12,74 @@ module Spotted
12
12
  )
13
13
  end
14
14
 
15
- sig do
16
- returns(Spotted::Models::Browse::CategoryListResponse::Categories)
17
- end
18
- attr_reader :categories
15
+ # The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) of
16
+ # the category.
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ # A link to the Web API endpoint returning full details of the category.
21
+ sig { returns(String) }
22
+ attr_accessor :href
23
+
24
+ # The category icon, in various sizes.
25
+ sig { returns(T::Array[Spotted::ImageObject]) }
26
+ attr_accessor :icons
27
+
28
+ # The name of the category.
29
+ sig { returns(String) }
30
+ attr_accessor :name
31
+
32
+ # The playlist's public/private status (if it should be added to the user's
33
+ # profile or not): `true` the playlist will be public, `false` the playlist will
34
+ # be private, `null` the playlist status is not relevant. For more about
35
+ # public/private status, see
36
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
37
+ sig { returns(T.nilable(T::Boolean)) }
38
+ attr_reader :published
39
+
40
+ sig { params(published: T::Boolean).void }
41
+ attr_writer :published
19
42
 
20
43
  sig do
21
44
  params(
22
- categories:
23
- Spotted::Models::Browse::CategoryListResponse::Categories::OrHash
24
- ).void
25
- end
26
- attr_writer :categories
27
-
28
- sig do
29
- params(
30
- categories:
31
- Spotted::Models::Browse::CategoryListResponse::Categories::OrHash
45
+ id: String,
46
+ href: String,
47
+ icons: T::Array[Spotted::ImageObject::OrHash],
48
+ name: String,
49
+ published: T::Boolean
32
50
  ).returns(T.attached_class)
33
51
  end
34
- def self.new(categories:)
35
- end
36
-
37
- sig do
38
- override.returns(
39
- {
40
- categories:
41
- Spotted::Models::Browse::CategoryListResponse::Categories
42
- }
43
- )
44
- end
45
- def to_hash
46
- end
47
-
48
- class Categories < Spotted::Internal::Type::BaseModel
49
- OrHash =
50
- T.type_alias do
51
- T.any(
52
- Spotted::Models::Browse::CategoryListResponse::Categories,
53
- Spotted::Internal::AnyHash
54
- )
55
- end
56
-
57
- # A link to the Web API endpoint returning the full result of the request
58
- sig { returns(String) }
59
- attr_accessor :href
60
-
61
- # The maximum number of items in the response (as set in the query or by default).
62
- sig { returns(Integer) }
63
- attr_accessor :limit
64
-
65
- # URL to the next page of items. ( `null` if none)
66
- sig { returns(T.nilable(String)) }
67
- attr_accessor :next_
68
-
69
- # The offset of the items returned (as set in the query or by default)
70
- sig { returns(Integer) }
71
- attr_accessor :offset
72
-
73
- # URL to the previous page of items. ( `null` if none)
74
- sig { returns(T.nilable(String)) }
75
- attr_accessor :previous
76
-
77
- # The total number of items available to return.
78
- sig { returns(Integer) }
79
- attr_accessor :total
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
-
92
- sig do
93
- params(
94
- items:
95
- T::Array[
96
- Spotted::Models::Browse::CategoryListResponse::Categories::Item::OrHash
97
- ]
98
- ).void
99
- end
100
- attr_writer :items
101
-
52
+ def self.new(
53
+ # The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) of
54
+ # the category.
55
+ id:,
56
+ # A link to the Web API endpoint returning full details of the category.
57
+ href:,
58
+ # The category icon, in various sizes.
59
+ icons:,
60
+ # The name of the category.
61
+ name:,
102
62
  # The playlist's public/private status (if it should be added to the user's
103
63
  # profile or not): `true` the playlist will be public, `false` the playlist will
104
64
  # be private, `null` the playlist status is not relevant. For more about
105
65
  # public/private status, see
106
66
  # [Working with Playlists](/documentation/web-api/concepts/playlists)
107
- sig { returns(T.nilable(T::Boolean)) }
108
- attr_reader :published
109
-
110
- sig { params(published: T::Boolean).void }
111
- attr_writer :published
67
+ published: nil
68
+ )
69
+ end
112
70
 
113
- sig do
114
- params(
71
+ sig do
72
+ override.returns(
73
+ {
74
+ id: String,
115
75
  href: String,
116
- limit: Integer,
117
- next_: T.nilable(String),
118
- offset: Integer,
119
- previous: T.nilable(String),
120
- total: Integer,
121
- items:
122
- T::Array[
123
- Spotted::Models::Browse::CategoryListResponse::Categories::Item::OrHash
124
- ],
76
+ icons: T::Array[Spotted::ImageObject],
77
+ name: String,
125
78
  published: T::Boolean
126
- ).returns(T.attached_class)
127
- end
128
- def self.new(
129
- # A link to the Web API endpoint returning the full result of the request
130
- href:,
131
- # The maximum number of items in the response (as set in the query or by default).
132
- limit:,
133
- # URL to the next page of items. ( `null` if none)
134
- next_:,
135
- # The offset of the items returned (as set in the query or by default)
136
- offset:,
137
- # URL to the previous page of items. ( `null` if none)
138
- previous:,
139
- # The total number of items available to return.
140
- total:,
141
- items: nil,
142
- # The playlist's public/private status (if it should be added to the user's
143
- # profile or not): `true` the playlist will be public, `false` the playlist will
144
- # be private, `null` the playlist status is not relevant. For more about
145
- # public/private status, see
146
- # [Working with Playlists](/documentation/web-api/concepts/playlists)
147
- published: nil
79
+ }
148
80
  )
149
- end
150
-
151
- sig do
152
- override.returns(
153
- {
154
- href: String,
155
- limit: Integer,
156
- next_: T.nilable(String),
157
- offset: Integer,
158
- previous: T.nilable(String),
159
- total: Integer,
160
- items:
161
- T::Array[
162
- Spotted::Models::Browse::CategoryListResponse::Categories::Item
163
- ],
164
- published: T::Boolean
165
- }
166
- )
167
- end
168
- def to_hash
169
- end
170
-
171
- class Item < Spotted::Internal::Type::BaseModel
172
- OrHash =
173
- T.type_alias do
174
- T.any(
175
- Spotted::Models::Browse::CategoryListResponse::Categories::Item,
176
- Spotted::Internal::AnyHash
177
- )
178
- end
179
-
180
- # The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) of
181
- # the category.
182
- sig { returns(String) }
183
- attr_accessor :id
184
-
185
- # A link to the Web API endpoint returning full details of the category.
186
- sig { returns(String) }
187
- attr_accessor :href
188
-
189
- # The category icon, in various sizes.
190
- sig { returns(T::Array[Spotted::ImageObject]) }
191
- attr_accessor :icons
192
-
193
- # The name of the category.
194
- sig { returns(String) }
195
- attr_accessor :name
196
-
197
- # The playlist's public/private status (if it should be added to the user's
198
- # profile or not): `true` the playlist will be public, `false` the playlist will
199
- # be private, `null` the playlist status is not relevant. For more about
200
- # public/private status, see
201
- # [Working with Playlists](/documentation/web-api/concepts/playlists)
202
- sig { returns(T.nilable(T::Boolean)) }
203
- attr_reader :published
204
-
205
- sig { params(published: T::Boolean).void }
206
- attr_writer :published
207
-
208
- sig do
209
- params(
210
- id: String,
211
- href: String,
212
- icons: T::Array[Spotted::ImageObject::OrHash],
213
- name: String,
214
- published: T::Boolean
215
- ).returns(T.attached_class)
216
- end
217
- def self.new(
218
- # The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) of
219
- # the category.
220
- id:,
221
- # A link to the Web API endpoint returning full details of the category.
222
- href:,
223
- # The category icon, in various sizes.
224
- icons:,
225
- # The name of the category.
226
- name:,
227
- # The playlist's public/private status (if it should be added to the user's
228
- # profile or not): `true` the playlist will be public, `false` the playlist will
229
- # be private, `null` the playlist status is not relevant. For more about
230
- # public/private status, see
231
- # [Working with Playlists](/documentation/web-api/concepts/playlists)
232
- published: nil
233
- )
234
- end
235
-
236
- sig do
237
- override.returns(
238
- {
239
- id: String,
240
- href: String,
241
- icons: T::Array[Spotted::ImageObject],
242
- name: String,
243
- published: T::Boolean
244
- }
245
- )
246
- end
247
- def to_hash
248
- end
249
- end
81
+ end
82
+ def to_hash
250
83
  end
251
84
  end
252
85
  end
@@ -38,7 +38,11 @@ module Spotted
38
38
  locale: String,
39
39
  offset: Integer,
40
40
  request_options: Spotted::RequestOptions::OrHash
41
- ).returns(Spotted::Models::Browse::CategoryListResponse)
41
+ ).returns(
42
+ Spotted::Internal::CursorURLPage[
43
+ Spotted::Models::Browse::CategoryListResponse
44
+ ]
45
+ )
42
46
  end
43
47
  def list(
44
48
  # The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
@@ -3,116 +3,41 @@ module Spotted
3
3
  module Browse
4
4
  type category_list_response =
5
5
  {
6
- categories: Spotted::Models::Browse::CategoryListResponse::Categories
6
+ id: String,
7
+ href: String,
8
+ icons: ::Array[Spotted::ImageObject],
9
+ name: String,
10
+ published: bool
7
11
  }
8
12
 
9
13
  class CategoryListResponse < Spotted::Internal::Type::BaseModel
10
- attr_accessor categories: Spotted::Models::Browse::CategoryListResponse::Categories
14
+ attr_accessor id: String
11
15
 
12
- def initialize: (
13
- categories: Spotted::Models::Browse::CategoryListResponse::Categories
14
- ) -> void
15
-
16
- def to_hash: -> {
17
- categories: Spotted::Models::Browse::CategoryListResponse::Categories
18
- }
19
-
20
- type categories =
21
- {
22
- href: String,
23
- limit: Integer,
24
- next_: String?,
25
- offset: Integer,
26
- previous: String?,
27
- total: Integer,
28
- items: ::Array[Spotted::Models::Browse::CategoryListResponse::Categories::Item],
29
- published: bool
30
- }
31
-
32
- class Categories < Spotted::Internal::Type::BaseModel
33
- attr_accessor href: String
34
-
35
- attr_accessor limit: Integer
36
-
37
- attr_accessor next_: String?
38
-
39
- attr_accessor offset: Integer
40
-
41
- attr_accessor previous: String?
42
-
43
- attr_accessor total: Integer
44
-
45
- attr_reader items: ::Array[Spotted::Models::Browse::CategoryListResponse::Categories::Item]?
16
+ attr_accessor href: String
46
17
 
47
- def items=: (
48
- ::Array[Spotted::Models::Browse::CategoryListResponse::Categories::Item]
49
- ) -> ::Array[Spotted::Models::Browse::CategoryListResponse::Categories::Item]
18
+ attr_accessor icons: ::Array[Spotted::ImageObject]
50
19
 
51
- attr_reader published: bool?
20
+ attr_accessor name: String
52
21
 
53
- def published=: (bool) -> bool
22
+ attr_reader published: bool?
54
23
 
55
- def initialize: (
56
- href: String,
57
- limit: Integer,
58
- next_: String?,
59
- offset: Integer,
60
- previous: String?,
61
- total: Integer,
62
- ?items: ::Array[Spotted::Models::Browse::CategoryListResponse::Categories::Item],
63
- ?published: bool
64
- ) -> void
24
+ def published=: (bool) -> bool
65
25
 
66
- def to_hash: -> {
67
- href: String,
68
- limit: Integer,
69
- next_: String?,
70
- offset: Integer,
71
- previous: String?,
72
- total: Integer,
73
- items: ::Array[Spotted::Models::Browse::CategoryListResponse::Categories::Item],
74
- published: bool
75
- }
76
-
77
- type item =
78
- {
79
- id: String,
80
- href: String,
81
- icons: ::Array[Spotted::ImageObject],
82
- name: String,
83
- published: bool
84
- }
85
-
86
- class Item < Spotted::Internal::Type::BaseModel
87
- attr_accessor id: String
88
-
89
- attr_accessor href: String
90
-
91
- attr_accessor icons: ::Array[Spotted::ImageObject]
92
-
93
- attr_accessor name: String
94
-
95
- attr_reader published: bool?
96
-
97
- def published=: (bool) -> bool
98
-
99
- def initialize: (
100
- id: String,
101
- href: String,
102
- icons: ::Array[Spotted::ImageObject],
103
- name: String,
104
- ?published: bool
105
- ) -> void
26
+ def initialize: (
27
+ id: String,
28
+ href: String,
29
+ icons: ::Array[Spotted::ImageObject],
30
+ name: String,
31
+ ?published: bool
32
+ ) -> void
106
33
 
107
- def to_hash: -> {
108
- id: String,
109
- href: String,
110
- icons: ::Array[Spotted::ImageObject],
111
- name: String,
112
- published: bool
113
- }
114
- end
115
- end
34
+ def to_hash: -> {
35
+ id: String,
36
+ href: String,
37
+ icons: ::Array[Spotted::ImageObject],
38
+ name: String,
39
+ published: bool
40
+ }
116
41
  end
117
42
  end
118
43
  end
@@ -13,7 +13,7 @@ module Spotted
13
13
  ?locale: String,
14
14
  ?offset: Integer,
15
15
  ?request_options: Spotted::request_opts
16
- ) -> Spotted::Models::Browse::CategoryListResponse
16
+ ) -> Spotted::Internal::CursorURLPage[Spotted::Models::Browse::CategoryListResponse]
17
17
 
18
18
  def get_playlists: (
19
19
  String category_id,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spotted
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.1
4
+ version: 0.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Spotted
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-17 00:00:00.000000000 Z
11
+ date: 2025-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool