module MobilizeAmericaClient::Request

Constants

API_BASE_PATH
API_DOMAIN

Public Instance Methods

get(path:, params: {}) click to toggle source
# File lib/mobilize_america_client/request.rb, line 8
def get(path:, params: {})
  request(method: :get, path: path, params: params)
end

Private Instance Methods

esc(untrusted) click to toggle source
# File lib/mobilize_america_client/request.rb, line 14
def esc(untrusted)
  CGI.escape(untrusted.to_s)
end
request(method:, path:, params: {}, body: {}) click to toggle source
# File lib/mobilize_america_client/request.rb, line 18
def request(method:, path:, params: {}, body: {})
  response = connection.send(method) do |req|
    req.path = "#{API_BASE_PATH}#{path}"
    req.params = params
    req.headers['Content-Type'] = 'application/json'

    unless api_key.nil?
      req.headers['Authorization'] = "Bearer #{api_key}"
    end

    req.body = ::JSON.generate(body) unless body.empty?
  end

  JSON.parse(response.body)
end