class Kronos::Logger::Slack
Public Class Methods
new(slack_webhook_url)
click to toggle source
# File lib/kronos/logger/slack.rb, line 9 def initialize(slack_webhook_url) @slack_uri = URI.parse(slack_webhook_url) @use_ssl = @slack_uri.scheme == 'https' end
Public Instance Methods
error(msg)
click to toggle source
# File lib/kronos/logger/slack.rb, line 18 def error(msg) send_to_slack("[`Kronos`][`ERROR`][`#{Time.now.iso8601}`] #{msg}", ':red_circle:') end
info(msg)
click to toggle source
# File lib/kronos/logger/slack.rb, line 14 def info(msg) send_to_slack("[`Kronos`][`INFO`][`#{Time.now.iso8601}`] #{msg}", ':information_source:') end
success(msg)
click to toggle source
# File lib/kronos/logger/slack.rb, line 22 def success(msg) send_to_slack("[`Kronos`][`SUCCESS`][`#{Time.now.iso8601}`] #{msg}", ':white_check_mark:') end
Private Instance Methods
send_to_slack(message, emoji)
click to toggle source
# File lib/kronos/logger/slack.rb, line 28 def send_to_slack(message, emoji) request = Net::HTTP::Post.new(@slack_uri) request.body = { text: message, icon_emoji: emoji }.to_json Net::HTTP.start(@slack_uri.host, @slack_uri.port, use_ssl: @use_ssl) { |http| http.request(request) } end