Class: SlackNotifier::Message
- Inherits:
-
Object
- Object
- SlackNotifier::Message
- Defined in:
- lib/slack_notifier/message.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.send(text:, channel: nil, nickname: nil, icon_emoji: nil, report: nil, report_color: nil) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# File 'lib/slack_notifier/message.rb', line 3 def self.send(text:, channel: nil, nickname: nil, icon_emoji: nil, report: nil, report_color: nil) channel ||= Config.default_channel nickname ||= Config.default_nickname icon = icon_emoji || Config.default_icon_emoji report_color = report_color || Config.default_report_color new(text, channel, nickname, icon, report, report_color).tap(&:deliver) rescue => ex raise ex if Config.raise_delivery_errors puts ex. puts ex.backtrace.join("\n") end |
Instance Method Details
#deliver ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/slack_notifier/message.rb', line 15 def deliver payload_hash = { username: @nickname, text: @message.gsub('\'', '`'), channel: @channel } payload_hash.merge!(icon_param) payload_hash.merge!() if !@report.nil? && !@report.empty? payload = payload_hash.to_json cmd = %(curl -X POST --data-urlencode 'payload=#{payload}' #{Config.webhook_url}) puts "Executing: `#{cmd}`" result = `#{cmd}` puts "Result: #{result}" Time.now end |