Class Jabber::Dataforms::XData
In: lib/xmpp4r/dataforms/x/data.rb
Parent: X
Message Presence XMPPStanza Iq XMPPElement ErrorResponse X IqQuery JabberError ComponentAuthenticationFailure ArgumentError SOCKS5Error ServerError NoNameXmlnsRegistered ClientAuthenticationFailure Connection Client Component Client Singleton IdGenerator Comparable JID StandardError REXML::Element Stream IqQuery IqQueryVersion IqQueryRoster IqQueryBytestreams IqQueryRPC IqQueryMUCOwner IqQueryMUCAdmin IqQueryDiscoItems IqQueryDiscoInfo Responder SimpleResponder XRosterItem RosterXItem XMPPElement RosterItem IqFeature StreamHost IqSiFile IqSiFileRange IqSi StreamHostUsed C Body HTML UserItem XMUCUserInvite Tune Configuration Items Item IqPubSub Publish Event IqPubSubOwner Subscription Unsubscribe Feature Item Identity XDataField XDataReported XDataTitle XDataInstructions IqVcard XRoster RosterX X XMUC XMUCUser XDelay XData Iq IqCommand SOCKS5Bytestreams SOCKS5BytestreamsTarget SOCKS5BytestreamsInitiator SOCKS5BytestreamsServerStreamHost TCPSocket SOCKS5Socket IBB IBBTarget IBBInitiator XMLRPC::ParserWriterChooseMixin Client Server XMLRPC::ParseContentType XMLRPC::BasicServer MUCClient SimpleMUCClient MUC::UserItem XMUCUserItem IqQueryMUCAdminItem XParent Base Anonymous DigestMD5 Plain PubSub::ServiceHelper Helper SubscriptionConfig NodeConfig OwnerNodeConfig EventItems EventItem ServiceHelper NodeHelper FileSource Base Bot CallbackList Callback StreamParser Semaphore Helper Responder SOCKS5BytestreamsPeer SOCKS5BytestreamsServer IBBQueueItem Helper MUCBrowser NodeBrowser Responder Helper Helper lib/xmpp4r/message.rb lib/xmpp4r/connection.rb lib/xmpp4r/xmppstanza.rb lib/xmpp4r/iq.rb lib/xmpp4r/callbacks.rb lib/xmpp4r/idgenerator.rb lib/xmpp4r/stream.rb lib/xmpp4r/client.rb lib/xmpp4r/jid.rb lib/xmpp4r/x.rb lib/xmpp4r/streamparser.rb lib/xmpp4r/semaphore.rb lib/xmpp4r/errors.rb lib/xmpp4r/component.rb lib/xmpp4r/presence.rb lib/xmpp4r/xmppelement.rb lib/xmpp4r/query.rb XParent lib/xmpp4r/version/helper/responder.rb lib/xmpp4r/version/helper/simpleresponder.rb lib/xmpp4r/version/iq/version.rb Version lib/xmpp4r/roster/x/roster.rb lib/xmpp4r/roster/helper/roster.rb lib/xmpp4r/roster/iq/roster.rb Roster lib/xmpp4r/feature_negotiation/iq/feature.rb FeatureNegotiation lib/xmpp4r/command/iq/command.rb lib/xmpp4r/command/helper/responder.rb Command lib/xmpp4r/bytestreams/iq/si.rb lib/xmpp4r/bytestreams/helper/ibb/initiator.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/base.rb lib/xmpp4r/bytestreams/iq/bytestreams.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/initiator.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/socks5.rb lib/xmpp4r/bytestreams/helper/ibb/target.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/server.rb lib/xmpp4r/bytestreams/helper/ibb/base.rb Bytestreams lib/xmpp4r/caps/helper/helper.rb lib/xmpp4r/caps/c.rb Caps lib/xmpp4r/xhtml/html.rb XHTML lib/xmpp4r/rpc/helper/server.rb lib/xmpp4r/rpc/helper/client.rb lib/xmpp4r/rpc/iq/rpc.rb RPC lib/xmpp4r/muc/iq/mucadminitem.rb lib/xmpp4r/muc/x/muc.rb lib/xmpp4r/muc/item.rb lib/xmpp4r/muc/helper/simplemucclient.rb lib/xmpp4r/muc/iq/mucadmin.rb lib/xmpp4r/muc/helper/mucbrowser.rb lib/xmpp4r/muc/x/mucuseritem.rb lib/xmpp4r/muc/x/mucuserinvite.rb lib/xmpp4r/muc/iq/mucowner.rb lib/xmpp4r/muc/helper/mucclient.rb MUC lib/xmpp4r/delay/x/delay.rb Delay lib/xmpp4r/sasl.rb SASL lib/xmpp4r/tune/helper/helper.rb lib/xmpp4r/tune/tune.rb UserTune lib/xmpp4r/pubsub/children/item.rb lib/xmpp4r/pubsub/children/configuration.rb lib/xmpp4r/pubsub/children/subscription.rb lib/xmpp4r/pubsub/helper/servicehelper.rb lib/xmpp4r/pubsub/children/unsubscribe.rb lib/xmpp4r/pubsub/children/publish.rb lib/xmpp4r/pubsub/children/event.rb lib/xmpp4r/pubsub/iq/pubsub.rb lib/xmpp4r/pubsub/helper/nodebrowser.rb lib/xmpp4r/pubsub/helper/nodehelper.rb lib/xmpp4r/pubsub/children/items.rb lib/xmpp4r/pubsub/children/subscription_config.rb lib/xmpp4r/pubsub/children/node_config.rb PubSub lib/xmpp4r/httpbinding/client.rb HTTPBinding lib/xmpp4r/discovery/iq/discoinfo.rb lib/xmpp4r/discovery/helper/responder.rb lib/xmpp4r/discovery/iq/discoitems.rb Discovery lib/xmpp4r/dataforms/x/data.rb Dataforms lib/xmpp4r/bytestreams/helper/filetransfer.rb TransferSource FileTransfer lib/xmpp4r/vcard/helper/vcard.rb lib/xmpp4r/vcard/iq/vcard.rb Vcard lib/xmpp4r/framework/base.rb lib/xmpp4r/framework/bot.rb Framework Jabber dot/m_99_0.png

