lib/fb_graph/node.rb in fb_graph-0.0.8 vs lib/fb_graph/node.rb in fb_graph-0.1.0
- old
+ new
@@ -25,56 +25,54 @@
destory(self.identifier, options)
end
protected
- def get(options = {})
- _endpoint_ = build_endpoint(options.merge!(:method => :get))
- handle_response RestClient.get(_endpoint_)
- rescue RestClient::Exception => e
- raise FbGraph::Exception.new(e.http_code, e.message, e.http_body)
+ def get(params = {})
+ _endpoint_ = build_endpoint(params.merge!(:method => :get))
+ handle_response do
+ RestClient.get(_endpoint_)
+ end
end
- def post(options = {})
- _endpoint_ = build_endpoint(options.merge!(:method => :post))
- handle_response RestClient.post(_endpoint_, options)
-
- rescue RestClient::Exception => e
- raise FbGraph::Exception.new(e.http_code, e.message, e.http_body)
+ def post(params = {})
+ _endpoint_ = build_endpoint(params.merge!(:method => :post))
+ handle_response do
+ RestClient.post(_endpoint_, params)
+ end
end
- def delete(options = {})
- _endpoint_ = build_endpoint(options.merge!(:method => :delete))
- handle_response RestClient.delete(_endpoint_, options)
- rescue RestClient::Exception => e
- raise FbGraph::Exception.new(e.http_code, e.message, e.http_body)
+ def delete(params = {})
+ _endpoint_ = build_endpoint(params.merge!(:method => :delete))
+ handle_response do
+ RestClient.delete(_endpoint_, params)
+ end
end
private
- def build_endpoint(options = {})
- _endpoint_ = if options[:connection]
- File.join(self.endpoint, options.delete(:connection))
+ def build_endpoint(params = {})
+ _endpoint_ = if params[:connection]
+ File.join(self.endpoint, params.delete(:connection))
else
self.endpoint
end
- options[:access_token] ||= self.access_token
- options.delete_if do |k, v|
+ params[:access_token] ||= self.access_token
+ params.delete_if do |k, v|
v.blank?
end
- if options.delete(:method) == :get && options.present?
- _endpoint_ << "?#{options.to_query}"
+ if params.delete(:method) == :get && params.present?
+ _endpoint_ << "?#{params.to_query}"
end
_endpoint_
end
- def handle_response(response)
+ def handle_response
+ response = yield
case response.body
when 'true'
true
- when 'false'
- false
else
_response_ = JSON.parse(response.body).with_indifferent_access
if _response_[:error]
case _response_[:error][:type]
when 'OAuthAccessTokenException'
@@ -86,8 +84,10 @@
end
else
_response_
end
end
+ rescue RestClient::Exception => e
+ raise FbGraph::Exception.new(e.http_code, e.message, e.http_body)
end
end
end
\ No newline at end of file