class PubsubNotifier::SlackClient

Attributes

channel[R]
icon_emoji[R]
username[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/pubsub_notifier/slack_client.rb, line 9
def initialize(options = {})
  @channel    = options.delete(:channel)    || default_channel
  @username   = options.delete(:username)   || default_username
  @icon_emoji = options.delete(:icon_emoji) || default_icon_emoji
end

Public Instance Methods

notify_failure(message) click to toggle source
# File lib/pubsub_notifier/slack_client.rb, line 25
def notify_failure(message)
  post_slack(
    attachments: [{
      text:      message,
      color:     "danger",
      mrkdwn_in: ["text"],
    }],
  )
end
notify_success(message) click to toggle source
# File lib/pubsub_notifier/slack_client.rb, line 15
def notify_success(message)
  post_slack(
    attachments: [{
      text:      message,
      color:     "good",
      mrkdwn_in: ["text"],
    }],
  )
end

Private Instance Methods

default_channel() click to toggle source
# File lib/pubsub_notifier/slack_client.rb, line 57
def default_channel
  config.default_channel
end
default_icon_emoji() click to toggle source
# File lib/pubsub_notifier/slack_client.rb, line 65
def default_icon_emoji
  config.default_icon_emoji
end
default_payload() click to toggle source
# File lib/pubsub_notifier/slack_client.rb, line 48
def default_payload
  {
    channel:    channel,
    link_names: 1,
    username:   username,
    icon_emoji: icon_emoji,
  }
end
default_username() click to toggle source
# File lib/pubsub_notifier/slack_client.rb, line 61
def default_username
  config.default_username
end
end_point_uri() click to toggle source
# File lib/pubsub_notifier/slack_client.rb, line 44
def end_point_uri
  @end_point_uri ||= URI.parse(webhook_url)
end
post_slack(payload) click to toggle source
# File lib/pubsub_notifier/slack_client.rb, line 37
def post_slack(payload)
  Net::HTTP.post_form(
    end_point_uri,
    payload: default_payload.merge(payload).to_json,
  )
end
webhook_url() click to toggle source
# File lib/pubsub_notifier/slack_client.rb, line 69
def webhook_url
  config.webhook_url
end