Class Jabber::PubSub::NodeHelper
In: lib/xmpp4r/pubsub/helper/nodehelper.rb
Parent: ServiceHelper
Message Presence XMPPStanza Iq XMPPElement ErrorResponse X IqQuery JabberError ComponentAuthenticationFailure ArgumentError SOCKS5Error ServerError NoNameXmlnsRegistered ClientAuthenticationFailure Connection Client Component Client Singleton IdGenerator Comparable JID StandardError REXML::Element Stream IqQuery IqQueryVersion IqQueryRoster IqQueryBytestreams IqQueryRPC IqQueryMUCOwner IqQueryMUCAdmin IqQueryDiscoItems IqQueryDiscoInfo Responder SimpleResponder XRosterItem RosterXItem XMPPElement RosterItem IqFeature StreamHost IqSiFile IqSiFileRange IqSi StreamHostUsed C Body HTML UserItem XMUCUserInvite Tune Configuration Items Item IqPubSub Publish Event IqPubSubOwner Subscription Unsubscribe Feature Item Identity XDataField XDataReported XDataTitle XDataInstructions IqVcard XRoster RosterX X XMUC XMUCUser XDelay XData Iq IqCommand SOCKS5Bytestreams SOCKS5BytestreamsTarget SOCKS5BytestreamsInitiator SOCKS5BytestreamsServerStreamHost TCPSocket SOCKS5Socket IBB IBBTarget IBBInitiator XMLRPC::ParserWriterChooseMixin Client Server XMLRPC::ParseContentType XMLRPC::BasicServer MUCClient SimpleMUCClient MUC::UserItem XMUCUserItem IqQueryMUCAdminItem XParent Base Anonymous DigestMD5 Plain PubSub::ServiceHelper Helper SubscriptionConfig NodeConfig OwnerNodeConfig EventItems EventItem ServiceHelper NodeHelper FileSource Base Bot CallbackList Callback StreamParser Semaphore Helper Responder SOCKS5BytestreamsPeer SOCKS5BytestreamsServer IBBQueueItem Helper MUCBrowser NodeBrowser Responder Helper Helper lib/xmpp4r/message.rb lib/xmpp4r/connection.rb lib/xmpp4r/xmppstanza.rb lib/xmpp4r/iq.rb lib/xmpp4r/callbacks.rb lib/xmpp4r/idgenerator.rb lib/xmpp4r/stream.rb lib/xmpp4r/client.rb lib/xmpp4r/jid.rb lib/xmpp4r/x.rb lib/xmpp4r/streamparser.rb lib/xmpp4r/semaphore.rb lib/xmpp4r/errors.rb lib/xmpp4r/component.rb lib/xmpp4r/presence.rb lib/xmpp4r/xmppelement.rb lib/xmpp4r/query.rb XParent lib/xmpp4r/version/helper/responder.rb lib/xmpp4r/version/helper/simpleresponder.rb lib/xmpp4r/version/iq/version.rb Version lib/xmpp4r/roster/x/roster.rb lib/xmpp4r/roster/helper/roster.rb lib/xmpp4r/roster/iq/roster.rb Roster lib/xmpp4r/feature_negotiation/iq/feature.rb FeatureNegotiation lib/xmpp4r/command/iq/command.rb lib/xmpp4r/command/helper/responder.rb Command lib/xmpp4r/bytestreams/iq/si.rb lib/xmpp4r/bytestreams/helper/ibb/initiator.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/base.rb lib/xmpp4r/bytestreams/iq/bytestreams.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/initiator.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/socks5.rb lib/xmpp4r/bytestreams/helper/ibb/target.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/server.rb lib/xmpp4r/bytestreams/helper/ibb/base.rb Bytestreams lib/xmpp4r/caps/helper/helper.rb lib/xmpp4r/caps/c.rb Caps lib/xmpp4r/xhtml/html.rb XHTML lib/xmpp4r/rpc/helper/server.rb lib/xmpp4r/rpc/helper/client.rb lib/xmpp4r/rpc/iq/rpc.rb RPC lib/xmpp4r/muc/iq/mucadminitem.rb lib/xmpp4r/muc/x/muc.rb lib/xmpp4r/muc/item.rb lib/xmpp4r/muc/helper/simplemucclient.rb lib/xmpp4r/muc/iq/mucadmin.rb lib/xmpp4r/muc/helper/mucbrowser.rb lib/xmpp4r/muc/x/mucuseritem.rb lib/xmpp4r/muc/x/mucuserinvite.rb lib/xmpp4r/muc/iq/mucowner.rb lib/xmpp4r/muc/helper/mucclient.rb MUC lib/xmpp4r/delay/x/delay.rb Delay lib/xmpp4r/sasl.rb SASL lib/xmpp4r/tune/helper/helper.rb lib/xmpp4r/tune/tune.rb UserTune lib/xmpp4r/pubsub/children/item.rb lib/xmpp4r/pubsub/children/configuration.rb lib/xmpp4r/pubsub/children/subscription.rb lib/xmpp4r/pubsub/helper/servicehelper.rb lib/xmpp4r/pubsub/children/unsubscribe.rb lib/xmpp4r/pubsub/children/publish.rb lib/xmpp4r/pubsub/children/event.rb lib/xmpp4r/pubsub/iq/pubsub.rb lib/xmpp4r/pubsub/helper/nodebrowser.rb lib/xmpp4r/pubsub/helper/nodehelper.rb lib/xmpp4r/pubsub/children/items.rb lib/xmpp4r/pubsub/children/subscription_config.rb lib/xmpp4r/pubsub/children/node_config.rb PubSub lib/xmpp4r/httpbinding/client.rb HTTPBinding lib/xmpp4r/discovery/iq/discoinfo.rb lib/xmpp4r/discovery/helper/responder.rb lib/xmpp4r/discovery/iq/discoitems.rb Discovery lib/xmpp4r/dataforms/x/data.rb Dataforms lib/xmpp4r/bytestreams/helper/filetransfer.rb TransferSource FileTransfer lib/xmpp4r/vcard/helper/vcard.rb lib/xmpp4r/vcard/iq/vcard.rb Vcard lib/xmpp4r/framework/base.rb lib/xmpp4r/framework/bot.rb Framework Jabber dot/m_99_0.png

