Class: Cloudflare::EmailService::Configuration
- Inherits:
-
Object
- Object
- Cloudflare::EmailService::Configuration
- Defined in:
- lib/cloudflare/email_service/configuration.rb
Overview
Holds the transport selection, credentials, and connection options used when a client is built without explicit arguments. Defaults are read from the environment.
Constant Summary collapse
- DEFAULT_API_BASE =
"https://api.cloudflare.com/client/v4"- DEFAULT_SMTP_HOST =
"smtp.mx.cloudflare.net"- DEFAULT_SMTP_PORT =
465- DEFAULT_TIMEOUT =
30
Instance Attribute Summary collapse
-
#account_id ⇒ String?
Cloudflare account id (CLOUDFLARE_ACCOUNT_ID).
-
#api_base ⇒ String
Base URL of the Cloudflare REST API.
-
#api_token ⇒ String?
API token (CLOUDFLARE_API_TOKEN).
-
#open_timeout ⇒ Integer
Connection-open timeout in seconds.
-
#smtp_host ⇒ String
SMTP submission host.
-
#smtp_port ⇒ Integer
SMTP submission port (465, implicit TLS).
-
#timeout ⇒ Integer
Read timeout in seconds.
-
#transport ⇒ Symbol
:rest (default) or :smtp.
Instance Method Summary collapse
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/cloudflare/email_service/configuration.rb', line 33 def initialize @transport = ENV.fetch("CLOUDFLARE_EMAIL_TRANSPORT", "rest").to_sym @account_id = ENV.fetch("CLOUDFLARE_ACCOUNT_ID", nil) @api_token = ENV.fetch("CLOUDFLARE_API_TOKEN", nil) @api_base = ENV.fetch("CLOUDFLARE_API_BASE", DEFAULT_API_BASE) @smtp_host = ENV.fetch("CLOUDFLARE_SMTP_HOST", DEFAULT_SMTP_HOST) @smtp_port = Integer(ENV.fetch("CLOUDFLARE_SMTP_PORT", DEFAULT_SMTP_PORT)) @open_timeout = DEFAULT_TIMEOUT @timeout = DEFAULT_TIMEOUT end |
Instance Attribute Details
#account_id ⇒ String?
Returns Cloudflare account id (CLOUDFLARE_ACCOUNT_ID). Required for the REST transport; unused by SMTP.
18 19 20 |
# File 'lib/cloudflare/email_service/configuration.rb', line 18 def account_id @account_id end |
#api_base ⇒ String
Returns base URL of the Cloudflare REST API.
23 24 25 |
# File 'lib/cloudflare/email_service/configuration.rb', line 23 def api_base @api_base end |
#api_token ⇒ String?
Returns API token (CLOUDFLARE_API_TOKEN). REST needs the “Email Sending: Send” scope; SMTP needs “Email Sending: Edit”.
21 22 23 |
# File 'lib/cloudflare/email_service/configuration.rb', line 21 def api_token @api_token end |
#open_timeout ⇒ Integer
Returns connection-open timeout in seconds.
29 30 31 |
# File 'lib/cloudflare/email_service/configuration.rb', line 29 def open_timeout @open_timeout end |
#smtp_host ⇒ String
Returns SMTP submission host.
25 26 27 |
# File 'lib/cloudflare/email_service/configuration.rb', line 25 def smtp_host @smtp_host end |
#smtp_port ⇒ Integer
Returns SMTP submission port (465, implicit TLS).
27 28 29 |
# File 'lib/cloudflare/email_service/configuration.rb', line 27 def smtp_port @smtp_port end |
#timeout ⇒ Integer
Returns read timeout in seconds.
31 32 33 |
# File 'lib/cloudflare/email_service/configuration.rb', line 31 def timeout @timeout end |
#transport ⇒ Symbol
Returns :rest (default) or :smtp.
15 16 17 |
# File 'lib/cloudflare/email_service/configuration.rb', line 15 def transport @transport end |