lib/blather/client/client.rb in sprsquish-blather-0.4.3 vs lib/blather/client/client.rb in sprsquish-blather-0.4.4

- old
+ new

@@ -78,10 +78,11 @@ def run raise 'not setup!' unless setup? klass = @setup[0].node ? Blather::Stream::Client : Blather::Stream::Component klass.start self, *@setup end + alias_method :connect, :run ## # Register a filter to be run before or after the handler chain is run. # * +type+ - the type of filter. Must be +:before+ or +:after+ # * +guards+ - guards that should be checked before the filter is called @@ -139,11 +140,11 @@ @jid = JID.new(jid) if jid self.jid.node ? client_post_init : ready! end def unbind # :nodoc: - EM.stop if EM.reactor_running? + call_handler_for(:disconnected, nil) || (EM.reactor_running? && EM.stop) end def receive_data(stanza) # :nodoc: catch(:halt) do run_filters :before, stanza @@ -174,10 +175,10 @@ Blather.logger.warn "Handler for type \"#{type}\" will never be called as it's not a registered type" unless current_handlers.include?(type) check_guards guards end def current_handlers - [:ready] + Stanza.handler_list + BlatherError.handler_list + [:ready, :disconnected] + Stanza.handler_list + BlatherError.handler_list end def setup_initial_handlers # :nodoc: register_handler :error do |err| raise err