class BasicClient::Base

Attributes

base_url[RW]

Public Class Methods

with_base(url) click to toggle source
# File lib/basic_client/base.rb, line 9
def with_base(url)
  @base_url = url
end

Public Instance Methods

delete(path, params = {}, headers = {}, &block) click to toggle source
# File lib/basic_client/base.rb, line 26
def delete(path, params = {}, headers = {}, &block)
  request(:delete, path, params, headers, &block)
end
get(path, params = {}, headers = {}, &block) click to toggle source
# File lib/basic_client/base.rb, line 14
def get(path, params = {}, headers = {}, &block)
  request(:get, path, params, headers, &block)
end
post(path, params = {}, headers = {}, &block) click to toggle source
# File lib/basic_client/base.rb, line 18
def post(path, params = {}, headers = {}, &block)
  request(:post, path, params, headers, &block)
end
put(path, params = {}, headers = {}, &block) click to toggle source
# File lib/basic_client/base.rb, line 22
def put(path, params = {}, headers = {}, &block)
  request(:put, path, params, headers, &block)
end

Private Instance Methods

build_connection() click to toggle source
# File lib/basic_client/base.rb, line 40
def build_connection
  Faraday.new(self.class.base_url) do |connection|
    connection.path_prefix = path_prefix if path_prefix
    set_request_middleware(connection)
    set_response_middleware(connection)
    connection.adapter :net_http
  end
end
connection() click to toggle source
# File lib/basic_client/base.rb, line 36
def connection
  @connection ||= build_connection
end
path_prefix() click to toggle source
# File lib/basic_client/base.rb, line 49
def path_prefix; end
request(method, path, params, headers, &block) click to toggle source
# File lib/basic_client/base.rb, line 31
def request(method, path, params, headers, &block)
  response = connection.send(method, path, params, headers, &block)
  response.body
end
set_request_middleware(connection) click to toggle source
# File lib/basic_client/base.rb, line 51
def set_request_middleware(connection)
  connection.request :json
end
set_response_middleware(connection) click to toggle source
# File lib/basic_client/base.rb, line 55
def set_response_middleware(connection)
  connection.response :symbolized_json
  connection.response :raise_error
end