class
Amber::Mailer::Configuration
- Amber::Mailer::Configuration
- Reference
- Object
Overview
Configuration for the Amber mailer system.
Manages adapter selection and SMTP connection settings. Uses a singleton pattern to provide a single global configuration instance.
Configuration
Amber::Mailer::Configuration.configure do |config|
config.adapter = :smtp
config.smtp_host = "smtp.example.com"
config.smtp_port = 587
config.smtp_username = "[email protected]"
config.smtp_password = "secret"
config.use_tls = true
config.default_from = "[email protected]"
config.helo_domain = "example.com"
end
Adapters
Two built-in adapters are available:
:memory- Stores emails in memory (default, ideal for testing):smtp- Delivers emails via SMTP protocol
Defined in:
amber/mailer/configuration.crConstructors
-
.instance : Configuration
Returns the singleton configuration instance.
Class Method Summary
-
.configure(&) : Nil
Yields the singleton configuration instance for modification.
-
.reset : Nil
Resets the configuration to default values.
Instance Method Summary
- #adapter : Symbol
- #adapter=(adapter : Symbol)
-
#build_adapter : DeliveryAdapter
Builds a delivery adapter instance based on the current configuration.
- #default_from : String
- #default_from=(default_from : String)
- #helo_domain : String
- #helo_domain=(helo_domain : String)
- #smtp_host : String
- #smtp_host=(smtp_host : String)
- #smtp_password : String | Nil
- #smtp_password=(smtp_password : String | Nil)
- #smtp_port : Int32
- #smtp_port=(smtp_port : Int32)
- #smtp_username : String | Nil
- #smtp_username=(smtp_username : String | Nil)
- #use_tls : Bool
- #use_tls=(use_tls : Bool)
Constructor Detail
Returns the singleton configuration instance.
Creates a new instance with default values if one does not exist.
Class Method Detail
Yields the singleton configuration instance for modification.
Amber::Mailer::Configuration.configure do |config|
config.adapter = :smtp
end
Resets the configuration to default values.
Useful in tests to ensure a clean configuration state.
Instance Method Detail
Builds a delivery adapter instance based on the current configuration.
Returns a MemoryAdapter for :memory or an SMTPAdapter configured
with the current SMTP settings for :smtp.
Raises ArgumentError if the adapter symbol is not recognized.