Class: Readiness::Mailgun::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/support_readiness/mailgun/client.rb

Overview

Defines the class Client within the module Readiness::Mailgun.

Author:

  • Jason Colyer

Since:

  • 1.0.12

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config = Readiness::Mailgun::Configuration.new) ⇒ Client

Creates a new Readiness::Mailgun::Client instance

Examples:

require 'support_readiness'
config = Readiness::Mailgun::Configuration.new
config.token = 'test123abc'
config.domain = 'test.gitlab.com'
client = Readiness::Mailgun::Client.new(config)

Parameters:

Author:

  • Jason Colyer

Since:

  • 1.0.12



27
28
29
30
# File 'lib/support_readiness/mailgun/client.rb', line 27

def initialize(config = Readiness::Mailgun::Configuration.new)
  @connection = generate_connection(config)
  @domain = config.domain
end

Instance Attribute Details

#connectionObject (readonly)

Since:

  • 1.0.12



13
14
15
# File 'lib/support_readiness/mailgun/client.rb', line 13

def connection
  @connection
end

#domainObject (readonly)

Since:

  • 1.0.12



13
14
15
# File 'lib/support_readiness/mailgun/client.rb', line 13

def domain
  @domain
end

Instance Method Details

#generate_connection(config) ⇒ Object

Used to generate a Faraday connection

Parameters:

Returns:

  • (Object)

Author:

  • Jason Colyer

Since:

  • 1.0.0



56
57
58
59
60
61
62
63
# File 'lib/support_readiness/mailgun/client.rb', line 56

def generate_connection(config)
  Faraday.new("https://api:#{config.token}@api.mailgun.net/v3") do |c|
    c.request :retry, retry_options(config)
    c.adapter Faraday.default_adapter
    c.request :multipart
    c.request :url_encoded
  end
end

#retry_options(config) ⇒ Hash

Used to generate the retry options passed to Faraday via faraday-retry

Parameters:

Returns:

  • (Hash)

Author:

  • Jason Colyer

Since:

  • 1.0.12



39
40
41
42
43
44
45
46
47
# File 'lib/support_readiness/mailgun/client.rb', line 39

def retry_options(config)
  {
    max: config.retry_max,
    interval: config.retry_interval,
    interval_randomness: config.retry_randomness,
    backoff_factor: config.retry_backoff,
    exceptions: config.retry_exceptions
  }
end