Sha256: defa25ee12db139ed2c3bc8c60f9c1ae9c2a603e0a2b31a800f9dc8a2ad513ea
Contents?: true
Size: 1.56 KB
Versions: 3
Compression:
Stored size: 1.56 KB
Contents
require 'knife-spork/plugins/plugin' module KnifeSpork module Plugins class Irccat < Plugin name :irccat def perform; end def after_upload irccat("#BOLD#PURPLECHEF:#NORMAL #{organization}#{current_user} uploaded #TEAL#{cookbooks.collect{ |c| "#{c.name}@#{c.version}" }.join(", ")}#NORMAL") end def after_promote_remote environments.each do |environment| diff = environment_diffs[environment.name] env_gist = gist(environment, diff) if config.gist irccat("#BOLD#PURPLECHEF:#NORMAL #{organization}#{current_user} promoted #TEAL#{cookbooks.collect{ |c| "#{c.name}@#{c.version}" }.join(", ")}#NORMAL to #{environment.name} #{env_gist}") end end private def irccat(message) channels.each do |channel| begin # Write the message using a TCP Socket socket = TCPSocket.open(config.server, config.port) socket.write("#{channel} #{message}") rescue Exception => e ui.error 'Failed to post message with irccat.' ui.error e.to_s ensure socket.close unless socket.nil? end end end def gist(environment, diff) msg = "Environment #{environment} uploaded at #{Time.now.getutc} by #{current_user}\n\nConstraints updated on server in this version:\n\n#{diff.collect { |k, v| "#{k}: #{v}\n" }.join}" %x[ echo "#{msg}" | #{config.gist}] end def channels [ config.channel || config.channels ].flatten end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
knife-spork-1.0.17 | lib/knife-spork/plugins/irccat.rb |
knife-spork-1.0.16 | lib/knife-spork/plugins/irccat.rb |
knife-spork-1.0.14 | lib/knife-spork/plugins/irccat.rb |