soundcloud 0.2.7 → 0.2.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.
- data/README.md +13 -3
- data/lib/soundcloud.rb +6 -5
- data/lib/soundcloud/version.rb +1 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -42,11 +42,14 @@ It is providing simple methods to handle authorization and to execute HTTP calls
|
|
42
42
|
client = Soundcloud.new({
|
43
43
|
:client_id => YOUR_CLIENT_ID,
|
44
44
|
:client_secret => YOUR_CLIENT_SECRET,
|
45
|
+
:redirect_uri => YOUR_REDIRECT_URI,
|
45
46
|
})
|
46
47
|
|
47
|
-
client.authorize_url(
|
48
|
-
#
|
49
|
-
|
48
|
+
redirect client.authorize_url()
|
49
|
+
# the user should be redirected to "https://soundcloud.com/connect?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REDIRECT_URI"
|
50
|
+
# after granting access he will be redirected back to YOUR_REDIRECT_URI
|
51
|
+
# in your respective handler you can build an exchange token from the transmitted code
|
52
|
+
client.exchange_token(:code => params[:code])
|
50
53
|
|
51
54
|
#### OAuth2 refresh token flow, upload a track and print its link
|
52
55
|
# register a new client which will exchange an existing refresh_token for an access_token
|
@@ -83,6 +86,13 @@ It is providing simple methods to handle authorization and to execute HTTP calls
|
|
83
86
|
user_id_to_follow = 123
|
84
87
|
client.put("/me/followings/#{user_id_to_follow}")
|
85
88
|
|
89
|
+
### Initializing a client with an access token and updating the users profile description
|
90
|
+
# initializing a client with an access token
|
91
|
+
client = Soundcloud.new(:access_token => SOME_ACCESS_TOKEN)
|
92
|
+
|
93
|
+
# updating the users profile description
|
94
|
+
client.put("/me", :user => {:description => "a new description"})
|
95
|
+
|
86
96
|
## Interface
|
87
97
|
#### Soundcloud.new(options={})
|
88
98
|
Stores the passed options and call exchange_token in case options are passed that allow an exchange of tokens.
|
data/lib/soundcloud.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'httmultiparty'
|
2
2
|
require 'hashie'
|
3
3
|
require 'uri'
|
4
|
+
require 'soundcloud/version'
|
4
5
|
|
5
6
|
class Soundcloud
|
6
7
|
class ResponseError < HTTParty::ResponseError
|
@@ -75,9 +76,9 @@ class Soundcloud
|
|
75
76
|
end
|
76
77
|
|
77
78
|
class UnauthorizedResponseError < ResponseError; end
|
79
|
+
USER_AGENT = "SoundCloud Ruby Wrapper #{VERSION}"
|
78
80
|
|
79
81
|
include HTTMultiParty
|
80
|
-
|
81
82
|
CLIENT_ID_PARAM_NAME = :client_id
|
82
83
|
API_SUBHOST = 'api'
|
83
84
|
AUTHORIZE_PATH = '/connect'
|
@@ -88,6 +89,7 @@ class Soundcloud
|
|
88
89
|
}
|
89
90
|
|
90
91
|
attr_accessor :options
|
92
|
+
headers({"User-Agent" => USER_AGENT})
|
91
93
|
|
92
94
|
def initialize(options={})
|
93
95
|
store_options(options)
|
@@ -100,9 +102,9 @@ class Soundcloud
|
|
100
102
|
end
|
101
103
|
|
102
104
|
def get (path, query={}, options={}); handle_response { self.class.get *construct_query_arguments(path, options.merge(:query => query)) } end
|
103
|
-
def post (path, body={},
|
104
|
-
def put (path, body={},
|
105
|
-
def delete(path, query={}, options={}); handle_response { self.class.delete
|
105
|
+
def post (path, body={}, options={}); handle_response { self.class.post *construct_query_arguments(path, options.merge(:body => body), :body) } end
|
106
|
+
def put (path, body={}, options={}); handle_response { self.class.put *construct_query_arguments(path, options.merge(:body => body), :body) } end
|
107
|
+
def delete(path, query={}, options={}); handle_response { self.class.delete *construct_query_arguments(path, options.merge(:query => query)) } end
|
106
108
|
def head (path, query={}, options={}); handle_response { self.class.head *construct_query_arguments(path, options.merge(:query => query)) } end
|
107
109
|
|
108
110
|
# accessors for options
|
@@ -213,4 +215,3 @@ end
|
|
213
215
|
|
214
216
|
require 'soundcloud/array_response_wrapper'
|
215
217
|
require 'soundcloud/hash_response_wrapper'
|
216
|
-
require 'soundcloud/version'
|
data/lib/soundcloud/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: soundcloud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.2.
|
5
|
+
version: 0.2.8
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Johannes Wagener
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-10-07 00:00:00 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|