class MocaRlibs::SlackNotifier
Slack通知クライアント
Constants
- PREFIX
- SLACK_DEFAULT_CHANNEL
- SLACK_DEFAULT_USER
- SLACK_WEBHOOK_URL
Attributes
client[R]
Public Class Methods
error(err, channel: nil, username: nil, webhook: nil)
click to toggle source
エラーログを送信
@param [StandardError] err エラーオブジェクト @param [String] channel チャンネル名 @param [String] username ユーザー名 @param [String] webhook Web Hook URL
# File lib/moca_rlibs/slack_notifier.rb, line 64 def self.error(err, channel: nil, username: nil, webhook: nil) backtrace = (err.backtrace&.join || 'no backtrace info').sub('`', '\'').slice(0, 2000) new(webhook: webhook, channel: channel, username: username) .send("#{err.message}\n```\n#{backtrace}\n```", at: 'here') end
new(webhook: nil, channel: nil, username: nil)
click to toggle source
@param [String] webhook Web Hook URL @param [String] channel チャンネル名 @param [String] username ユーザー名
# File lib/moca_rlibs/slack_notifier.rb, line 23 def initialize(webhook: nil, channel: nil, username: nil) @client = Slack::Notifier.new( webhook || SLACK_WEBHOOK_URL, channel: channel || SLACK_DEFAULT_CHANNEL, username: username || SLACK_DEFAULT_USER ) end
send(message, channel: nil, username: nil, webhook: nil, at: nil)
click to toggle source
シンプルなテキストを送信する
@param [String] message 送信メッセージ @param [String] channel チャンネル名 @param [String] username ユーザー名 @param [String] webhook Web Hook URL @param [String] at メンション先
# File lib/moca_rlibs/slack_notifier.rb, line 53 def self.send(message, channel: nil, username: nil, webhook: nil, at: nil) new(webhook: webhook, channel: channel, username: username) .send(message, at: at) end
Public Instance Methods
error(err)
click to toggle source
エラーログを送信
@param [StandardError] err エラーオブジェクト
# File lib/moca_rlibs/slack_notifier.rb, line 42 def error(err) send("#{err.message}\n```#{err.backtrace}```", at: 'here') end
send(message, at: nil)
click to toggle source
シンプルなテキストを送信する
@param [String] message 送信メッセージ @param [String] at メンション先
# File lib/moca_rlibs/slack_notifier.rb, line 35 def send(message, at: nil) @client.ping("#{at ? "<!#{at}> " : ''}#{message}") end