class LucaSupport::Mail

Public Class Methods

new(mail=nil, pjdir=nil) click to toggle source
# File lib/luca_support/mail.rb, line 9
def initialize(mail=nil, pjdir=nil)
  @pjdir = pjdir || Dir.pwd
  @config = load_config( Pathname(@pjdir) + "config.yml" )
  @mail = mail
  set_message_default
  @host = set_host
end

Public Instance Methods

deliver() click to toggle source
# File lib/luca_support/mail.rb, line 17
def deliver
  # mail gem accepts hash for 2nd param, not keywords
  @mail.delivery_method(:smtp, @host)
  @mail.deliver
end
mail_config(attr=nil) click to toggle source
# File lib/luca_support/mail.rb, line 34
def mail_config(attr=nil)
  return nil if attr.nil?
  @config.dig("mail", attr)
end
set_host() click to toggle source
# File lib/luca_support/mail.rb, line 23
def set_host
  {
    authentication: :plain,
    address: mail_config("address"),
    port: mail_config("port"),
    doomain: mail_config("domain"),
    user_name: mail_config("user_name"),
    password: mail_config("password")
  }
end
set_message_default() click to toggle source
# File lib/luca_support/mail.rb, line 39
def set_message_default
  @mail.from ||= @config.dig("mail", "from")
  @mail.cc ||= @config.dig("mail", "cc")
end