Class: Blather::Stanza

Inherits:
Object show all
Defined in:
lib/punchblock/core_ext/blather/stanza.rb,
lib/punchblock/core_ext/blather/stanza/presence.rb

Defined Under Namespace

Classes: Presence

Constant Summary collapse

RAYO_NODE_PATH =
"(#{Punchblock::RAYO_NAMESPACES.keys.map { |k| "#{k}:*" }.join("|")})".freeze

Instance Method Summary collapse

Instance Method Details

#call_idString

Returns the call ID this stanza applies to.

Returns:

  • (String)

    the call ID this stanza applies to



20
21
22
# File 'lib/punchblock/core_ext/blather/stanza.rb', line 20

def call_id
  from.node
end

#component_idString

Returns the command ID this stanza applies to.

Returns:

  • (String)

    the command ID this stanza applies to



27
28
29
# File 'lib/punchblock/core_ext/blather/stanza.rb', line 27

def component_id
  from.resource
end

#rayo_nodePunchblock::RayoNode

Returns a child of RayoNode representing the Rayo command/event contained within the stanza.

Returns:

  • (Punchblock::RayoNode)

    a child of RayoNode representing the Rayo command/event contained within the stanza



10
11
12
13
14
15
# File 'lib/punchblock/core_ext/blather/stanza.rb', line 10

def rayo_node
  @rayo_node ||= begin
    first_child = at_xpath RAYO_NODE_PATH, Punchblock::RAYO_NAMESPACES
    Punchblock::RayoNode.from_xml first_child, nil, component_id, "xmpp:#{from}", delay_timestamp if first_child
  end
end