module MonkeyMailer
Constants
- VERSION
Public Class Methods
adapter()
click to toggle source
# File lib/monkey-mailer/adapter.rb, line 7 def self.adapter @@adapter ||= register_adapter end
configuration()
click to toggle source
# File lib/monkey-mailer/config.rb, line 3 def self.configuration @@configuration ||= Configuration.new end
configure() { |configuration| ... }
click to toggle source
# File lib/monkey-mailer/config.rb, line 7 def self.configure yield configuration end
extended(base)
click to toggle source
# File lib/monkey-mailer.rb, line 12 def self.extended(base) base.extend(Fallen) end
find_and_deliver()
click to toggle source
# File lib/monkey-mailer.rb, line 19 def self.find_and_deliver emails = [] #Urgent emails emails.concat loader.find_emails(:urgent, MonkeyMailer.configuration.urgent_quota) if(@@normal_sleep == configuration.normal_sleep) emails.concat loader.find_emails(:normal, MonkeyMailer.configuration.normal_quota) @@normal_sleep = 0 else @@normal_sleep += 1 end if(@@low_sleep == configuration.low_sleep) emails.concat loader.find_emails(:low, MonkeyMailer.configuration.low_quota) @@low_sleep = 0 else @@low_sleep += 1 end send_emails(emails) end
loader()
click to toggle source
# File lib/monkey-mailer/loader.rb, line 5 def self.loader @@loader ||= register_loader end
reset_adapter()
click to toggle source
# File lib/monkey-mailer/adapter.rb, line 11 def self.reset_adapter @@adapter = nil end
reset_loader()
click to toggle source
# File lib/monkey-mailer/loader.rb, line 9 def self.reset_loader @@loader = nil end
send_emails(emails)
click to toggle source
# File lib/monkey-mailer/adapter.rb, line 15 def self.send_emails(emails) emails.each do |email| begin adapter.send_email(email) loader.delete_email(email) rescue DeliverError => e puts e.message puts e.backtrace end end end
Private Class Methods
register_adapter()
click to toggle source
# File lib/monkey-mailer/adapter.rb, line 30 def self.register_adapter @@adapter = MonkeyMailer.configuration.adapter.new(MonkeyMailer.configuration.adapter_options) end
register_loader()
click to toggle source
# File lib/monkey-mailer/loader.rb, line 14 def self.register_loader @@loader = MonkeyMailer.configuration.loader.new(MonkeyMailer.configuration.loader_options) end
Public Instance Methods
run()
click to toggle source
# File lib/monkey-mailer.rb, line 42 def run while running? MonkeyMailer.find_and_deliver sleep MonkeyMailer.configuration.sleep end end