Class: Jabber::XMPPStanza

Class | Jabber::XMPPStanza
In: | lib/xmpp4r/xmppstanza.rb
Parent: | XMPPElement

root class of all Jabber XML elements

### Methods

answer answer error from from= id id= normalize set_from set_id set_to set_type to to= type type=

### Public Class methods

answer(xmppstanza, import=true)

Compose a response by doing the following:

- Create a new XMPPStanza of the same subclass with the same element-name
- Import xmppstanza if import is true
- Swap ‘to’ and ‘from‘
- Copy ‘id‘
- Does not take care about the type

Attention: Be careful when answering to stanzas with `type == :error` - answering to an error may generate another error on the other side, which could be leading to a ping-pong effect quickly!

xmppstanza: | [XMPPStanza] source
import: | [true or false] Copy attributes and children of source
result: | [XMPPStanza] answer stanza

[Source]

        # File lib/xmpp4r/xmppstanza.rb, line 30
    30:     def XMPPStanza.answer(xmppstanza, import=true)
    31:       x = xmppstanza.class.new
    32:       if import
    33:         x.import(xmppstanza)
    34:       end
    35:       x.from = xmppstanza.to
    36:       x.to = xmppstanza.from
    37:       x.id = xmppstanza.id
    38:       x
    39:     end

### Public Instance methods

answer(import=true)

Compose a response of this XMPPStanza (see XMPPStanza.answer)

result: | [XMPPStanza] New constructed stanza

[Source]

        # File lib/xmpp4r/xmppstanza.rb, line 51
    51:     def answer(import=true)
    52:       XMPPStanza.answer(self, import)
    53:     end

error()

Return the first `<error/>` child

[Source]

        # File lib/xmpp4r/xmppstanza.rb, line 43
    43:     def error
    44:       first_element('error')
    45:     end

from()

get the from attribute

return: | [String] the element‘s from attribute

[Source]

        # File lib/xmpp4r/xmppstanza.rb, line 91
    91:     def from
    92:       (a = attribute('from')).nil? ? a : JID.new(a.value)
    93:     end

from=(v)

set the from attribute

v: | [String] the value from set

[Source]

         # File lib/xmpp4r/xmppstanza.rb, line 99
     99:     def from= (v)
    100:       add_attribute('from', v ? v.to_s : nil)
    101:     end

id()

get the id attribute

return: | [String] the element‘s id attribute

[Source]

         # File lib/xmpp4r/xmppstanza.rb, line 116
    116:     def id
    117:       (a = attribute('id')).nil? ? a : a.value
    118:     end

id=(v)

set the id attribute

v: | [String] the value id set

[Source]

         # File lib/xmpp4r/xmppstanza.rb, line 124
    124:     def id= (v)
    125:       add_attribute('id', v.to_s)
    126:     end

normalize()

Makes some changes to the structure of an XML element to help it respect the specification. For example, in a message, we should have <subject/> < <body/> < { rest of tags }

[Source]

        # File lib/xmpp4r/xmppstanza.rb, line 59
    59:     def normalize
    60:     end

set_from(v)

set the from attribute (chaining-friendly)

v: | [String] the value from set

[Source]

         # File lib/xmpp4r/xmppstanza.rb, line 107
    107:     def set_from(v)
    108:       add_attribute('from', v ? v.to_s : nil)
    109:       self
    110:     end

set_id(v)

set the id attribute (chaining-friendly)

v: | [String] the value id set

[Source]

         # File lib/xmpp4r/xmppstanza.rb, line 132
    132:     def set_id(v)
    133:       add_attribute('id', v.to_s)
    134:       self
    135:     end

set_to(v)

set the to attribute (chaining-friendly)

v: | [String] the value to set

[Source]

        # File lib/xmpp4r/xmppstanza.rb, line 82
    82:     def set_to(v)
    83:       self.to = v
    84:       self
    85:     end

set_type(v)

set the type attribute (chaining-friendly)

v: | [String] the value type set

[Source]

         # File lib/xmpp4r/xmppstanza.rb, line 157
    157:     def set_type(v)
    158:       add_attribute('type', v)
    159:       self
    160:     end

to()

get the to attribute

return: | [String] the element‘s to attribute

[Source]

        # File lib/xmpp4r/xmppstanza.rb, line 66
    66:     def to
    67:       (a = attribute('to')).nil? ? a : JID.new(a.value)
    68:     end

to=(v)

set the to attribute

v: | [String] the value to set

[Source]

        # File lib/xmpp4r/xmppstanza.rb, line 74
    74:     def to= (v)
    75:       add_attribute('to', v ? v.to_s : nil)
    76:     end

type()

get the type attribute

return: | [String] the element‘s type attribute

[Source]

         # File lib/xmpp4r/xmppstanza.rb, line 141
    141:     def type
    142:       (a = attribute('type')).nil? ? a : a.value
    143:     end

type=(v)

set the type attribute

v: | [String] the value type set

[Source]

         # File lib/xmpp4r/xmppstanza.rb, line 149
    149:     def type= (v)
    150:       add_attribute('type', v)
    151:     end

[Validate]