class Outbox::Clients::Base
Attributes
settings[R]
Public Class Methods
defaults(defaults = nil)
click to toggle source
Sets default settings for the client.
MailClient.defaults delivery_method: :sendmail client = MailClient.new client.settings[:delivery_method] #=> :sendmail
# File lib/outbox/clients/base.rb, line 11 def self.defaults(defaults = nil) @defaults ||= {} if defaults.nil? @defaults else @defaults.merge!(defaults) end end
new(settings = nil)
click to toggle source
Creates a new client instance. Settings can be configured per instance by passing in a hash.
client = MailClient.new delivery_method: :sendmail client.settings[:delivery_method] #=> :sendmail
# File lib/outbox/clients/base.rb, line 26 def initialize(settings = nil) @settings = self.class.defaults.dup @settings.merge! settings if settings end
Public Instance Methods
deliver(message)
click to toggle source
Delivers the given message.
Subclasses must provide an implementation of this method.
# File lib/outbox/clients/base.rb, line 34 def deliver(message) raise NotImplementedError, 'Subclasses must implement a deliver method' end