Module: Lanes::Mailer

Defined in:
lib/lanes/mailer.rb

Constant Summary collapse

@@configured =
false

Class Method Summary collapse

Class Method Details

.create(args = {}, &block) ⇒ Object



25
26
27
28
29
# 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) ⇒ Object



31
32
33
34
35
36
37
# 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)) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# 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