Sha256: 114ceefb8aff6d529e1893161275ef96f1ef3bb104f1eab85a23ac2f00ebaf0f

Contents?: true

Size: 1.13 KB

Versions: 2

Compression:

Stored size: 1.13 KB

Contents

require 'mailerlite/connection'
require 'mailerlite/configuration'

require 'mailerlite/clients/campaigns'
require 'mailerlite/clients/fields'
require 'mailerlite/clients/groups'
require 'mailerlite/clients/subscribers'
require 'mailerlite/clients/webhooks'

module MailerLite
  # Wrapper class for all actions.
  class Client
    include MailerLite::Clients::Campaigns
    include MailerLite::Clients::Fields
    include MailerLite::Clients::Groups
    include MailerLite::Clients::Subscribers
    include MailerLite::Clients::Webhooks

    # Initialize client.
    #
    # @param options [Hash] A customizable set of options.
    # @option options [String] :api_key API Key provider from MailerLite.
    def initialize(options = {})
      config.api_key = options[:api_key] if options[:api_key]
    end

    # @return [Configuration]
    def config
      @config ||= Configuration.new
    end
    alias configuration config

    # Configure client with a block of settings.
    def configure
      yield(config) if block_given?
      true
    end

    # @return [Connection]
    def connection
      @connection ||= Connection.new(self)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mailerlite-1.4.0 lib/mailerlite/client.rb
mailerlite-1.3.0 lib/mailerlite/client.rb