Sha256: e421e0794a9eeb4c4c94bf7caf3b1468cf4792f2071c6662d486ebea7c89276e

Contents?: true

Size: 794 Bytes

Versions: 1

Compression:

Stored size: 794 Bytes

Contents

require 'rubygems'
require 'shout-bot'
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

    port    = irc_options[:port] || 6667
    nick    = irc_options[:nick] || 'cerberus'
    server  = irc_options[:server]
    channel = '#' + irc_options[:channel]
    
    ShoutBot.shout("irc://#{nick}@#{server}:#{port}/#{channel}") do |channel|
      message.split("\n").each { |line| channel.say line }
    end
    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cerberus-0.7.7 lib/cerberus/publisher/irc.rb