module Tumblr::Request
Public Instance Methods
delete(path)
click to toggle source
# File lib/tumblr/request.rb, line 20 def delete(path) make_request(:delete, path) end
get(path,params={})
click to toggle source
# File lib/tumblr/request.rb, line 8 def get(path,params={}) make_request(:get, build_query(path, params)) end
post(path, *params)
click to toggle source
# File lib/tumblr/request.rb, line 12 def post(path, *params) make_request(:post, path, *params) end
put(path)
click to toggle source
# File lib/tumblr/request.rb, line 16 def put(path) make_request(:put, path) end
Private Instance Methods
build_query(base, params={})
click to toggle source
# File lib/tumblr/request.rb, line 26 def build_query(base, params={}) return base if params.empty? "#{base}?#{Rack::Utils.build_query(params)}" end
make_request(method, path, *params)
click to toggle source
# File lib/tumblr/request.rb, line 32 def make_request(method, path, *params) response = connection.request(method, path, *params) case response.code.to_i when 400 raise Tumblr::Error::BadRequestError.new(response.body) when 401 raise Tumblr::Error::UnauthorizedError.new(response.body) when 403 raise Tumblr::Error::ForbiddenError.new(response.body) when 404 raise Tumblr::Error::NotFoundError.new(response.body) when 500 raise Tumblr::Error::InternalServerError.new(response.body) when 502 raise Tumblr::Error::BadGatewayError.new(response.body) when 503 raise Tumblr::Error::ServiceUnavailableError.new(response.body) end response["Content-Type"] == "application/json" ? Hashie::Mash.new(JSON::parse(response.body)) : response.body end