Sha256: d0c1b3fd4326d01fcb40b2e49f2c45bff6e800827622ee652144cf62f29a18b0

Contents?: true

Size: 774 Bytes

Versions: 3

Compression:

Stored size: 774 Bytes

Contents

# frozen_string_literal: true

require 'http'
require 'dotenv/load'

API_URL = 'https://connect.mailerlite.com/api'

Dotenv.require_keys('MAILERLITE_API_TOKEN')

# mailerlite-ruby is a gem that integrates all endpoints from MailerLite API
module MailerLite
  attr_reader :api_token

  # Inits the client.
  class Client
    def initialize(api_token = ENV.fetch('MAILERLITE_API_TOKEN', nil))
      @api_token = api_token
    end

    def headers
      {
        'User-Agent' => "MailerLite-client-ruby/#{MailerLite::VERSION}",
        'Accept' => 'application/json',
        'Content-type' => 'application/json'
      }
    end

    def http
      HTTP
        .timeout(connect: 15, read: 30)
        .auth("Bearer #{@api_token}")
        .headers(headers)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mailerlite-ruby-1.0.4 lib/mailerlite/client.rb
mailerlite-ruby-1.0.3 lib/mailerlite/client.rb
mailerlite-ruby-1.0.2 lib/mailerlite/client.rb