Class: SesDashboard::Configuration
- Inherits:
-
Object
- Object
- SesDashboard::Configuration
- Defined in:
- lib/ses_dashboard.rb
Instance Attribute Summary collapse
-
#authentication_adapter ⇒ Object
Auth — :none, :devise, :cloudflare, or any object responding to #authenticate(request).
-
#aws_access_key_id ⇒ Object
AWS — credentials are optional.
-
#aws_region ⇒ Object
AWS — credentials are optional.
-
#aws_secret_access_key ⇒ Object
AWS — credentials are optional.
-
#cache_enabled ⇒ Object
Caching for SES API calls (quota, statistics, etc.).
-
#cloudflare_aud ⇒ Object
JWT audience (your CF application AUD).
-
#cloudflare_team_domain ⇒ Object
Cloudflare Zero Trust.
-
#endpoint ⇒ Object
AWS — credentials are optional.
-
#per_page ⇒ Object
Dashboard behaviour.
-
#test_email_from ⇒ Object
From: address used when sending test emails.
-
#time_zone ⇒ Object
time zone for chart grouping (default “UTC”).
-
#verify_sns_signature ⇒ Object
Security — set to true in production to validate SNS message signatures.
-
#webhook_forwards ⇒ Object
Webhook forwarding — forward specific event types to external URLs (e.g. Zapier) Format: array of hashes with :url and :event_types keys Example: c.webhook_forwards = [ { url: “hooks.zapier.com/…”, event_types: [“bounce”, “complaint”] } ] Omit :event_types (or set to []) to forward all event types.
Instance Method Summary collapse
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/ses_dashboard.rb', line 49 def initialize @aws_region = ENV.fetch("AWS_REGION", "us-east-1") @aws_access_key_id = nil @aws_secret_access_key = nil @endpoint = ENV["AWS_ENDPOINT_URL"] # LocalStack in dev/test @authentication_adapter = :none @cache_enabled = true @per_page = 25 @time_zone = "UTC" @test_email_from = nil @verify_sns_signature = false @cloudflare_team_domain = nil @cloudflare_aud = nil @webhook_forwards = [] end |
Instance Attribute Details
#authentication_adapter ⇒ Object
Auth — :none, :devise, :cloudflare, or any object responding to #authenticate(request)
23 24 25 |
# File 'lib/ses_dashboard.rb', line 23 def authentication_adapter @authentication_adapter end |
#aws_access_key_id ⇒ Object
AWS — credentials are optional. The SDK credential chain (SSO, IAM roles, instance profiles, env vars) is used when these are not explicitly set.
20 21 22 |
# File 'lib/ses_dashboard.rb', line 20 def aws_access_key_id @aws_access_key_id end |
#aws_region ⇒ Object
AWS — credentials are optional. The SDK credential chain (SSO, IAM roles, instance profiles, env vars) is used when these are not explicitly set.
20 21 22 |
# File 'lib/ses_dashboard.rb', line 20 def aws_region @aws_region end |
#aws_secret_access_key ⇒ Object
AWS — credentials are optional. The SDK credential chain (SSO, IAM roles, instance profiles, env vars) is used when these are not explicitly set.
20 21 22 |
# File 'lib/ses_dashboard.rb', line 20 def aws_secret_access_key @aws_secret_access_key end |
#cache_enabled ⇒ Object
Caching for SES API calls (quota, statistics, etc.)
26 27 28 |
# File 'lib/ses_dashboard.rb', line 26 def cache_enabled @cache_enabled end |
#cloudflare_aud ⇒ Object
JWT audience (your CF application AUD)
38 39 40 |
# File 'lib/ses_dashboard.rb', line 38 def cloudflare_aud @cloudflare_aud end |
#cloudflare_team_domain ⇒ Object
Cloudflare Zero Trust
37 38 39 |
# File 'lib/ses_dashboard.rb', line 37 def cloudflare_team_domain @cloudflare_team_domain end |
#endpoint ⇒ Object
AWS — credentials are optional. The SDK credential chain (SSO, IAM roles, instance profiles, env vars) is used when these are not explicitly set.
20 21 22 |
# File 'lib/ses_dashboard.rb', line 20 def endpoint @endpoint end |
#per_page ⇒ Object
Dashboard behaviour
29 30 31 |
# File 'lib/ses_dashboard.rb', line 29 def per_page @per_page end |
#test_email_from ⇒ Object
From: address used when sending test emails
31 32 33 |
# File 'lib/ses_dashboard.rb', line 31 def test_email_from @test_email_from end |
#time_zone ⇒ Object
time zone for chart grouping (default “UTC”)
30 31 32 |
# File 'lib/ses_dashboard.rb', line 30 def time_zone @time_zone end |
#verify_sns_signature ⇒ Object
Security — set to true in production to validate SNS message signatures
34 35 36 |
# File 'lib/ses_dashboard.rb', line 34 def verify_sns_signature @verify_sns_signature end |
#webhook_forwards ⇒ Object
Webhook forwarding — forward specific event types to external URLs (e.g. Zapier) Format: array of hashes with :url and :event_types keys Example:
c.webhook_forwards = [
{ url: "https://hooks.zapier.com/...", event_types: ["bounce", "complaint"] }
]
Omit :event_types (or set to []) to forward all event types.
47 48 49 |
# File 'lib/ses_dashboard.rb', line 47 def webhook_forwards @webhook_forwards end |