rspotify 2.12.1 → 2.12.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6aa870c1626f1912080858169ae6dfaedcaa3d80b1a054b90d045a0674717cbe
4
- data.tar.gz: 3f3b4138467008192be294bee7afdc0d1c0970bedf6410eb8262fb6567e6b34f
3
+ metadata.gz: 3e6f915ef11f29687a365e01664b314776a128d64334583fdf5ca7634ff1f055
4
+ data.tar.gz: 381a6c51e86f09e4876d49952ab31d934b889ed8c39beebf06a3ae9bfcf6eb1f
5
5
  SHA512:
6
- metadata.gz: '09746a6f4b21b8ff50877afaed94c34332e2cb6ac34df5c1a3b599d68cc92bbe8314f287432da0a018d38002d662c9704f784e0662dee7a531d02a54a76e6fc2'
7
- data.tar.gz: 4574ab6c8f9a6ec06ab058cbdb611179275933fa2a57c755567df6c467a9fb7d017e33a68a1e4b3208c406741832d7009c9ad138b33817b5b115eeb54f961558
6
+ metadata.gz: e6c40c6cb3f239d519ceafe3f93249ecbd365986725b12bff2eb6a4292d3b5024dec7b06ad7a48b79734dff86095b95443d679a1a4d6523447e56f3006861281
7
+ data.tar.gz: 05f9104b6827f46400c970374cbcb407fec7a76f93f8d3fe1894197a70994fb03e4a301025fe2d5a776482033f28ce4037fc5119e7203ee92db4f1ddf91e285b
@@ -78,7 +78,12 @@ module RSpotify
78
78
  end
79
79
 
80
80
  return response if raw_response
81
- JSON.parse(response) unless response.nil? || response.empty?
81
+
82
+ begin
83
+ JSON.parse(response) unless response.nil? || response.empty?
84
+ rescue JSON::ParserError, TypeError => e
85
+ response.to_s # Fall back to raw body when the response is not actually a valid JSON response
86
+ end
82
87
  end
83
88
 
84
89
  # Added this method for testing
data/lib/rspotify/user.rb CHANGED
@@ -61,8 +61,11 @@ module RSpotify
61
61
  private_class_method :extract_custom_headers
62
62
 
63
63
  def self.oauth_header(user_id)
64
+ token = @@users_credentials.dig(user_id, 'token')
65
+ # Fallback for playlist.add_tracks! if no credentials for the playlist owner exist
66
+ token ||= @@users_credentials.values.dig(0, 'token')
64
67
  {
65
- 'Authorization' => "Bearer #{@@users_credentials[user_id]['token']}",
68
+ 'Authorization' => "Bearer #{token}",
66
69
  'Content-Type' => 'application/json'
67
70
  }
68
71
  end
@@ -314,8 +317,8 @@ module RSpotify
314
317
  def save_tracks!(tracks)
315
318
  tracks_ids = tracks.map(&:id)
316
319
  url = "me/tracks"
317
- request_body = tracks_ids.inspect
318
- User.oauth_put(@id, url, request_body)
320
+ request_body = { ids: tracks_ids }
321
+ User.oauth_put(@id, url, request_body.to_json)
319
322
  tracks
320
323
  end
321
324
 
@@ -1,3 +1,3 @@
1
1
  module RSpotify
2
- VERSION = '2.12.1'.freeze
2
+ VERSION = '2.12.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspotify
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.1
4
+ version: 2.12.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guilherme Sad
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-03 00:00:00.000000000 Z
11
+ date: 2024-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth-oauth2
@@ -301,7 +301,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
301
301
  - !ruby/object:Gem::Version
302
302
  version: '0'
303
303
  requirements: []
304
- rubygems_version: 3.1.6
304
+ rubygems_version: 3.3.27
305
305
  signing_key:
306
306
  specification_version: 4
307
307
  summary: A ruby wrapper for the Spotify Web API