lib/blather/client/dsl.rb in blather-0.4.1 vs lib/blather/client/dsl.rb in blather-0.4.2

- old
+ new

@@ -37,10 +37,22 @@ def shutdown client.close end ## + # Setup a before filter + def before(handler = nil, *guards, &block) + client.register_filter :before, handler, *guards, &block + end + + ## + # Setup an after filter + def after(handler = nil, *guards, &block) + client.register_filter :after, handler, *guards, &block + end + + ## # Set handler for a stanza type def handle(stanza_type, *guards, &block) client.register_handler stanza_type, *guards, &block end @@ -78,9 +90,21 @@ ## # Wrapper to grab the current JID def jid client.jid + end + + ## + # Halt the handler chain + def halt + throw :halt + end + + ## + # Pass responsibility to the next handler + def pass + throw :pass end ## # Request items or info from an entity # discover (items|info), [jid], [node] do |response|