module Mailthis::Mailer::InstanceMethods
Public Class Methods
new(&block)
click to toggle source
# File lib/mailthis/mailer.rb, line 38 def initialize(&block) @nil_settings = nil @smtp_auth = DEFAULT_AUTH @logger = NullLogger.new self.instance_eval(&block) if block end
Public Instance Methods
deliver(message = nil, &block)
click to toggle source
# File lib/mailthis/mailer.rb, line 102 def deliver(message = nil, &block) raise NotImplementedError end
from(value = nil)
click to toggle source
# File lib/mailthis/mailer.rb, line 76 def from(value = nil) @from = value if !value.nil? @from end
logger(value = nil)
click to toggle source
# File lib/mailthis/mailer.rb, line 81 def logger(value = nil) @logger = value if !value.nil? @logger end
smtp_auth(value = nil)
click to toggle source
# File lib/mailthis/mailer.rb, line 71 def smtp_auth(value = nil) @smtp_auth = value.to_s if !value.nil? @smtp_auth end
smtp_helo(value = nil)
click to toggle source
# File lib/mailthis/mailer.rb, line 46 def smtp_helo(value = nil) @smtp_helo = value if !value.nil? @smtp_helo end
smtp_port(value = nil)
click to toggle source
# File lib/mailthis/mailer.rb, line 56 def smtp_port(value = nil) @smtp_port = value if !value.nil? @smtp_port end
smtp_pw(value = nil)
click to toggle source
# File lib/mailthis/mailer.rb, line 66 def smtp_pw(value = nil) @smtp_pw = value if !value.nil? @smtp_pw end
smtp_server(value = nil)
click to toggle source
# File lib/mailthis/mailer.rb, line 51 def smtp_server(value = nil) @smtp_server = value if !value.nil? @smtp_server end
smtp_user(value = nil)
click to toggle source
# File lib/mailthis/mailer.rb, line 61 def smtp_user(value = nil) @smtp_user = value if !value.nil? @smtp_user end
valid?()
click to toggle source
# File lib/mailthis/mailer.rb, line 86 def valid? !@nil_settings.nil? && @nil_settings.empty? end
validate!()
click to toggle source
# File lib/mailthis/mailer.rb, line 90 def validate! @from = self.smtp_user if @from.nil? @nil_settings = [] REQUIRED_SETTINGS.each{ |s| @nil_settings << s if self.send(s).nil? } if !self.valid? raise(MailerError, "missing required settings: #{@nil_settings.join(', ')}") end self # for chaining end
Private Instance Methods
build_message(message, &block)
click to toggle source
# File lib/mailthis/mailer.rb, line 112 def build_message(message, &block) (message || ::Mailthis::Message.new).tap do |msg| msg.instance_eval(&block) if block end end
outgoing_email(message, &block)
click to toggle source
# File lib/mailthis/mailer.rb, line 108 def outgoing_email(message, &block) OutgoingEmail.new(self, build_message(message, &block)) end