Sha256: e116e18c6818514ddaa118c911c662005fc47c898549b5b11015278d77825b53

Contents?: true

Size: 738 Bytes

Versions: 11

Compression:

Stored size: 738 Bytes

Contents

class UnsubscribeQueryStanza < 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)
    params[:nodes].each do |node|
      add_node(node)
    end
    @pubsub["xmlns"] = "http://jabber.org/protocol/pubsub"
    @iq.add_child(@pubsub)
  end 
  
  def add_node(node)
    unsubscribe = Nokogiri::XML::Node.new("unsubscribe", @doc)
    unsubscribe["node"] = node.to_s
    unsubscribe["jid"] = from.split("/").first
    @pubsub.add_child(unsubscribe)
  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/unsubscribe_query_stanza.rb
superfeedr-superfeedr-ruby-0.3.3 lib/stanzas/unsubscribe_query_stanza.rb
superfeedr-superfeedr-ruby-0.3.4 lib/stanzas/unsubscribe_query_stanza.rb
superfeedr-superfeedr-ruby-0.3.5 lib/stanzas/unsubscribe_query_stanza.rb
superfeedr-ruby-0.5.0 lib/stanzas/unsubscribe_query_stanza.rb
superfeedr-ruby-0.4.4 lib/stanzas/unsubscribe_query_stanza.rb
radamanthus-superfeedr-ruby-0.4.3 lib/stanzas/unsubscribe_query_stanza.rb
superfeedr-ruby-0.4.3 lib/stanzas/unsubscribe_query_stanza.rb
superfeedr-ruby-0.4.2 lib/stanzas/unsubscribe_query_stanza.rb
superfeedr-ruby-0.4.1 lib/stanzas/unsubscribe_query_stanza.rb
superfeedr-ruby-0.4.0 lib/stanzas/unsubscribe_query_stanza.rb