class Malone
Attributes
config[R]
Public Class Methods
connect(options = {})
click to toggle source
# File lib/malone.rb, line 9 def self.connect(options = {}) @config = Configuration.new(options) current end
current()
click to toggle source
# File lib/malone.rb, line 15 def self.current unless defined?(@config) raise RuntimeError, "Missing configuration: Try doing `Malone.connect`." end return new(@config) end
deliver(dict)
click to toggle source
# File lib/malone.rb, line 23 def self.deliver(dict) current.deliver(dict) end
deliveries()
click to toggle source
# File lib/malone/test.rb, line 4 def self.deliveries @deliveries ||= [] end
new(config)
click to toggle source
# File lib/malone.rb, line 27 def initialize(config) @config = config end
reset_deliveries()
click to toggle source
# File lib/malone/test.rb, line 8 def self.reset_deliveries @deliveries = nil end
Public Instance Methods
deliver(dict) { |mail| ... }
click to toggle source
# File lib/malone.rb, line 31 def deliver(dict) mail = envelope(dict) yield mail if block_given? smtp = Net::SMTP.new(config.host, config.port) if config.force_tls smtp.enable_starttls elsif config.tls smtp.enable_starttls_auto end begin smtp.start(config.domain, config.user, config.password, config.auth) smtp.send_message(mail.to_s, mail.from.first, *mail.recipients) ensure smtp.finish if smtp.started? end end
envelope(dict)
click to toggle source
# File lib/malone.rb, line 51 def envelope(dict) envelope = Kuvert.new envelope.from = dict[:from] envelope.to = dict[:to] envelope.replyto = dict[:replyto] envelope.cc = dict[:cc] if dict[:cc] envelope.bcc = dict[:bcc] if dict[:bcc] envelope.text = dict[:text] envelope.rawhtml = dict[:html] if dict[:html] envelope.subject = dict[:subject] envelope.attach(dict[:attach]) if dict[:attach] envelope.add_attachment_as(*dict[:attach_as]) if dict[:attach_as] return envelope end