Class: Slack::Mail

Inherits:
Object
  • Object
show all
Defined in:
lib/slack/mail.rb,
lib/slack/mail/job.rb,
lib/slack/mail/config.rb,
lib/slack/mail/railtie.rb,
lib/slack/mail/version.rb,
lib/slack/mail/delivery.rb

Defined Under Namespace

Classes: Configurator, Job, Perform, Railtie, Store

Constant Summary collapse

VERSION =
"0.0.1"
DeliveryFailure =
Class.new(StandardError)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.configObject



10
11
12
# File 'lib/slack/mail/config.rb', line 10

def self.config
  @config ||= Slack::Mail::Configurator.new
end

.deliverersObject



3
4
5
6
7
8
# File 'lib/slack/mail/config.rb', line 3

def self.deliverers
  {
    perform: Perform,
    store:   Store
  }
end

.deliveriesObject



5
6
7
# File 'lib/slack/mail/delivery.rb', line 5

def self.deliveries
  @_deliveries ||= []
end

Instance Method Details

#attach_error(error) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/slack/mail.rb', line 34

def attach_error error
  self.text        ||= error.to_s
  self.attachments ||= []

  trace = error.backtrace.join "\n"
  attachments.push \
    fallback:  trace,
    text:      "```#{trace}```",
    color:     "danger",
    mrkdwn_in: ["text"]

  self
end

#deliver_laterObject



30
31
32
# File 'lib/slack/mail.rb', line 30

def deliver_later
  Slack::Mail::Job.perform_later to_h
end

#deliver_nowObject



26
27
28
# File 'lib/slack/mail.rb', line 26

def deliver_now
  Mail.config.deliverer.deliver self
end