Data Forms (JEP-0004) implementation

Methods

field   fields   instructions   instructions=   new   title   title=   type   type=  

Public Class methods

[Source]

    # File lib/xmpp4r/dataforms/x/data.rb, line 15
15:       def initialize(type=nil)
16:         super()
17:         self.type = type
18:       end

Public Instance methods

Search a field by it‘s var-name

var:[String]
result:[XDataField] or [nil]

[Source]

    # File lib/xmpp4r/dataforms/x/data.rb, line 24
24:       def field(var)
25:         each_element { |xe|
26:           return xe if xe.kind_of?(XDataField) and xe.var == var
27:         }
28:         nil
29:       end

[Source]

    # File lib/xmpp4r/dataforms/x/data.rb, line 31
31:       def fields(including_hidden=false)
32:         fields = []
33:         each_element do |xe|
34:           if xe.kind_of?(XDataField) and (including_hidden or
35:                                           (xe.type != :hidden and xe.type != :fixed))
36:             fields << xe
37:           end
38:         end
39:         fields
40:       end

Get the Data Form instructions

return:[Array] of [XDataInstructions] or nil

[Source]

    # File lib/xmpp4r/dataforms/x/data.rb, line 89
89:       def instructions
90:         fields = []
91:         each_element('instructions') do |xe|
92:           fields << xe
93:         end
94:         fields
95:       end

Add Data Form instructions

i:[String]

[Source]

     # File lib/xmpp4r/dataforms/x/data.rb, line 100
100:       def instructions=(i)
101:         add(XDataInstructions.new(i))
102:       end

Get the Data Form title

return:[XDataTitle] or nil

[Source]

    # File lib/xmpp4r/dataforms/x/data.rb, line 74
74:       def title
75:         first_element('title')
76:       end

Set the Data Form title

title:[String]

[Source]

    # File lib/xmpp4r/dataforms/x/data.rb, line 81
81:       def title=(title)
82:         delete_elements('title')
83:         add_element(XDataTitle.new(title))
84:       end

Type of this Data Form

result:* :cancel
  • :form
  • :result
  • :submit
  • nil

[Source]

    # File lib/xmpp4r/dataforms/x/data.rb, line 49
49:       def type
50:         case attributes['type']
51:           when 'cancel' then :cancel
52:           when 'form' then :form
53:           when 'result' then :result
54:           when 'submit' then :submit
55:           else nil
56:         end
57:       end

Set the type (see type)

[Source]

    # File lib/xmpp4r/dataforms/x/data.rb, line 61
61:       def type=(t)
62:         case t
63:           when :cancel then attributes['type'] = 'cancel'
64:           when :form then attributes['type'] = 'form'
65:           when :result then attributes['type'] = 'result'
66:           when :submit then attributes['type'] = 'submit'
67:           else attributes['type'] = nil
68:         end
69:       end

[Validate]