Sha256: 5e3afde41f9a9f0e0c22829431a9e3ae1422b6bdd106d6546e4f348cd344d61b

Contents?: true

Size: 1.3 KB

Versions: 3

Compression:

Stored size: 1.3 KB

Contents

require 'xmpp4r'
require 'xmpp4r/muc'
require 'xmpp4r/roster'
require 'xmpp4r/client'
require 'xmpp4r/message'

module SocialStream
  module Presence
    class Engine < Rails::Engine
      config.to_prepare do
        
        #Patching Tie
        Tie.class_eval do
          include SocialStream::Presence::Models::BuddyManager
        end
        
      end 
               
      initializer "social_stream-presence.synchronize" do
          #Synchronize User Presence
          #Implement case XMMP Server Down
          Thread.start {
            begin
              client = Jabber::Client.new(Jabber::JID.new('social_stream-presence@trapo'))
              client.connect
              password = Socialstream::Presence::PASSWORD
              client.auth(password)
       
              msg = Jabber::Message::new("social_stream-presence@trapo", "Synchronize")
              msg.type=:chat
              client.send(msg)
              client.close()
            
            rescue Errno::ECONNREFUSED
              #XMPP Server Down
              #Reset Connected Users
              users = User.find_all_by_connected(true)
              users.each do |user|
                user.connected = false
                user.save!
              end
              
            end
          }
      end
      
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
social_stream-0.11.5 presence/lib/social_stream/presence/engine.rb
social_stream-0.11.4 presence/lib/social_stream/presence/engine.rb
social_stream-0.11.3 presence/lib/social_stream/presence/engine.rb