Sha256: c7c63bf92670469de89ffc3f379e00fa036a935b8e62b0cc1d3ef7649051683b

Contents?: true

Size: 1.05 KB

Versions: 5

Compression:

Stored size: 1.05 KB

Contents

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

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

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

    # 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

5 entries across 5 versions & 1 rubygems

Version Path
mailerlite-1.2.0 lib/mailerlite/client.rb
mailerlite-1.1.0 lib/mailerlite/client.rb
mailerlite-1.0.2 lib/mailerlite/client.rb
mailerlite-1.0.1 lib/mailerlite/client.rb
mailerlite-1.0.0 lib/mailerlite/client.rb