spotted 0.2.0 → 0.3.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 +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +1 -1
- data/lib/spotted/client.rb +4 -0
- data/lib/spotted/internal/transport/base_client.rb +7 -1
- data/lib/spotted/models/unwrap_webhook_event.rb +8 -0
- data/lib/spotted/models/webhook_unwrap_params.rb +14 -0
- data/lib/spotted/models.rb +5 -0
- data/lib/spotted/resources/webhooks.rb +22 -0
- data/lib/spotted/version.rb +1 -1
- data/lib/spotted.rb +3 -0
- data/rbi/spotted/client.rbi +3 -0
- data/rbi/spotted/internal/transport/base_client.rbi +5 -0
- data/rbi/spotted/internal/type/base_model.rbi +8 -4
- data/rbi/spotted/models/unwrap_webhook_event.rbi +7 -0
- data/rbi/spotted/models/webhook_unwrap_params.rbi +27 -0
- data/rbi/spotted/models.rbi +8 -0
- data/rbi/spotted/resources/webhooks.rbi +19 -0
- data/sig/spotted/client.rbs +2 -0
- data/sig/spotted/internal/transport/base_client.rbs +2 -0
- data/sig/spotted/models/unwrap_webhook_event.rbs +5 -0
- data/sig/spotted/models/webhook_unwrap_params.rbs +15 -0
- data/sig/spotted/models.rbs +4 -0
- data/sig/spotted/resources/webhooks.rbs +9 -0
- metadata +11 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ce3e4a67c02e0a7307440bd85d8f3c618311738750ed8b68cfe8c315574e1260
|
|
4
|
+
data.tar.gz: 36f98cdb895bdff0c933f59cc76ac1079b9cd83456ef03c605c7454594fcdc9f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1bbb428c95e6f329c9d65dc57947b9690d69a0e09f9f8b9ec5a78181a0656d6170a31fa9ad1dc3a8ee2b7920ea68a59c53f706c059602ff58c7d053e3e306c96
|
|
7
|
+
data.tar.gz: f8f97640a05e5d8a20c506c951606b73357c0759eccf6197e0608954b29fd82e870886a793f6eb8a38b53b8f54ad2ba582785985b633bf04aca4125683451ca6
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.0 (2025-11-04)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.2.0...v0.3.0](https://github.com/cjavdev/spotted/compare/v0.2.0...v0.3.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** manual updates ([74dd654](https://github.com/cjavdev/spotted/commit/74dd654b38aae172e84db3392e0b8dbfe5842ae8))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Chores
|
|
13
|
+
|
|
14
|
+
* bump dependency version and update sorbet types ([b5dbafb](https://github.com/cjavdev/spotted/commit/b5dbafb956916c8e1488a2861d5877533b015e0b))
|
|
15
|
+
|
|
3
16
|
## 0.2.0 (2025-10-24)
|
|
4
17
|
|
|
5
18
|
Full Changelog: [v0.1.0...v0.2.0](https://github.com/cjavdev/spotted/compare/v0.1.0...v0.2.0)
|
data/README.md
CHANGED
data/lib/spotted/client.rb
CHANGED
|
@@ -66,6 +66,9 @@ module Spotted
|
|
|
66
66
|
# @return [Spotted::Resources::Recommendations]
|
|
67
67
|
attr_reader :recommendations
|
|
68
68
|
|
|
69
|
+
# @return [Spotted::Resources::Webhooks]
|
|
70
|
+
attr_reader :webhooks
|
|
71
|
+
|
|
69
72
|
# @return [Spotted::Resources::Markets]
|
|
70
73
|
attr_reader :markets
|
|
71
74
|
|
|
@@ -163,6 +166,7 @@ module Spotted
|
|
|
163
166
|
@audio_features = Spotted::Resources::AudioFeatures.new(client: self)
|
|
164
167
|
@audio_analysis = Spotted::Resources::AudioAnalysis.new(client: self)
|
|
165
168
|
@recommendations = Spotted::Resources::Recommendations.new(client: self)
|
|
169
|
+
@webhooks = Spotted::Resources::Webhooks.new(client: self)
|
|
166
170
|
@markets = Spotted::Resources::Markets.new(client: self)
|
|
167
171
|
end
|
|
168
172
|
end
|
|
@@ -201,7 +201,8 @@ module Spotted
|
|
|
201
201
|
self.class::PLATFORM_HEADERS,
|
|
202
202
|
{
|
|
203
203
|
"accept" => "application/json",
|
|
204
|
-
"content-type" => "application/json"
|
|
204
|
+
"content-type" => "application/json",
|
|
205
|
+
"user-agent" => user_agent
|
|
205
206
|
},
|
|
206
207
|
headers
|
|
207
208
|
)
|
|
@@ -219,6 +220,11 @@ module Spotted
|
|
|
219
220
|
# @return [Hash{String=>String}]
|
|
220
221
|
private def auth_headers = {}
|
|
221
222
|
|
|
223
|
+
# @api private
|
|
224
|
+
#
|
|
225
|
+
# @return [String]
|
|
226
|
+
private def user_agent = "#{self.class.name}/Ruby #{Spotted::VERSION}"
|
|
227
|
+
|
|
222
228
|
# @api private
|
|
223
229
|
#
|
|
224
230
|
# @return [String]
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Models
|
|
5
|
+
# @see Spotted::Resources::Webhooks#unwrap
|
|
6
|
+
class WebhookUnwrapParams < Spotted::Internal::Type::BaseModel
|
|
7
|
+
extend Spotted::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Spotted::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!method initialize(request_options: {})
|
|
11
|
+
# @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}]
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
data/lib/spotted/models.rb
CHANGED
|
@@ -166,7 +166,12 @@ module Spotted
|
|
|
166
166
|
|
|
167
167
|
TrackRetrieveParams = Spotted::Models::TrackRetrieveParams
|
|
168
168
|
|
|
169
|
+
# @type [Spotted::Internal::Type::Converter]
|
|
170
|
+
UnwrapWebhookEvent = Spotted::Models::UnwrapWebhookEvent
|
|
171
|
+
|
|
169
172
|
UserRetrieveProfileParams = Spotted::Models::UserRetrieveProfileParams
|
|
170
173
|
|
|
171
174
|
Users = Spotted::Models::Users
|
|
175
|
+
|
|
176
|
+
WebhookUnwrapParams = Spotted::Models::WebhookUnwrapParams
|
|
172
177
|
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Resources
|
|
5
|
+
class Webhooks
|
|
6
|
+
# @param payload [String] The raw webhook payload as a string
|
|
7
|
+
#
|
|
8
|
+
# @return [Object]
|
|
9
|
+
def unwrap(payload)
|
|
10
|
+
parsed = JSON.parse(payload, symbolize_names: true)
|
|
11
|
+
Spotted::Internal::Type::Converter.coerce(Spotted::Models::UnwrapWebhookEvent, parsed)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# @api private
|
|
15
|
+
#
|
|
16
|
+
# @param client [Spotted::Client]
|
|
17
|
+
def initialize(client:)
|
|
18
|
+
@client = client
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
data/lib/spotted/version.rb
CHANGED
data/lib/spotted.rb
CHANGED
|
@@ -220,11 +220,13 @@ require_relative "spotted/models/track_list_response"
|
|
|
220
220
|
require_relative "spotted/models/track_object"
|
|
221
221
|
require_relative "spotted/models/track_restriction_object"
|
|
222
222
|
require_relative "spotted/models/track_retrieve_params"
|
|
223
|
+
require_relative "spotted/models/unwrap_webhook_event"
|
|
223
224
|
require_relative "spotted/models/user_retrieve_profile_params"
|
|
224
225
|
require_relative "spotted/models/user_retrieve_profile_response"
|
|
225
226
|
require_relative "spotted/models/users/playlist_create_params"
|
|
226
227
|
require_relative "spotted/models/users/playlist_create_response"
|
|
227
228
|
require_relative "spotted/models/users/playlist_list_params"
|
|
229
|
+
require_relative "spotted/models/webhook_unwrap_params"
|
|
228
230
|
require_relative "spotted/models"
|
|
229
231
|
require_relative "spotted/resources/albums"
|
|
230
232
|
require_relative "spotted/resources/artists"
|
|
@@ -257,3 +259,4 @@ require_relative "spotted/resources/shows"
|
|
|
257
259
|
require_relative "spotted/resources/tracks"
|
|
258
260
|
require_relative "spotted/resources/users"
|
|
259
261
|
require_relative "spotted/resources/users/playlists"
|
|
262
|
+
require_relative "spotted/resources/webhooks"
|
data/rbi/spotted/client.rbi
CHANGED
|
@@ -31,7 +31,7 @@ module Spotted
|
|
|
31
31
|
#
|
|
32
32
|
# Assumes superclass fields are totally defined before fields are accessed /
|
|
33
33
|
# defined on subclasses.
|
|
34
|
-
sig { params(child:
|
|
34
|
+
sig { params(child: Spotted::Internal::Type::BaseModel).void }
|
|
35
35
|
def inherited(child)
|
|
36
36
|
end
|
|
37
37
|
|
|
@@ -274,9 +274,13 @@ module Spotted
|
|
|
274
274
|
|
|
275
275
|
# Create a new instance of a model.
|
|
276
276
|
sig do
|
|
277
|
-
params(
|
|
278
|
-
|
|
279
|
-
|
|
277
|
+
params(
|
|
278
|
+
data:
|
|
279
|
+
T.any(
|
|
280
|
+
T::Hash[Symbol, T.anything],
|
|
281
|
+
Spotted::Internal::Type::BaseModel
|
|
282
|
+
)
|
|
283
|
+
).returns(T.attached_class)
|
|
280
284
|
end
|
|
281
285
|
def self.new(data = {})
|
|
282
286
|
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Models
|
|
5
|
+
class WebhookUnwrapParams < Spotted::Internal::Type::BaseModel
|
|
6
|
+
extend Spotted::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Spotted::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Spotted::WebhookUnwrapParams, Spotted::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig do
|
|
15
|
+
params(request_options: Spotted::RequestOptions::OrHash).returns(
|
|
16
|
+
T.attached_class
|
|
17
|
+
)
|
|
18
|
+
end
|
|
19
|
+
def self.new(request_options: {})
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
sig { override.returns({ request_options: Spotted::RequestOptions }) }
|
|
23
|
+
def to_hash
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
data/rbi/spotted/models.rbi
CHANGED
|
@@ -130,7 +130,15 @@ module Spotted
|
|
|
130
130
|
|
|
131
131
|
TrackRetrieveParams = Spotted::Models::TrackRetrieveParams
|
|
132
132
|
|
|
133
|
+
UnwrapWebhookEvent =
|
|
134
|
+
T.let(
|
|
135
|
+
Spotted::Models::UnwrapWebhookEvent,
|
|
136
|
+
Spotted::Internal::Type::Converter
|
|
137
|
+
)
|
|
138
|
+
|
|
133
139
|
UserRetrieveProfileParams = Spotted::Models::UserRetrieveProfileParams
|
|
134
140
|
|
|
135
141
|
Users = Spotted::Models::Users
|
|
142
|
+
|
|
143
|
+
WebhookUnwrapParams = Spotted::Models::WebhookUnwrapParams
|
|
136
144
|
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Spotted
|
|
4
|
+
module Resources
|
|
5
|
+
class Webhooks
|
|
6
|
+
sig { params(payload: String).returns(T.anything) }
|
|
7
|
+
def unwrap(
|
|
8
|
+
# The raw webhook payload as a string
|
|
9
|
+
payload
|
|
10
|
+
)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# @api private
|
|
14
|
+
sig { params(client: Spotted::Client).returns(T.attached_class) }
|
|
15
|
+
def self.new(client:)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
data/sig/spotted/client.rbs
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Spotted
|
|
2
|
+
module Models
|
|
3
|
+
type webhook_unwrap_params =
|
|
4
|
+
{ } & Spotted::Internal::Type::request_parameters
|
|
5
|
+
|
|
6
|
+
class WebhookUnwrapParams < Spotted::Internal::Type::BaseModel
|
|
7
|
+
extend Spotted::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Spotted::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
def initialize: (?request_options: Spotted::request_opts) -> void
|
|
11
|
+
|
|
12
|
+
def to_hash: -> { request_options: Spotted::RequestOptions }
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
data/sig/spotted/models.rbs
CHANGED
|
@@ -125,7 +125,11 @@ module Spotted
|
|
|
125
125
|
|
|
126
126
|
class TrackRetrieveParams = Spotted::Models::TrackRetrieveParams
|
|
127
127
|
|
|
128
|
+
UnwrapWebhookEvent: Spotted::Internal::Type::Converter
|
|
129
|
+
|
|
128
130
|
class UserRetrieveProfileParams = Spotted::Models::UserRetrieveProfileParams
|
|
129
131
|
|
|
130
132
|
module Users = Spotted::Models::Users
|
|
133
|
+
|
|
134
|
+
class WebhookUnwrapParams = Spotted::Models::WebhookUnwrapParams
|
|
131
135
|
end
|
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.
|
|
4
|
+
version: 0.3.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-
|
|
11
|
+
date: 2025-11-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: connection_pool
|
|
@@ -223,11 +223,13 @@ files:
|
|
|
223
223
|
- lib/spotted/models/track_object.rb
|
|
224
224
|
- lib/spotted/models/track_restriction_object.rb
|
|
225
225
|
- lib/spotted/models/track_retrieve_params.rb
|
|
226
|
+
- lib/spotted/models/unwrap_webhook_event.rb
|
|
226
227
|
- lib/spotted/models/user_retrieve_profile_params.rb
|
|
227
228
|
- lib/spotted/models/user_retrieve_profile_response.rb
|
|
228
229
|
- lib/spotted/models/users/playlist_create_params.rb
|
|
229
230
|
- lib/spotted/models/users/playlist_create_response.rb
|
|
230
231
|
- lib/spotted/models/users/playlist_list_params.rb
|
|
232
|
+
- lib/spotted/models/webhook_unwrap_params.rb
|
|
231
233
|
- lib/spotted/request_options.rb
|
|
232
234
|
- lib/spotted/resources/albums.rb
|
|
233
235
|
- lib/spotted/resources/artists.rb
|
|
@@ -260,6 +262,7 @@ files:
|
|
|
260
262
|
- lib/spotted/resources/tracks.rb
|
|
261
263
|
- lib/spotted/resources/users.rb
|
|
262
264
|
- lib/spotted/resources/users/playlists.rb
|
|
265
|
+
- lib/spotted/resources/webhooks.rb
|
|
263
266
|
- lib/spotted/version.rb
|
|
264
267
|
- manifest.yaml
|
|
265
268
|
- rbi/spotted/client.rbi
|
|
@@ -449,11 +452,13 @@ files:
|
|
|
449
452
|
- rbi/spotted/models/track_object.rbi
|
|
450
453
|
- rbi/spotted/models/track_restriction_object.rbi
|
|
451
454
|
- rbi/spotted/models/track_retrieve_params.rbi
|
|
455
|
+
- rbi/spotted/models/unwrap_webhook_event.rbi
|
|
452
456
|
- rbi/spotted/models/user_retrieve_profile_params.rbi
|
|
453
457
|
- rbi/spotted/models/user_retrieve_profile_response.rbi
|
|
454
458
|
- rbi/spotted/models/users/playlist_create_params.rbi
|
|
455
459
|
- rbi/spotted/models/users/playlist_create_response.rbi
|
|
456
460
|
- rbi/spotted/models/users/playlist_list_params.rbi
|
|
461
|
+
- rbi/spotted/models/webhook_unwrap_params.rbi
|
|
457
462
|
- rbi/spotted/request_options.rbi
|
|
458
463
|
- rbi/spotted/resources/albums.rbi
|
|
459
464
|
- rbi/spotted/resources/artists.rbi
|
|
@@ -486,6 +491,7 @@ files:
|
|
|
486
491
|
- rbi/spotted/resources/tracks.rbi
|
|
487
492
|
- rbi/spotted/resources/users.rbi
|
|
488
493
|
- rbi/spotted/resources/users/playlists.rbi
|
|
494
|
+
- rbi/spotted/resources/webhooks.rbi
|
|
489
495
|
- rbi/spotted/version.rbi
|
|
490
496
|
- sig/spotted/client.rbs
|
|
491
497
|
- sig/spotted/errors.rbs
|
|
@@ -674,11 +680,13 @@ files:
|
|
|
674
680
|
- sig/spotted/models/track_object.rbs
|
|
675
681
|
- sig/spotted/models/track_restriction_object.rbs
|
|
676
682
|
- sig/spotted/models/track_retrieve_params.rbs
|
|
683
|
+
- sig/spotted/models/unwrap_webhook_event.rbs
|
|
677
684
|
- sig/spotted/models/user_retrieve_profile_params.rbs
|
|
678
685
|
- sig/spotted/models/user_retrieve_profile_response.rbs
|
|
679
686
|
- sig/spotted/models/users/playlist_create_params.rbs
|
|
680
687
|
- sig/spotted/models/users/playlist_create_response.rbs
|
|
681
688
|
- sig/spotted/models/users/playlist_list_params.rbs
|
|
689
|
+
- sig/spotted/models/webhook_unwrap_params.rbs
|
|
682
690
|
- sig/spotted/request_options.rbs
|
|
683
691
|
- sig/spotted/resources/albums.rbs
|
|
684
692
|
- sig/spotted/resources/artists.rbs
|
|
@@ -711,6 +719,7 @@ files:
|
|
|
711
719
|
- sig/spotted/resources/tracks.rbs
|
|
712
720
|
- sig/spotted/resources/users.rbs
|
|
713
721
|
- sig/spotted/resources/users/playlists.rbs
|
|
722
|
+
- sig/spotted/resources/webhooks.rbs
|
|
714
723
|
- sig/spotted/version.rbs
|
|
715
724
|
homepage: https://gemdocs.org/gems/spotted
|
|
716
725
|
licenses: []
|