Class: Blather::Stanza::DiscoItems::Item

Inherits:
XMPPNode show all
Defined in:
lib/blather/stanza/disco/disco_items.rb

Constant Summary

Constants inherited from XMPPNode

XMPPNode::BASE_NAMES

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from XMPPNode

attribute_accessor, attribute_reader, attribute_writer, class_from_registration, content_attr_accessor, content_attr_reader, content_attr_writer, #content_from, import, #inherit, #inherit_attrs, #namespace=, #namespace_href, #nokogiri_namespace=, register, #remove_child, #remove_children, #set_content_for, #to_stanza

Methods inherited from Nokogiri::XML::Node

#[]=, #attr_set, #find_first, #nokogiri_xpath, #xpath

Class Method Details

.new(jid, node = nil, name = nil) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/blather/stanza/disco/disco_items.rb', line 27

def self.new(jid, node = nil, name = nil)
  new_node = super :item

  case jid
  when Nokogiri::XML::Node
    new_node.inherit jid
  when Hash
    new_node.jid = jid[:jid]
    new_node.node = jid[:node]
    new_node.name = jid[:name]
  else
    new_node.jid = jid
    new_node.node = node
    new_node.name = name
  end
  new_node
end

Instance Method Details

#eql?(o) ⇒ Boolean Also known as: ==

Returns:

  • (Boolean)


52
53
54
55
56
57
# File 'lib/blather/stanza/disco/disco_items.rb', line 52

def eql?(o)
  raise "Cannot compare #{self.class} with #{o.class}" unless o.is_a?(self.class)
  o.jid == self.jid &&
  o.node == self.node &&
  o.name == self.name
end

#jidObject



45
46
47
# File 'lib/blather/stanza/disco/disco_items.rb', line 45

def jid
  (j = self[:jid]) ? JID.new(j) : nil
end