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