module Lanes::Mailer

Public Class Methods

create(args = {}, &block) click to toggle source
# File lib/lanes/mailer.rb, line 25
def self.create(args = {}, &block)
    args[:from] = SystemSettings.for_ext(:lanes).dig('smtp', 'from')
    set_defaults unless @@configured
    Mail::Message.new(args, &block)
end
deliver(args = {}, &block) click to toggle source
# File lib/lanes/mailer.rb, line 31
def self.deliver(args = {}, &block)
    args[:from] = SystemSettings.for_ext(:lanes).dig('smtp', 'from')
    set_defaults unless @@configured
    mail = self.new(args, &block)
    mail.deliver
    mail
end
set_defaults(settings = SystemSettings.for_ext(:lanes)) click to toggle source
# File lib/lanes/mailer.rb, line 7
def self.set_defaults(settings = SystemSettings.for_ext(:lanes))
    smtp = settings['smtp'] || {}
    method = Lanes.env.production? ? :smtp : :test
    Mail.defaults do
        delivery_method(method, {
                            user_name: smtp['login'],
                            password:  smtp['password'],
                            address:   smtp['server']
                        })

    end
    @@configured = true
end