rspotify 2.12.1 → 2.12.3

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: 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