class MaropostApi::Request

Public Class Methods

new(auth_token:, account_number:) click to toggle source
# File lib/maropost_api/request.rb, line 7
def initialize(auth_token:, account_number:)
  @auth_token = auth_token
  @account_number = account_number
  set_default_config
end

Public Instance Methods

get(endpoint:, params: {}) click to toggle source
# File lib/maropost_api/request.rb, line 17
def get(endpoint:, params: {})
  self.class.get(uri(endpoint), payload(params))
end
post(endpoint:, params: {}) click to toggle source
# File lib/maropost_api/request.rb, line 13
def post(endpoint:, params: {})
  self.class.post(uri(endpoint), payload(params))
end
put(endpoint:, params: {}) click to toggle source
# File lib/maropost_api/request.rb, line 21
def put(endpoint:, params: {})
  self.class.put(uri(endpoint), payload(params))
end

Private Instance Methods

merge_auth_token(params) click to toggle source
# File lib/maropost_api/request.rb, line 44
def merge_auth_token(params)
  @default_params.merge(params)
end
payload(params) click to toggle source
# File lib/maropost_api/request.rb, line 36
def payload(params)
  {
    query: { auth_token: @auth_token },
    body: merge_auth_token(params).to_json,
    headers: { 'Content-Type' => 'application/json' }
  }
end
set_default_config() click to toggle source
# File lib/maropost_api/request.rb, line 27
def set_default_config
  @base_uri = "http://api.maropost.com/accounts/#{@account_number}"
  @default_params = { }
end
uri(endpoint) click to toggle source
# File lib/maropost_api/request.rb, line 32
def uri(endpoint)
 "#{@base_uri}#{endpoint}"
end