Module: MultiSMTP

Defined in:
lib/multi_smtp.rb,
lib/multi_smtp/mail.rb,
lib/multi_smtp/version.rb,
lib/multi_smtp/notifiers/airbrake.rb

Defined Under Namespace

Modules: Notifiers Classes: Mail

Constant Summary collapse

VERSION =
"1.0.1"

Class Method Summary collapse

Class Method Details

.error_notifierObject



9
10
11
# File 'lib/multi_smtp.rb', line 9

def self.error_notifier
  @error_notifier || false
end

.error_notifier=(notifier) ⇒ Object



5
6
7
# File 'lib/multi_smtp.rb', line 5

def self.error_notifier=(notifier)
  @error_notifier = notifier
end

.rotation_strategyObject



26
27
28
# File 'lib/multi_smtp.rb', line 26

def self.rotation_strategy
  @rotation_strategy || :sequential
end

.rotation_strategy=(strategy) ⇒ Object

Optional rotation strategy for provider ordering. Supported: :sequential (default), :round_robin



22
23
24
# File 'lib/multi_smtp.rb', line 22

def self.rotation_strategy=(strategy)
  @rotation_strategy = strategy
end

.smtp_providersObject



17
18
19
# File 'lib/multi_smtp.rb', line 17

def self.smtp_providers
  @smtp_providers || raise("MultiSMTP Error: Please specify smtp_providers.")
end

.smtp_providers=(providers) ⇒ Object



13
14
15
# File 'lib/multi_smtp.rb', line 13

def self.smtp_providers=(providers)
  @smtp_providers = providers
end

.state_storeObject



36
37
38
# File 'lib/multi_smtp.rb', line 36

def self.state_store
  @state_store
end

.state_store=(store) ⇒ Object

Optional state store for cross-process round robin. Must respond to :incr(key) and return an Integer Example: a thin wrapper around Redis INCR. If nil, round_robin falls back to per-process rotation.



32
33
34
# File 'lib/multi_smtp.rb', line 32

def self.state_store=(store)
  @state_store = store
end