lib/reviewed/client.rb in reviewed-0.1.4 vs lib/reviewed/client.rb in reviewed-0.1.21
- old
+ new
@@ -13,66 +13,29 @@
def configure
yield self
self
end
- # Perform an HTTP GET request
- def get(path, params={})
- perform(:get, path, params)
- end
-
- # Perform an HTTP PUT request
- def put(path, params={})
- perform(:put, path, params)
- end
-
- # Perform an HTTP DELETE request
- def post(path, params={})
- perform(:post, path, params)
- end
-
- # Perform an HTTP DELETE request
- def delete(path, params={})
- perform(:delete, path, params)
- end
-
def resource(name)
klass_string = "Reviewed::#{name.to_s.singularize.classify}"
- klass_string.constantize rescue name
+
+ begin
+ klass = klass_string.constantize
+ rescue
+ raise "Resource: #{klass_string} not found"
+ end
end
def method_missing(method, *args, &block)
Reviewed::Request.new(resource: resource(method), client: self)
end
def connection
- @connection ||= ::Faraday.new(url: base_uri) do |faraday|
+ @connection ||= ::Faraday.new(url: BASE_URI) do |faraday|
faraday.response :mashify
- faraday.response :errors
faraday.response :json
- faraday.request :api_key
faraday.request :url_encoded
faraday.adapter Faraday.default_adapter
- end
- end
-
- private
-
- def perform(method, path, params={})
- begin
- self.connection.send(method.to_sym, path, params) do |request|
- request.params.merge!(self.request_params)
- request.headers['X-Reviewed-Authorization'] ||= self.api_key
- end
- rescue Faraday::Error::ClientError => e
- message = <<-EOS.gsub(/^[ ]*/, '')
- API Error. method: #{method}. path: #{path}. params: #{params.to_s}. api_key: #{self.api_key}
- Original exception message:
- #{e.message}
- EOS
- new_exception = Reviewed::ApiError.new(msg: message)
- new_exception.set_backtrace(e.backtrace) # TODO not seeing in Airbrake
- raise new_exception
end
end
end
end