Class | Jabber::Roster::XRosterItem |
In: |
lib/xmpp4r/roster/x/roster.rb
|
Parent: | XMPPElement |
Class containing an <item/> element
The ‘name’ attribute has been renamed to ‘iname’ here as ‘name’ is already used by REXML::Element for the element‘s name. It‘s still name=’…’ in XML.
This is all a bit analoguous to Jabber::RosterItem, used by Jabber::IqQueryRoster. But this class lacks the subscription and ask attributes.
Get action for this roster item
result: | [Symbol] (defaults to :add according to JEP-0144) |
# File lib/xmpp4r/roster/x/roster.rb, line 87 87: def action 88: case attributes['action'] 89: when 'modify' then :modify 90: when 'delete' then :delete 91: else :add 92: end 93: end
Set groups the item belongs to, deletes old groups first.
See JEP 0083 for nested groups
ary: | [Array] New groups, duplicate values will be removed |
# File lib/xmpp4r/roster/x/roster.rb, line 123 123: def groups=(ary) 124: # Delete old group elements 125: delete_elements('group') 126: 127: # Add new group elements 128: ary.uniq.each { |group| 129: add_element('group').text = group 130: } 131: end
Get name of roster item
names can be set by the roster‘s owner himself
return: | [String] |
# File lib/xmpp4r/roster/x/roster.rb, line 55 55: def iname 56: attributes['name'] 57: end
Set name of roster item
val: | [String] Name for this item |
# File lib/xmpp4r/roster/x/roster.rb, line 62 62: def iname=(val) 63: attributes['name'] = val 64: end