Sha256: c7807f857279f792ab4a608f76ee6242612dcbdf0a3a25fa9e420bb988f8ffb0

Contents?: true

Size: 724 Bytes

Versions: 11

Compression:

Stored size: 724 Bytes

Contents

class SubscribeQueryStanza < IqQueryStanza 
  
  def initialize(params) 
    raise NoFeedToSubscribe if params[:nodes].nil? or params[:nodes].empty? 
    raise TooManyFeeds if params[:nodes].size > 30 
    super(params.merge({:type => :set})) 
    @pubsub = Nokogiri::XML::Node.new("pubsub", @doc) 
    @pubsub["xmlns"] = "http://jabber.org/protocol/pubsub" 
    params[:nodes].each do |node| 
      add_node(node) 
    end 
    @iq.add_child(@pubsub) 
  end 
  
  def add_node(node)
    subscribe = Nokogiri::XML::Node.new("subscribe", @doc)
    subscribe["node"] = node
    subscribe["jid"] = from.split("/").first
    @pubsub.add_child(subscribe)
  end
  
  def nodes
    @pubsub.children.map {|c| c["node"]}
  end
  
end

Version data entries

11 entries across 11 versions & 3 rubygems

Version Path
superfeedr-superfeedr-ruby-0.3.2 lib/stanzas/subscribe_query_stanza.rb
superfeedr-superfeedr-ruby-0.3.3 lib/stanzas/subscribe_query_stanza.rb
superfeedr-superfeedr-ruby-0.3.4 lib/stanzas/subscribe_query_stanza.rb
superfeedr-superfeedr-ruby-0.3.5 lib/stanzas/subscribe_query_stanza.rb
superfeedr-ruby-0.5.0 lib/stanzas/subscribe_query_stanza.rb
superfeedr-ruby-0.4.4 lib/stanzas/subscribe_query_stanza.rb
radamanthus-superfeedr-ruby-0.4.3 lib/stanzas/subscribe_query_stanza.rb
superfeedr-ruby-0.4.3 lib/stanzas/subscribe_query_stanza.rb
superfeedr-ruby-0.4.2 lib/stanzas/subscribe_query_stanza.rb
superfeedr-ruby-0.4.1 lib/stanzas/subscribe_query_stanza.rb
superfeedr-ruby-0.4.0 lib/stanzas/subscribe_query_stanza.rb