Class: Mihari::Notifiers::Slack

Inherits:
Base
  • Object
show all
Defined in:
lib/mihari/notifiers/slack.rb

Constant Summary collapse

SLACK_WEBHOOK_URL_KEY =
"SLACK_WEBHOOK_URL"
SLACK_CHANNEL_KEY =
"SLACK_CHANNEL"
DEFAULT_USERNAME =
"mihari"

Instance Method Summary collapse

Instance Method Details

#notify(text:, attachments: [], mrkdwn: true) ⇒ Object



26
27
28
29
# File 'lib/mihari/notifiers/slack.rb', line 26

def notify(text:, attachments: [], mrkdwn: true)
  notifier = ::Slack::Notifier.new(slack_webhook_url, channel: slack_channel, username: DEFAULT_USERNAME)
  notifier.post(text: text, attachments: attachments, mrkdwn: true)
end

#slack_channelObject



10
11
12
# File 'lib/mihari/notifiers/slack.rb', line 10

def slack_channel
  ENV.fetch SLACK_CHANNEL_KEY, "#general"
end

#slack_webhook_urlObject



14
15
16
# File 'lib/mihari/notifiers/slack.rb', line 14

def slack_webhook_url
  ENV.fetch SLACK_WEBHOOK_URL_KEY
end

#slack_webhook_url?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/mihari/notifiers/slack.rb', line 18

def slack_webhook_url?
  ENV.key? SLACK_WEBHOOK_URL_KEY
end

#valid?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/mihari/notifiers/slack.rb', line 22

def valid?
  slack_webhook_url?
end