class SingularityClient::Request

Wrapper around HTTParty requests

Public Class Methods

new(config) click to toggle source
# File lib/singularity_client/request.rb, line 10
def initialize(config)
  @base_uri = config.base_uri
  @debug = config.debug
end

Public Instance Methods

delete(endpoint, data = {}) click to toggle source
# File lib/singularity_client/request.rb, line 34
def delete(endpoint, data = {})
  request = "#{@base_uri}/#{endpoint}"
  puts "DEBUG: sending delete request to #{request}" if @debug
  puts "DEBUG: with data #{data}" if @debug

  response = self.class.delete(request, body: data)

  response.code == 200 ? response : error(response)
end
get(endpoint, query = {}) click to toggle source
# File lib/singularity_client/request.rb, line 15
def get(endpoint, query = {})
  request = "#{@base_uri}/#{endpoint}"
  puts "DEBUG: sending get request #{request}" if @debug

  response = self.class.get(request, query)

  response.code == 200 ? response : error(response)
end
post(endpoint, data = {}) click to toggle source
# File lib/singularity_client/request.rb, line 24
def post(endpoint, data = {})
  request = "#{@base_uri}/#{endpoint}"
  puts "DEBUG: sending post request to #{request}" if @debug
  puts "DEBUG: with post_data #{data}" if @debug

  response = self.class.post(request, body: data)

  response.code == 200 ? response : error(response)
end

Private Instance Methods

error(response) click to toggle source
# File lib/singularity_client/request.rb, line 46
def error(response)
  fail("ERROR #{response.code} #{response.message}")
end