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|