spotify-client 0.0.7 → 0.0.8
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/lib/spotify/version.rb +1 -1
- data/lib/spotify_client.rb +25 -4
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41aaddaf711313958fbda73d3f50868b0ac9b4da
|
4
|
+
data.tar.gz: 7740dd06138e834eafc0349c12eb691fc4e2e8de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7e48774a3caccb830217c99fba668e1b765ed37ea105f6046e483e4f6636af5cc9323696b7d77d7d11b9e9f8298cdaec76d889251e3f24623292636f743728b
|
7
|
+
data.tar.gz: d38b30d30f3354a8840937a5173a060fc60bfded6e2b641ea57b4025db69ad8427d3caa13c374c3eaf6b232405a4eea09fc5776c50316c263798ff0591f59c01
|
data/lib/spotify/version.rb
CHANGED
data/lib/spotify_client.rb
CHANGED
@@ -52,12 +52,12 @@ module Spotify
|
|
52
52
|
run(:get, "/v1/users/#{user_id}/playlists/#{playlist_id}", [200])
|
53
53
|
end
|
54
54
|
|
55
|
-
def user_playlist_tracks(user_id, playlist_id)
|
55
|
+
def user_playlist_tracks(user_id, playlist_id, params = {})
|
56
56
|
tracks = { "items" => [] }
|
57
57
|
path = "/v1/users/#{user_id}/playlists/#{playlist_id}/tracks"
|
58
58
|
|
59
59
|
while path
|
60
|
-
response = run(:get, path, [200])
|
60
|
+
response = run(:get, path, [200], params)
|
61
61
|
tracks["items"].concat(response.delete("items"))
|
62
62
|
tracks.merge!(response)
|
63
63
|
|
@@ -73,7 +73,7 @@ module Spotify
|
|
73
73
|
|
74
74
|
# Create a playlist for a Spotify user. The playlist will be empty until you add tracks.
|
75
75
|
#
|
76
|
-
# Requires playlist-modify for a public playlist.
|
76
|
+
# Requires playlist-modify-public for a public playlist.
|
77
77
|
# Requires playlist-modify-private for a private playlist.
|
78
78
|
def create_user_playlist(user_id, name, is_public = true)
|
79
79
|
run(:post, "/v1/users/#{user_id}/playlists", [201], JSON.dump({ :name => name, :public => is_public }), false)
|
@@ -81,7 +81,7 @@ module Spotify
|
|
81
81
|
|
82
82
|
# Add an Array of track uris to an existing playlist.
|
83
83
|
#
|
84
|
-
# Adding tracks to a user's public playlist requires authorization of the playlist-modify scope;
|
84
|
+
# Adding tracks to a user's public playlist requires authorization of the playlist-modify-public scope;
|
85
85
|
# adding tracks to a private playlist requires the playlist-modify-private scope.
|
86
86
|
#
|
87
87
|
# client.add_user_tracks_to_playlist('1181346016', '7i3thJWDtmX04dJhFwYb0x', %w(spotify:track:4iV5W9uYEdYUVa79Axb7Rh spotify:track:2lzEz3A3XIFyhMDqzMdcss))
|
@@ -93,6 +93,27 @@ module Spotify
|
|
93
93
|
run(:post, "/v1/users/#{user_id}/playlists/#{playlist_id}/tracks", [201], params, false)
|
94
94
|
end
|
95
95
|
|
96
|
+
# Removes tracks from playlist
|
97
|
+
#
|
98
|
+
# client.remove_user_tracks_from_playlist('1181346016', '7i3thJWDtmX04dJhFwYb0x', [{ uri: spotify:track:4iV5W9uYEdYUVa79Axb7Rh, positions: [0]}])
|
99
|
+
def remove_user_tracks_from_playlist(user_id, playlist_id, tracks)
|
100
|
+
run(:delete, "/v1/users/#{user_id}/playlists/#{playlist_id}/tracks", [200], JSON.dump({ :tracks => tracks }))
|
101
|
+
end
|
102
|
+
|
103
|
+
# Replaces all occurrences of tracks with what's in the playlist
|
104
|
+
#
|
105
|
+
# client.replace_user_tracks_in_playlist('1181346016', '7i3thJWDtmX04dJhFwYb0x', %w(spotify:track:4iV5W9uYEdYUVa79Axb7Rh spotify:track:2lzEz3A3XIFyhMDqzMdcss))
|
106
|
+
def replace_user_tracks_in_playlist(user_id, playlist_id, tracks)
|
107
|
+
run(:put, "/v1/users/#{user_id}/playlists/#{playlist_id}/tracks", [201], JSON.dump({ :uris => tracks }))
|
108
|
+
end
|
109
|
+
|
110
|
+
# Removes all tracks in playlist
|
111
|
+
#
|
112
|
+
# client.truncate_user_playlist('1181346016', '7i3thJWDtmX04dJhFwYb0x')
|
113
|
+
def truncate_user_playlist(user_id, playlist_id)
|
114
|
+
replace_user_tracks_in_playlist(user_id, playlist_id, [])
|
115
|
+
end
|
116
|
+
|
96
117
|
def album(album_id)
|
97
118
|
run(:get, "/v1/albums/#{album_id}", [200])
|
98
119
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spotify-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Claudio Poli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: excon
|
@@ -83,8 +83,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
83
83
|
version: '0'
|
84
84
|
requirements: []
|
85
85
|
rubyforge_project: "[none]"
|
86
|
-
rubygems_version: 2.
|
86
|
+
rubygems_version: 2.2.2
|
87
87
|
signing_key:
|
88
88
|
specification_version: 4
|
89
89
|
summary: Ruby client for the Spotify Web API
|
90
90
|
test_files: []
|
91
|
+
has_rdoc:
|