diff --git a/lib/god.rb b/lib/god.rb index b9236869..b0503146 100644 --- a/lib/god.rb +++ b/lib/god.rb @@ -53,6 +53,10 @@ require 'god/contact' require 'god/contacts/email' +begin + require 'god/contacts/twitterer' +rescue LoadError +end begin require 'god/contacts/jabber' rescue LoadError diff --git a/lib/god/contacts/twitterer.rb b/lib/god/contacts/twitterer.rb new file mode 100644 index 00000000..4ac5db21 --- /dev/null +++ b/lib/god/contacts/twitterer.rb @@ -0,0 +1,39 @@ +# For Twitter updates you need the 'twitter' gem +# (gem install twitter) +# +# Configure your watches like this: +# +# God::Contacts::Twitterer.settings = { :username => 'sender@example.com', +# :password => 'secret' } +# God.contact(:twitterer) do |c| +# c.name = 'Tester' +# c.group = 'developers' +# end + +require 'rubygems' +require 'twitter' + +module God + module Contacts + class Twitterer < Contact + class << self + attr_accessor :settings + end + + def valid? + valid = true + end + + def notify(message, time, priority, category, host) + begin + Twitter::Base.new(Twitterer.settings[:username], + Twitterer.settings[:password]).update(message) + + self.info = "sent twitter update as #{Twitterer.settings[:username]}" + rescue => e + self.info = "failed to send twitter update from #{self.twitter_id}: #{e.message}" + end + end + end + end +end