Sha256: eae15fb152a548633901ad639d0608debc5ea436f726fdbfebeb7145503ce94b

Contents?: true

Size: 616 Bytes

Versions: 1

Compression:

Stored size: 616 Bytes

Contents

require 'httparty'

module PostmanMta
  class ApiClient
    include ::HTTParty
    base_uri PostmanMta.api_endpoint

    [:get, :post, :put, :patch, :delete].each do |type|
      define_method type do |url, options = {}|
        perform_request(type.to_s.upcase, url, options)
      end
    end

    private

    def perform_request(request_type, path, options = {})
      headers = PostmanMta::Utils::SignedRequest.new(
        request_method: request_type.upcase, path: path
      ).headers

      self.class.send(request_type.downcase, path, { headers: headers }.merge(options)).parsed_response
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
postman_mta-0.1.0 lib/postman_mta/api_client.rb