Sha256: 1c84971f4c093298b703a50aeb8ac0932b17fb515421e547c7a3b09cac33115e

Contents?: true

Size: 838 Bytes

Versions: 3

Compression:

Stored size: 838 Bytes

Contents

require 'jabber4r/jabber4r'

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 = session.new_message(user.jabber)
      message.subject = subject
      message.body = body
      message.xhtml = html
      message.send
    rescue => err
      logger.error "Attempt to use jabber failed: #{err.inspect}" if logger
    end
  end

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

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

    @@jabber ||= Jabber::Session.bind(address, Blog.default.jabber_password)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
typo-4.0.1 lib/jabber_notify.rb
typo-4.0.2 lib/jabber_notify.rb
typo-4.0.3 lib/jabber_notify.rb