module Deploy::Output

Public Instance Methods

announce(attachments) click to toggle source
# File lib/deploy/output.rb, line 4
def announce(attachments)
  shout("#{attachments[:title]} - #{attachments[:text]}")
  notifier('', attachments)
end
colorize(color_code, message) click to toggle source
# File lib/deploy/output.rb, line 47
def colorize(color_code, message)
  "\e[#{color_code}m#{message}\e[0m"
end
green(message) click to toggle source
# File lib/deploy/output.rb, line 35
def green(message)
  colorize(32, message)
end
notifier(message, attachments) click to toggle source
# File lib/deploy/output.rb, line 9
def notifier(message, attachments)
  if ENV['SLACK_WEBHOOK']
    @notifier ||= Slack::Notifier.new(ENV['SLACK_WEBHOOK'])
    @notifier.ping(message, {
      attachments: [attachments]
    })
  else
    shout 'You can send deployment notifications if you set the SLACK_WEBHOOK environment variable.'
  end
end
pink(message) click to toggle source
# File lib/deploy/output.rb, line 43
def pink(message)
  colorize(35, message)
end
red(message) click to toggle source
# File lib/deploy/output.rb, line 31
def red(message)
  colorize(31, message)
end
shout(message) click to toggle source
# File lib/deploy/output.rb, line 20
def shout(message)
  message_size = message.size
  if message_size < 77
    # lines are always 80 characters
    stars = '*' * (77 - message_size)
    puts(red("+ ") + "#{message} #{red(stars)}")
  else
    puts(red('+ ') + message)
  end
end
yellow(message) click to toggle source
# File lib/deploy/output.rb, line 39
def yellow(message)
  colorize(33, message)
end