Sha256: 758cdc9fb2801d0cc2d9d038ab1d89a400b85006f96058055e8a7966cf629e21

Contents?: true

Size: 863 Bytes

Versions: 1

Compression:

Stored size: 863 Bytes

Contents

require 'blather/client/client'
require 'blather/client/dsl'

module Adhearsion
  class XMPP
    class Connection

      include Blather::DSL

      def initialize
        Blather.logger = logger
        Blather.default_log_level = :trace if Blather.respond_to? :default_log_level
        register_default_client_handlers
        Adhearsion::Events.after_initialized { connect }
        Adhearsion::Events.shutdown { shutdown }
      end

      private

      def connect
        logger.info "Connecting to XMPP"
        Adhearsion::Process.important_threads << Thread.new do
          EventMachine.run { client.connect }
        end
      end

      def register_default_client_handlers
        client.register_handler(:ready) do
          logger.info "Connected to XMPP server! Send messages to #{client.jid.stripped}."
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
adhearsion-xmpp-1.0.1 lib/adhearsion/xmpp/connection.rb