Sha256: b4cdb093328f3c833420f404d15aa2611e21f32f50a2517f1c383d5fdb8a923d
Contents?: true
Size: 886 Bytes
Versions: 9
Compression:
Stored size: 886 Bytes
Contents
require 'rubygems' require 'IRC' require 'cerberus/publisher/base' class Cerberus::Publisher::IRC < Cerberus::Publisher::Base def self.publish(state, manager, options) irc_options = options[:publisher, :irc] raise "There is no channel provided for IRC publisher" unless irc_options[:channel] subject,body = Cerberus::Publisher::Base.formatted_message(state, manager, options) message = subject + "\n" + '*' * subject.length + "\n" + body channel = '#' + irc_options[:channel] bot = IRC.new(irc_options[:nick] || 'cerberus', irc_options[:server], irc_options[:port] || 6667) silence_stream(STDOUT) do IRCEvent.add_callback('endofmotd') do |event| bot.add_channel(channel) message.split("\n").each do |line| bot.send_message(channel, line) end bot.send_quit end bot.connect end end end
Version data entries
9 entries across 9 versions & 1 rubygems