class Osakana::Notifier

Public Class Methods

notify(title, attachments) click to toggle source
# File lib/osakana/notifier.rb, line 33
def self.notify(title, attachments)
  new.notifiy(title, attachments)
end

Public Instance Methods

notifiy(title, attachments = []) click to toggle source
# File lib/osakana/notifier.rb, line 7
def notifiy(title, attachments = [])
  attachments << { title: "N/A" } if attachments.empty?

  if slack_webhook_url?
    slack = Slack::Incoming::Webhooks.new(slack_webhook_url, channel: slack_channel)
    slack.post title, attachments: attachments
  else
    puts title
    attachments.each do |attachment|
      puts attachment.dig(:title)
    end
  end
end
slack_channel() click to toggle source
# File lib/osakana/notifier.rb, line 25
def slack_channel
  ENV.fetch "SLACK_CHANNEL", "#general"
end
slack_webhook_url() click to toggle source
# File lib/osakana/notifier.rb, line 21
def slack_webhook_url
  ENV.fetch "SLACK_WEBHOOK_URL"
end
slack_webhook_url?() click to toggle source
# File lib/osakana/notifier.rb, line 29
def slack_webhook_url?
  ENV.key? "SLACK_WEBHOOK_URL"
end