Methods

Attributes

jid  [R] 
my_subscriptions  [R] 
name  [R] 
nodename  [R] 

Public Class methods

creates a new node new(client,service,nodename)

stream:[Jabber::Stream]
jid:[String] (jid of the pubsub service)
nodename:[String]

[Source]

    # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 27
27:       def initialize(stream, jid, nodename = nil, create_if_not_exist = true)
28:         super(stream,jid)
29:         @nodename = nodename
30:         @jid = jid
31:         @stream = stream
32: 
33:         if create_if_not_exist and not node_exist?
34:           # if no nodename is given a instant node will created
35:           # (if the service supports instant nodes)
36:           @nodename = create_node
37:         else
38:           get_subscriptions
39:         end
40:       end

Public Instance methods

creates the node create(configuration=nil)

configuration:[Jabber::XData]

[Source]

    # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 46
46:       def create_node(configuration = Jabber::PubSub::NodeConfig.new)
47:         unless node_exist?
48:           super(@nodename,configuration)
49:         else
50:           false
51:         end
52:       end

deletes the node delete

[Source]

    # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 74
74:       def delete_node
75:         delete(@nodename)
76:       end

subscribe to this node do_subscribe

[Source]

     # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 125
125:       def do_subscribe
126:         subscribe_to(@nodename)
127:         get_subscriptions
128:       end

unsubscribe from this node do_unsubscribe(subid = nil)

subid:[String]

[Source]

     # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 134
134:       def do_unsubscribe(subid)
135:         unsubscribe(@nodename,subid)
136:       end

get all node affiliations get_affiliations

[Source]

     # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 104
104:       def get_affiliations
105:         affiliations
106:       end

gets all items from the node get_all_items

[Source]

    # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 89
89:       def get_all_items
90:         items(@nodename)
91:       end

get the configuration of the node get_configuration(configuration=nil)

configuration:[Jabber::XData]

[Source]

    # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 58
58:       def get_configuration(subid = nil)
59:         get_options(@nodename, subid)
60:       end

get a count of items get_items(count)

count:[Fixnum]

[Source]

    # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 97
97:       def get_items(count)
98:         items(@nodename,count)
99:       end

get all subscribers subscribed on this node get_subscribers

[Source]

     # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 118
118:       def get_subscribers
119:         @subscriptions = subscribers(@nodename)
120:       end

get all subscriptions on this node get_subscriptions

[Source]

     # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 111
111:       def get_subscriptions
112:         get_subscriptions_from(@nodename)
113:       end

publishing content on this node publish_content(items)

items:[REXML::Element]

[Source]

    # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 82
82:       def publish_content(items)
83:         publish_item_to(@nodename,items)
84:       end

purge all items from this node purge_items

[Source]

     # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 141
141:       def purge_items
142:         purge(@nodename)
143:       end

set the configuration of the node set_configuration(configuration=nil)

configuration:[Jabber::XData]
subid:[String] default is nil

[Source]

    # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 67
67:       def set_configuration(configuration,subid = nil)
68:         set_options(@nodename, configuration, subid)
69:       end

Private Instance methods

[Source]

     # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 151
151:       def disco_info
152:       end

[Source]

     # File lib/xmpp4r/pubsub/helper/nodehelper.rb, line 147
147:       def node_exist?
148:         nodebrowser = PubSub::NodeBrowser.new(@stream)
149:         nodebrowser.nodes(@jid).include?(@nodename)
150:       end

[Validate]