| Class | Jabber::Dataforms::XDataField |
| In: |
lib/xmpp4r/dataforms/x/data.rb
|
| Parent: | REXML::Element |
# File lib/xmpp4r/dataforms/x/data.rb, line 108
108: def initialize(var=nil, type=nil)
109: super('field')
110: self.var = var
111: self.type = type
112: end
# File lib/xmpp4r/dataforms/x/data.rb, line 118
118: def label=(s)
119: attributes['label'] = s
120: end
Set the options
# File lib/xmpp4r/dataforms/x/data.rb, line 229
229: def options=(hsh)
230: delete_elements('option')
231: hsh.each { |value,label|
232: o = add(REXML::Element.new('option'))
233: o.attributes['label'] = label
234: o.add(REXML::Element.new('value')).text = value
235: }
236: end
Set if this field is required
| r: | [true] or [false] |
# File lib/xmpp4r/dataforms/x/data.rb, line 189
189: def required=(r)
190: delete_elements('required')
191: if r
192: add REXML::Element.new('required')
193: end
194: end
Is this field required (has the <required/> child)?
# File lib/xmpp4r/dataforms/x/data.rb, line 180
180: def required?
181: res = false
182: each_element('required') { res = true }
183: res
184: end
Type of this field
| result: | * :boolean
|
# File lib/xmpp4r/dataforms/x/data.rb, line 144
144: def type
145: case attributes['type']
146: when 'boolean' then :boolean
147: when 'fixed' then :fixed
148: when 'hidden' then :hidden
149: when 'jid-multi' then :jid_multi
150: when 'jid-single' then :jid_single
151: when 'list-multi' then :list_multi
152: when 'list-single' then :list_single
153: when 'text-multi' then :text_multi
154: when 'text-private' then :text_private
155: when 'text-single' then :text_single
156: else nil
157: end
158: end
Set the type of this field (see type)
# File lib/xmpp4r/dataforms/x/data.rb, line 162
162: def type=(t)
163: case t
164: when :boolean then attributes['type'] = 'boolean'
165: when :fixed then attributes['type'] = 'fixed'
166: when :hidden then attributes['type'] = 'hidden'
167: when :jid_multi then attributes['type'] = 'jid-multi'
168: when :jid_single then attributes['type'] = 'jid-single'
169: when :list_multi then attributes['type'] = 'list-multi'
170: when :list_single then attributes['type'] = 'list-single'
171: when :text_multi then attributes['type'] = 'text-multi'
172: when :text_private then attributes['type'] = 'text-private'
173: when :text_single then attributes['type'] = 'text-single'
174: else attributes['type'] = nil
175: end
176: end