soundcloud 0.3.0 → 0.3.1

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.
@@ -74,7 +74,7 @@ class Soundcloud
74
74
  end
75
75
  end
76
76
  end
77
-
77
+
78
78
  class UnauthorizedResponseError < ResponseError; end
79
79
  USER_AGENT = "SoundCloud Ruby Wrapper #{VERSION}"
80
80
 
@@ -101,11 +101,11 @@ class Soundcloud
101
101
  raise ArgumentError, "At least a client_id or an access_token must be present" if client_id.nil? && access_token.nil?
102
102
  end
103
103
 
104
- def get (path, query={}, options={}); handle_response { self.class.get *construct_query_arguments(path, options.merge(:query => query)) } end
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
108
- def head (path, query={}, options={}); handle_response { self.class.head *construct_query_arguments(path, options.merge(:query => query)) } end
104
+ def get (path, query={}, options={}); handle_response { self.class.get( *construct_query_arguments(path, options.merge(:query => query)) ) } end
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
108
+ def head (path, query={}, options={}); handle_response { self.class.head( *construct_query_arguments(path, options.merge(:query => query)) ) } end
109
109
 
110
110
  # accessors for options
111
111
  def client_id; @options[:client_id]; end
@@ -119,12 +119,12 @@ class Soundcloud
119
119
  (expires_at.nil? || expires_at < Time.now)
120
120
  end
121
121
 
122
- def use_ssl?;
122
+ def use_ssl?;
123
123
  !! @options[:use_ssl?] || access_token
124
124
  end
125
125
 
126
126
  def site; @options[:site]; end
127
-
127
+
128
128
  def host; site; end
129
129
  def api_host; [API_SUBHOST, host].join('.'); end
130
130
 
@@ -137,7 +137,7 @@ class Soundcloud
137
137
  store_options(options)
138
138
  "https://#{host}#{AUTHORIZE_PATH}?response_type=code_and_token&client_id=#{client_id}&redirect_uri=#{URI.escape redirect_uri}&#{additional_params}"
139
139
  end
140
-
140
+
141
141
  def exchange_token(options={})
142
142
  store_options(options)
143
143
  raise ArgumentError, 'client_id and client_secret is required to retrieve an access_token' if client_id.nil? || client_secret.nil?
@@ -172,14 +172,14 @@ private
172
172
  # TODO it should return the original
173
173
  handle_response(false, &block)
174
174
  else
175
- #raise ResponseError.new(response), ResponseError.message(response)
176
175
  raise ResponseError.new(response)
177
- #raise ResponseError.from(response)
178
176
  end
179
177
  elsif response.is_a? Hash
180
178
  HashResponseWrapper.new(response)
181
179
  elsif response.is_a? Array
182
180
  ArrayResponseWrapper.new(response)
181
+ elsif response && response.success?
182
+ response
183
183
  end
184
184
  end
185
185
 
@@ -191,12 +191,12 @@ private
191
191
  @options ||= DEFAULT_OPTIONS.dup
192
192
  @options.merge! options
193
193
  end
194
-
194
+
195
195
 
196
196
  def construct_query_arguments(path_or_uri, options={}, body_or_query=:query)
197
197
  uri = URI.parse(path_or_uri)
198
198
  path = uri.path
199
-
199
+
200
200
  scheme = use_ssl? ? 'https' : 'http'
201
201
  options = options.dup
202
202
  options[body_or_query] ||= {}
@@ -1,3 +1,3 @@
1
1
  class Soundcloud
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soundcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-25 00:00:00.000000000 Z
12
+ date: 2012-12-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty