Sha256: cd1013eb7c9b4861770b7a3a2e764539d9e47ed97dade85bf5415b15f87f2a70
Contents?: true
Size: 1.57 KB
Versions: 3
Compression:
Stored size: 1.57 KB
Contents
class UniformNotifier class Xmpp < Base @receiver = nil @xmpp = nil @password = nil def self.active? @xmpp end def self.setup_connection( xmpp_information ) return unless xmpp_information require 'xmpp4r' @xmpp = xmpp_information @receiver = xmpp_information[:receiver] @password = xmpp_information[:password] @account = xmpp_information[:account] @show_online_status = xmpp_information[:show_online_status] @stay_connected = xmpp_information[:stay_connected].nil? ? true : xmpp_information[:stay_connected] connect if @stay_connected rescue LoadError @xmpp = nil raise NotificationError.new( 'You must install the xmpp4r gem to use XMPP notification: `gem install xmpp4r`' ) end protected def self._out_of_channel_notify( data ) message = data.values.compact.join("\n") notify( message ) end private def self.connect jid = Jabber::JID.new( @account ) @xmpp = Jabber::Client.new( jid ) @xmpp.connect @xmpp.auth( @password ) @xmpp.send( presence_status ) if @show_online_status end def self.notify( message ) connect unless @stay_connected message = Jabber::Message.new( @receiver, message ). set_type( :normal ). set_subject( 'Uniform Notifier' ) @xmpp.send( message ) end def self.presence_status Jabber::Presence.new.set_status( "Uniform Notifier started on #{Time.now}" ) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
uniform_notifier-1.11.0 | lib/uniform_notifier/xmpp.rb |
uniform_notifier-1.10.0 | lib/uniform_notifier/xmpp.rb |
uniform_notifier-1.9.0 | lib/uniform_notifier/xmpp.rb |