Class: Eye::Notify::Slack

Inherits:
Eye::Notify show all
Defined in:
lib/eye/notify/slack.rb

Constant Summary

Constants inherited from Eye::Notify

TIMEOUT, TYPES

Instance Method Summary collapse

Methods inherited from Eye::Notify

#async_notify, get_class, #initialize, #logger_sub_tag, #message_subject, notify, #notify, register, requires, validate!

Methods included from Dsl::Validation

included

Constructor Details

This class inherits a constructor from Eye::Notify

Instance Method Details

#executeObject


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/eye/notify/slack.rb', line 16

def execute
  debug { "send slack #{[channel, username]} - #{[contact, message_body]}" }

  options = {
    channel:  channel,
    username: username
  }

  options[:icon_emoji] = icon if icon && icon.start_with?(':')
  options[:icon_url]   = icon if icon && icon.start_with?('http')

  notifier = ::Slack::Notifier.new webhook_url, options

  notifier.ping message_body
end

#message_bodyObject


32
33
34
35
36
37
# File 'lib/eye/notify/slack.rb', line 32

def message_body
  payload = ''
  payload << "#{contact}: *#{msg_host}* _#{msg_full_name}_ at #{Eye::Utils.human_time2(msg_at)}\n"
  payload << "> #{msg_message}"
  payload
end