module BlockScore::Connection

Public Instance Methods

delete(path, params) click to toggle source
# File lib/blockscore/connection.rb, line 15
def delete(path, params)
  request(:delete, path, params)
end
get(path, params) click to toggle source
# File lib/blockscore/connection.rb, line 3
def get(path, params)
  request :get, path, params
end
patch(path, params) click to toggle source
# File lib/blockscore/connection.rb, line 11
def patch(path, params)
  request(:patch, path, params)
end
post(path, params) click to toggle source
# File lib/blockscore/connection.rb, line 7
def post(path, params)
  request(:post, path, params)
end

Private Instance Methods

encode_path_params(path, params) click to toggle source
# File lib/blockscore/connection.rb, line 56
def encode_path_params(path, params)
  encoded = URI.encode_www_form(params)
  [path, encoded].join('?')
end
execute_request(method, path, params) click to toggle source
# File lib/blockscore/connection.rb, line 41
def execute_request(method, path, params)
  auth = { username: BlockScore.api_key, password: '' }

  if method == :get
    path = encode_path_params(path, params)
    params = nil
  else
    params = params.to_json
  end

  options = { basic_auth: auth, headers: headers, body: params }

  HTTParty.send(method, path, options)
end
headers() click to toggle source
# File lib/blockscore/connection.rb, line 21
def headers
  @headers ||= {
    'Accept' => "application/vnd.blockscore+json;version=#{BlockScore::VERSION.to_i}",
    'User-Agent' => "blockscore-ruby/#{BlockScore::VERSION} (https://github.com/BlockScore/blockscore-ruby)",
    'Content-Type' => 'application/json'
  }
end
request(method, path, params) click to toggle source
# File lib/blockscore/connection.rb, line 29
def request(method, path, params)
  fail NoAPIKeyError, 'No API key was provided.' unless BlockScore.api_key

  begin
    response = execute_request(method, path, params)
  rescue SocketError, Errno::ECONNREFUSED => e
    raise APIConnectionError, e.message
  end

  Response.handle_response(resource, response)
end