| Class | Jabber::PubSub::Configuration |
| In: |
lib/xmpp4r/pubsub/children/configuration.rb
|
| Parent: | XMPPElement |
# File lib/xmpp4r/pubsub/children/configuration.rb, line 22
22: def form=(form)
23: children.each do |c|
24: delete_element(c)
25: if c.kind_of?(Jabber::Dataforms::XData)
26: delete(c)
27: end
28: end
29: add(form)
30: end
Implemented by NodeConfig and SubscriptionConfig
# File lib/xmpp4r/pubsub/children/configuration.rb, line 33
33: def form_type
34: ''
35: end
# File lib/xmpp4r/pubsub/children/configuration.rb, line 62
62: def node
63: attributes['node']
64: end
# File lib/xmpp4r/pubsub/children/configuration.rb, line 58
58: def node=(node)
59: attributes['node'] = node
60: end
get a list of the configured options represented by this stanza
| return: | [Hash] the options and their values |
# File lib/xmpp4r/pubsub/children/configuration.rb, line 46
46: def options
47: configured_options = {}
48:
49: if !form.nil?
50: form.fields.each do |f|
51: f.values.size == 1 ? configured_options[f.var] = f.values.first : configured_options[f.var] = f.values
52: end
53: end
54:
55: configured_options
56: end
# File lib/xmpp4r/pubsub/children/configuration.rb, line 37
37: def options=(options)
38: if options
39: self.form = form_for_options( form_type, options )
40: end
41: end
creates a Dataform for configuration
| config: | [Hash] the desired configuration options |
# File lib/xmpp4r/pubsub/children/configuration.rb, line 71
71: def form_for_options(type, options)
72: form = Jabber::Dataforms::XData.new(:submit)
73: pubsub_config = Jabber::Dataforms::XDataField.new('FORM_TYPE', :hidden)
74: pubsub_config.values = [type]
75: form.add(pubsub_config)
76: options.each_pair do |key, value|
77: f = Jabber::Dataforms::XDataField.new(key)
78: f.values = [value]
79: form.add(f)
80: end
81:
82: form
83: end