| 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