# =XMPP4R - XMPP Library for Ruby # License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option. # Website::http://home.gna.org/xmpp4r/ require 'xmpp4r/xmppelement' module Jabber ## # A class used to build/parse elements # # These elements may occur as "attachments" # in [Message] and [Presence] stanzas class X < XMPPElement name_xmlns 'x' force_xmlns true end module XParent ## # Get the first element in this stanza, or nil if none found. # wanted_xmlns:: [String] Optional, find the first element having this xmlns, # wanted_xmlns can also be a derivate of XMPPElement from which the namespace will be taken # result:: [REXML::Element] or nil def x(wanted_xmlns=nil) if wanted_xmlns.kind_of? Class and wanted_xmlns.ancestors.include? XMPPElement wanted_xmlns = wanted_xmlns.new.namespace end each_element('x') { |x| if wanted_xmlns.nil? or wanted_xmlns == x.namespace return x end } nil end end end