Sha256: 7adc002d704d91ecdb61c7a908fca773d78cb69e1998fce97fa1524d4d33922e

Contents?: true

Size: 710 Bytes

Versions: 2

Compression:

Stored size: 710 Bytes

Contents

module Macaco
  class Api

    def self.post(args = {})
      request = request_instance(args)
      request.body = args[:data]

      JSON.parse(http_response(request, args).body)
    end

    private

      def self.http_response(request, args)
        http_instance(args).start { |http| http.request(request) }
      end

      def self.request_instance(args)
        headers = {
          'Content-Type' => args[:mail].content_type
        }.merge(args.fetch(:headers) { Hash.new })
        Net::HTTP::Post.new(args[:mail].api_path, headers)
      end

      def self.http_instance(args)
        http = Net::HTTP.new(args[:mail].api_root, 443)
        http.use_ssl = true
        http
      end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
macaco-0.0.6 lib/macaco/api.rb
macaco-0.0.5 lib/macaco/api.rb