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