Sha256: bc2ed066c2e6aa677f4e12a5fc6c78233244c827e965fdd77d0509baab625568

Contents?: true

Size: 892 Bytes

Versions: 5

Compression:

Stored size: 892 Bytes

Contents

require 'xmpp4r/client'

class JabberNotify
  @@jabber = nil

  def self.logger
    @@logger ||= RAILS_DEFAULT_LOGGER || Logger.new(STDOUT)
  end

  def self.send_message(user, subject, body, html)
    return if user.jabber.blank?

    begin
      STDERR.puts "** Sending #{body} to #{user.jabber} via jabber."
      message = Jabber::Message::new(user.jabber, body)
      message.subject = subject
      session.send(message)
    rescue => err
      logger.error "Attempt to use jabber failed: #{err.inspect}" if defined? logger 
    end
  end

  private
  def self.session
    return @@jabber if @@jabber

    address = Blog.default.jabber_address
    unless address =~ /\//
      address = address + '/typo'
    end

    @@jabber = Jabber::Client.new(Jabber::JID.new(address), true) 
    @@jabber.connect 
    @@jabber.auth(Blog.default.jabber_password) 
    return @@jabber    
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
typo-4.1.1 lib/jabber_notify.rb
typo-5.0.1 lib/jabber_notify.rb
typo-5.0.2 lib/jabber_notify.rb
typo-4.1 lib/jabber_notify.rb
typo-5.0 lib/jabber_notify.rb