class OpsDeploy::CLI::Notifier

Notifier

Attributes

messages[RW]
notification_type[RW]
options[RW]

Public Class Methods

new(options) click to toggle source
# File lib/ops_deploy/cli/notifier.rb, line 7
def initialize(options)
  @options = options
  @options.delete(:slack) if @options[:slack].nil? || @options[:slack][:webhook_url].nil?
  @messages = OpsDeploy::CLI::Notifier::Messages.new
  @notification_type = :info
end

Public Instance Methods

failure_notify(stack, message) click to toggle source
# File lib/ops_deploy/cli/notifier.rb, line 41
def failure_notify(stack, message)
  return unless @options[:slack]

  OpsDeploy::CLI::Notifier::Slack.new(stack, @options[:slack])
    .failure_notify(message) if @options[:slack]
end
info_notify(stack, message) click to toggle source
# File lib/ops_deploy/cli/notifier.rb, line 27
def info_notify(stack, message)
  return unless @options[:slack]

  OpsDeploy::CLI::Notifier::Slack.new(stack, @options[:slack])
    .notify(message)
end
notify(stack) click to toggle source
# File lib/ops_deploy/cli/notifier.rb, line 14
def notify(stack)
  if @notification_type == :failure
    message = @messages.failure.join("\n")
    failure_notify(stack, message)
  elsif @notification_type == :success
    message = @messages.success.join("\n")
    success_notify(stack, message)
  else
    message = @messages.info.join("\n")
    info_notify(stack, message)
  end
end
reset() click to toggle source
# File lib/ops_deploy/cli/notifier.rb, line 48
def reset
  @messages = OpsDeploy::CLI::Notifier::Messages.new
  @notification_type = :info
end
success_notify(stack, message) click to toggle source
# File lib/ops_deploy/cli/notifier.rb, line 34
def success_notify(stack, message)
  return unless @options[:slack]

  OpsDeploy::CLI::Notifier::Slack.new(stack, @options[:slack])
    .success_notify(message)
end