cerberus 0.6 → 0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Authors.txt +4 -0
- data/Changelog.txt +11 -0
- data/Copyright.txt +16 -0
- data/Rakefile +16 -25
- data/Readme.markdown +1 -3
- data/bin/cerberus +5 -0
- data/lib/cerberus/builder/bjam.rb +1 -3
- data/lib/cerberus/builder/maven2.rb +0 -1
- data/lib/cerberus/builder/rake.rb +1 -1
- data/lib/cerberus/builder/rspec.rb +0 -1
- data/lib/cerberus/builder/ruby_base.rb +0 -1
- data/lib/cerberus/component_lazy_loader.rb +6 -2
- data/lib/cerberus/config.example.yml +1 -0
- data/lib/cerberus/constants.rb +2 -2
- data/lib/cerberus/manager.rb +7 -1
- data/lib/cerberus/publisher/mail.rb +4 -4
- data/lib/cerberus/publisher/twitter.rb +0 -1
- data/lib/cerberus/scm/base.rb +19 -0
- data/lib/cerberus/scm/bzr.rb +62 -0
- data/lib/cerberus/scm/cvs.rb +2 -7
- data/lib/cerberus/scm/darcs.rb +2 -11
- data/lib/cerberus/scm/git.rb +6 -14
- data/lib/cerberus/scm/perforce.rb +4 -4
- data/lib/cerberus/scm/svn.rb +2 -7
- data/lib/cerberus/utils.rb +5 -0
- data/lib/vendor/irc/README +23 -0
- data/lib/vendor/irc/lib/IRC.rb +164 -0
- data/lib/vendor/irc/lib/IRCChannel.rb +33 -0
- data/lib/vendor/irc/lib/IRCConnection.rb +134 -0
- data/lib/vendor/irc/lib/IRCEvent.rb +91 -0
- data/lib/vendor/irc/lib/IRCUser.rb +23 -0
- data/lib/vendor/irc/lib/IRCUtil.rb +49 -0
- data/lib/vendor/irc/lib/eventmap.yml +247 -0
- data/lib/vendor/twitter/CHANGES +129 -0
- data/lib/vendor/twitter/MIT-LICENSE +20 -0
- data/lib/vendor/twitter/README +37 -0
- data/lib/vendor/twitter/TODO +7 -0
- data/lib/vendor/twitter/lib/twitter.rb +34 -0
- data/lib/vendor/twitter/lib/twitter/client.rb +24 -0
- data/lib/vendor/twitter/lib/twitter/client/account.rb +24 -0
- data/lib/vendor/twitter/lib/twitter/client/auth.rb +27 -0
- data/lib/vendor/twitter/lib/twitter/client/base.rb +93 -0
- data/lib/vendor/twitter/lib/twitter/client/blocks.rb +35 -0
- data/lib/vendor/twitter/lib/twitter/client/favorites.rb +53 -0
- data/lib/vendor/twitter/lib/twitter/client/friendship.rb +35 -0
- data/lib/vendor/twitter/lib/twitter/client/graph.rb +37 -0
- data/lib/vendor/twitter/lib/twitter/client/messaging.rb +79 -0
- data/lib/vendor/twitter/lib/twitter/client/profile.rb +29 -0
- data/lib/vendor/twitter/lib/twitter/client/search.rb +27 -0
- data/lib/vendor/twitter/lib/twitter/client/status.rb +51 -0
- data/lib/vendor/twitter/lib/twitter/client/timeline.rb +72 -0
- data/lib/vendor/twitter/lib/twitter/client/user.rb +65 -0
- data/lib/vendor/twitter/lib/twitter/config.rb +77 -0
- data/lib/vendor/twitter/lib/twitter/console.rb +31 -0
- data/lib/vendor/twitter/lib/twitter/core.rb +137 -0
- data/lib/vendor/twitter/lib/twitter/ext.rb +2 -0
- data/lib/vendor/twitter/lib/twitter/ext/stdlib.rb +52 -0
- data/lib/vendor/twitter/lib/twitter/extras.rb +39 -0
- data/lib/vendor/twitter/lib/twitter/meta.rb +56 -0
- data/lib/vendor/twitter/lib/twitter/model.rb +360 -0
- data/lib/vendor/twitter/lib/twitter/version.rb +19 -0
- data/lib/vendor/twitter/spec/twitter/client/account_spec.rb +28 -0
- data/lib/vendor/twitter/spec/twitter/client/auth_spec.rb +34 -0
- data/lib/vendor/twitter/spec/twitter/client/base_spec.rb +242 -0
- data/lib/vendor/twitter/spec/twitter/client/blocks_spec.rb +76 -0
- data/lib/vendor/twitter/spec/twitter/client/favorites_spec.rb +183 -0
- data/lib/vendor/twitter/spec/twitter/client/friendship_spec.rb +76 -0
- data/lib/vendor/twitter/spec/twitter/client/graph_spec.rb +67 -0
- data/lib/vendor/twitter/spec/twitter/client/messaging_spec.rb +135 -0
- data/lib/vendor/twitter/spec/twitter/client/profile_spec.rb +91 -0
- data/lib/vendor/twitter/spec/twitter/client/search_spec.rb +68 -0
- data/lib/vendor/twitter/spec/twitter/client/status_spec.rb +119 -0
- data/lib/vendor/twitter/spec/twitter/client/timeline_spec.rb +79 -0
- data/lib/vendor/twitter/spec/twitter/client/user_spec.rb +203 -0
- data/lib/vendor/twitter/spec/twitter/client_spec.rb +2 -0
- data/lib/vendor/twitter/spec/twitter/config_spec.rb +86 -0
- data/lib/vendor/twitter/spec/twitter/console_spec.rb +15 -0
- data/lib/vendor/twitter/spec/twitter/core_spec.rb +127 -0
- data/lib/vendor/twitter/spec/twitter/ext/stdlib_spec.rb +59 -0
- data/lib/vendor/twitter/spec/twitter/extras_spec.rb +46 -0
- data/lib/vendor/twitter/spec/twitter/meta_spec.rb +90 -0
- data/lib/vendor/twitter/spec/twitter/model_spec.rb +508 -0
- data/lib/vendor/twitter/spec/twitter/version_spec.rb +19 -0
- data/lib/vendor/xmpp4r/CHANGELOG +83 -0
- data/lib/vendor/xmpp4r/COPYING +340 -0
- data/lib/vendor/xmpp4r/LICENSE +59 -0
- data/lib/vendor/xmpp4r/README.rdoc +110 -0
- data/lib/vendor/xmpp4r/README_ruby19.txt +43 -0
- data/lib/vendor/xmpp4r/Rakefile +262 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/README +56 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/adventure.rb +23 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/adventuremuc.rb +136 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/cube.xml +15 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/tower.xml +69 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/world.rb +424 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/fileserve.conf +11 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/fileserve.rb +346 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/getonline.rb +56 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/gtkmucclient.rb +315 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/migrate.rb +88 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/minimuc.rb +266 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/pep-aggregator/index.xsl +235 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/pep-aggregator/pep-aggregator.rb +147 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/recvfile.rb +84 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/rosterdiscovery.rb +129 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/sendfile.conf +10 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/sendfile.rb +72 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/shellmgr/shellmgr.rb +51 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/shellmgr/shellmgr_jabber.rb +43 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/shellmgr/shellmgr_test.rb +10 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/versionpoll.rb +90 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/xmpping.rb +146 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/xmppingrc.sample +14 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/change_password.rb +41 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/client.rb +70 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/component.rb +11 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/echo.rb +37 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/jabbersend.rb +41 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/mass_sender.rb +68 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/muc_owner_config.rb +12 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/mucinfo.rb +41 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/mucsimplebot.rb +82 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/register.rb +42 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/remove_registration.rb +18 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/roster.rb +44 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/rosterprint.rb +50 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/rosterrename.rb +34 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/rosterwatch.rb +171 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/send_vcard.rb +67 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/tune_client.rb +56 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/tune_server.rb +58 -0
- data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/versionbot.rb +75 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r.rb +116 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/base64.rb +32 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams.rb +15 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/filetransfer.rb +319 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/ibb/base.rb +257 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/ibb/initiator.rb +31 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/ibb/target.rb +47 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/base.rb +152 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/initiator.rb +86 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/server.rb +198 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/socks5.rb +65 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.rb +73 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.rb.orig +62 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/iq/bytestreams.rb +170 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/iq/si.rb +206 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/callbacks.rb +124 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/caps.rb +1 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/caps/c.rb +53 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/caps/helper/generator.rb +160 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/caps/helper/helper.rb +87 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/client.rb +317 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/command/helper/responder.rb +53 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/command/iq/command.rb +154 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/component.rb +103 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/connection.rb +219 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/dataforms.rb +5 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/dataforms/x/data.rb +297 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/debuglog.rb +42 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/delay.rb +5 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/delay/x/delay.rb +99 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/discovery.rb +7 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/discovery/helper/responder.rb +165 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/discovery/iq/discoinfo.rb +211 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/discovery/iq/discoitems.rb +147 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/errors.rb +281 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/feature_negotiation.rb +5 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/feature_negotiation/iq/feature.rb +28 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/framework/base.rb +55 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/framework/bot.rb +148 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/httpbinding.rb +5 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/httpbinding/client.rb +285 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/idgenerator.rb +37 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/iq.rb +221 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/jid.rb +167 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/message.rb +148 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/muc.rb +14 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/muc/helper/mucbrowser.rb +92 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/muc/helper/mucclient.rb +462 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/muc/helper/simplemucclient.rb +332 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/muc/iq/mucadmin.rb +23 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/muc/iq/mucadminitem.rb +20 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/muc/iq/mucowner.rb +15 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/muc/item.rb +143 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/muc/x/muc.rb +70 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/muc/x/mucuserinvite.rb +60 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/muc/x/mucuseritem.rb +36 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/presence.rb +232 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub.rb +8 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/configuration.rb +86 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/event.rb +49 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/item.rb +35 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/items.rb +44 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/node_config.rb +48 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/publish.rb +24 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/subscription.rb +62 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/subscription_config.rb +67 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/unsubscribe.rb +48 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/helper/nodebrowser.rb +130 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/helper/nodehelper.rb +156 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/helper/servicehelper.rb +417 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/iq/pubsub.rb +19 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/query.rb +15 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/rexmladdons.rb +151 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/roster.rb +7 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/roster/helper/roster.rb +519 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/roster/iq/roster.rb +215 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/roster/x/roster.rb +138 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/rpc.rb +2 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/rpc/helper/client.rb +123 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/rpc/helper/server.rb +74 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/rpc/helper/xmlrpcaddons.rb +67 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/rpc/iq/rpc.rb +23 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/sasl.rb +237 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/semaphore.rb +38 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/stream.rb +497 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/streamparser.rb +77 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/tune.rb +2 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/tune/helper/helper.rb +58 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/tune/tune.rb +113 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/vcard.rb +6 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/vcard/helper/vcard.rb +84 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/vcard/iq/vcard.rb +109 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/version.rb +7 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/version/helper/responder.rb +72 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/version/helper/simpleresponder.rb +44 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/version/iq/version.rb +105 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/x.rb +37 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/xhtml.rb +1 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/xhtml/html.rb +115 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/xmpp4r.rb +18 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/xmppelement.rb +168 -0
- data/lib/vendor/xmpp4r/lib/xmpp4r/xmppstanza.rb +162 -0
- data/lib/vendor/xmpp4r/setup.rb +1586 -0
- data/lib/vendor/xmpp4r/test/bytestreams/tc_ibb.rb +186 -0
- data/lib/vendor/xmpp4r/test/bytestreams/tc_socks5bytestreams.rb +113 -0
- data/lib/vendor/xmpp4r/test/caps/tc_helper.rb +156 -0
- data/lib/vendor/xmpp4r/test/dataforms/tc_data.rb +81 -0
- data/lib/vendor/xmpp4r/test/delay/tc_xdelay.rb +51 -0
- data/lib/vendor/xmpp4r/test/discovery/tc_responder.rb +91 -0
- data/lib/vendor/xmpp4r/test/lib/assert_equal_xml.rb +14 -0
- data/lib/vendor/xmpp4r/test/lib/clienttester.rb +120 -0
- data/lib/vendor/xmpp4r/test/muc/tc_muc_mucclient.rb +830 -0
- data/lib/vendor/xmpp4r/test/muc/tc_muc_simplemucclient.rb +114 -0
- data/lib/vendor/xmpp4r/test/muc/tc_mucowner.rb +50 -0
- data/lib/vendor/xmpp4r/test/pubsub/tc_helper.rb +662 -0
- data/lib/vendor/xmpp4r/test/pubsub/tc_nodeconfig.rb +54 -0
- data/lib/vendor/xmpp4r/test/pubsub/tc_subscriptionconfig.rb +41 -0
- data/lib/vendor/xmpp4r/test/roster/tc_helper.rb +514 -0
- data/lib/vendor/xmpp4r/test/roster/tc_iqqueryroster.rb +173 -0
- data/lib/vendor/xmpp4r/test/roster/tc_xroster.rb +73 -0
- data/lib/vendor/xmpp4r/test/rpc/tc_helper.rb +96 -0
- data/lib/vendor/xmpp4r/test/tc_callbacks.rb +129 -0
- data/lib/vendor/xmpp4r/test/tc_class_names.rb +146 -0
- data/lib/vendor/xmpp4r/test/tc_client.rb +30 -0
- data/lib/vendor/xmpp4r/test/tc_errors.rb +146 -0
- data/lib/vendor/xmpp4r/test/tc_idgenerator.rb +30 -0
- data/lib/vendor/xmpp4r/test/tc_iq.rb +113 -0
- data/lib/vendor/xmpp4r/test/tc_iqquery.rb +31 -0
- data/lib/vendor/xmpp4r/test/tc_jid.rb +204 -0
- data/lib/vendor/xmpp4r/test/tc_message.rb +116 -0
- data/lib/vendor/xmpp4r/test/tc_presence.rb +150 -0
- data/lib/vendor/xmpp4r/test/tc_rexml.rb +139 -0
- data/lib/vendor/xmpp4r/test/tc_stream.rb +229 -0
- data/lib/vendor/xmpp4r/test/tc_streamComponent.rb +95 -0
- data/lib/vendor/xmpp4r/test/tc_streamError.rb +131 -0
- data/lib/vendor/xmpp4r/test/tc_streamSend.rb +59 -0
- data/lib/vendor/xmpp4r/test/tc_streamparser.rb +112 -0
- data/lib/vendor/xmpp4r/test/tc_xmppstanza.rb +135 -0
- data/lib/vendor/xmpp4r/test/ts_xmpp4r.rb +53 -0
- data/lib/vendor/xmpp4r/test/tune/tc_helper_recv.rb +84 -0
- data/lib/vendor/xmpp4r/test/tune/tc_helper_send.rb +74 -0
- data/lib/vendor/xmpp4r/test/tune/tc_tune.rb +79 -0
- data/lib/vendor/xmpp4r/test/vcard/tc_helper.rb +49 -0
- data/lib/vendor/xmpp4r/test/vcard/tc_iqvcard.rb +62 -0
- data/lib/vendor/xmpp4r/test/version/tc_helper.rb +60 -0
- data/lib/vendor/xmpp4r/test/version/tc_iqqueryversion.rb +97 -0
- data/lib/vendor/xmpp4r/test/xhtml/tc_html.rb +41 -0
- data/lib/vendor/xmpp4r/tools/gen_requires.bash +31 -0
- data/lib/vendor/xmpp4r/tools/xmpp4r-gemspec-test.rb +11 -0
- data/lib/vendor/xmpp4r/xmpp4r.gemspec +291 -0
- data/test/jabber_publisher_test.rb +1 -1
- data/test/mail_publisher_test.rb +2 -2
- data/test/mock/twitter.rb +0 -1
- data/test/rspec_builder_test.rb +39 -2
- data/test/rss_publisher_test.rb +1 -1
- data/test/twitter_publisher_test.rb +1 -1
- metadata +268 -53
- data/lib/cerberus/publisher/gmailer.rb +0 -17
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# =XMPP4R - XMPP Library for Ruby
|
|
2
|
+
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
|
|
3
|
+
# Website::http://home.gna.org/xmpp4r/
|
|
4
|
+
|
|
5
|
+
require 'xmpp4r/iq'
|
|
6
|
+
|
|
7
|
+
module Jabber
|
|
8
|
+
module PubSub
|
|
9
|
+
|
|
10
|
+
##
|
|
11
|
+
# Event
|
|
12
|
+
# a publishing event
|
|
13
|
+
class Event < XMPPElement
|
|
14
|
+
name_xmlns 'event', NS_PUBSUB + '#event'
|
|
15
|
+
force_xmlns true
|
|
16
|
+
|
|
17
|
+
##
|
|
18
|
+
# return payload
|
|
19
|
+
def payload
|
|
20
|
+
elements
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
##
|
|
24
|
+
# add payload
|
|
25
|
+
# payload:: [REXML::Element]
|
|
26
|
+
def payload=(pl)
|
|
27
|
+
add_element = pl
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
##
|
|
31
|
+
# return the payload type
|
|
32
|
+
def event_type?
|
|
33
|
+
# each child of event
|
|
34
|
+
# this should iterate only one time
|
|
35
|
+
each_element('./event/*') { |plelement|
|
|
36
|
+
case plelement.name
|
|
37
|
+
when 'collection' then return :collection
|
|
38
|
+
when 'configuration' then return :configuration
|
|
39
|
+
when 'delete' then return :delete
|
|
40
|
+
when 'items' then return :items
|
|
41
|
+
when 'purge' then return :purge
|
|
42
|
+
when 'subscription' then return :subscription
|
|
43
|
+
else return nil
|
|
44
|
+
end
|
|
45
|
+
}
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# =XMPP4R - XMPP Library for Ruby
|
|
2
|
+
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
|
|
3
|
+
# Website::http://home.gna.org/xmpp4r/
|
|
4
|
+
|
|
5
|
+
require 'xmpp4r/iq'
|
|
6
|
+
|
|
7
|
+
module Jabber
|
|
8
|
+
module PubSub
|
|
9
|
+
##
|
|
10
|
+
# Item
|
|
11
|
+
# One PubSub Item
|
|
12
|
+
class Item < XMPPElement
|
|
13
|
+
name_xmlns 'item', NS_PUBSUB
|
|
14
|
+
def initialize(id=nil)
|
|
15
|
+
super()
|
|
16
|
+
attributes['id'] = id
|
|
17
|
+
end
|
|
18
|
+
def id
|
|
19
|
+
attributes['id']
|
|
20
|
+
end
|
|
21
|
+
def id=(myid)
|
|
22
|
+
attributes['id'] = myid
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
##
|
|
27
|
+
# An Item wrapped in a Pubsub Event.
|
|
28
|
+
#
|
|
29
|
+
# See example 2 in http://www.xmpp.org/extensions/xep-0060.html#intro-howitworks
|
|
30
|
+
# and http://www.xmpp.org/extensions/xep-0060.html#schemas-event
|
|
31
|
+
class EventItem < Item
|
|
32
|
+
name_xmlns 'item', NS_PUBSUB + "#event"
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# =XMPP4R - XMPP Library for Ruby
|
|
2
|
+
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
|
|
3
|
+
# Website::http://home.gna.org/xmpp4r/
|
|
4
|
+
|
|
5
|
+
require 'xmpp4r/iq'
|
|
6
|
+
|
|
7
|
+
module Jabber
|
|
8
|
+
module PubSub
|
|
9
|
+
##
|
|
10
|
+
# Items
|
|
11
|
+
# a collection of Items
|
|
12
|
+
class Items < XMPPElement
|
|
13
|
+
name_xmlns 'items', NS_PUBSUB
|
|
14
|
+
|
|
15
|
+
def node
|
|
16
|
+
attributes['node']
|
|
17
|
+
end
|
|
18
|
+
def node=(mynodename)
|
|
19
|
+
attributes['node'] = mynodename
|
|
20
|
+
end
|
|
21
|
+
def subid
|
|
22
|
+
attributes['subid']
|
|
23
|
+
end
|
|
24
|
+
def subid=(mysubid)
|
|
25
|
+
attributes['subid'] = mysubid
|
|
26
|
+
end
|
|
27
|
+
def max_items
|
|
28
|
+
attributes['max_items']
|
|
29
|
+
end
|
|
30
|
+
def max_items=(mymaxitems)
|
|
31
|
+
attributes['max_items'] = mymaxitems
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
##
|
|
36
|
+
# Items wrapped in a Pubsub Event.
|
|
37
|
+
#
|
|
38
|
+
# See example 2 in http://www.xmpp.org/extensions/xep-0060.html#intro-howitworks
|
|
39
|
+
# and http://www.xmpp.org/extensions/xep-0060.html#schemas-event
|
|
40
|
+
class EventItems < Items
|
|
41
|
+
name_xmlns 'items', NS_PUBSUB + "#event"
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# =XMPP4R - XMPP Library for Ruby
|
|
2
|
+
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
|
|
3
|
+
# Website::http://home.gna.org/xmpp4r/
|
|
4
|
+
|
|
5
|
+
require 'xmpp4r/xmppelement'
|
|
6
|
+
require 'xmpp4r/pubsub/children/configuration'
|
|
7
|
+
|
|
8
|
+
module Jabber
|
|
9
|
+
module PubSub
|
|
10
|
+
##
|
|
11
|
+
# NodeConfig
|
|
12
|
+
#
|
|
13
|
+
# A <configure> XMPP element for pubsub nodes, see example 123 in
|
|
14
|
+
# http://www.xmpp.org/extensions/xep-0060.html#owner-create-and-configure
|
|
15
|
+
class NodeConfig < Configuration
|
|
16
|
+
name_xmlns 'configure', NS_PUBSUB
|
|
17
|
+
|
|
18
|
+
##
|
|
19
|
+
# Construct a <configure> element.
|
|
20
|
+
# node:: [String] the node to configure
|
|
21
|
+
# options:: [Hash] the configuration to apply
|
|
22
|
+
def initialize(node = nil, options = nil)
|
|
23
|
+
super()
|
|
24
|
+
|
|
25
|
+
self.node = node
|
|
26
|
+
self.options = options
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
private
|
|
30
|
+
|
|
31
|
+
def form_type
|
|
32
|
+
'http://jabber.org/protocol/pubsub#node_config'
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
##
|
|
37
|
+
#
|
|
38
|
+
# OwnerNodeConfig
|
|
39
|
+
#
|
|
40
|
+
# A <configure> stanza for 'Owner' use cases
|
|
41
|
+
#
|
|
42
|
+
# see example 125 in
|
|
43
|
+
# http://www.xmpp.org/extensions/xep-0060.html#owner-configure-request
|
|
44
|
+
class OwnerNodeConfig < NodeConfig
|
|
45
|
+
name_xmlns 'configure', NS_PUBSUB + '#owner'
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# =XMPP4R - XMPP Library for Ruby
|
|
2
|
+
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
|
|
3
|
+
# Website::http://home.gna.org/xmpp4r/
|
|
4
|
+
|
|
5
|
+
require 'xmpp4r/xmppelement'
|
|
6
|
+
|
|
7
|
+
module Jabber
|
|
8
|
+
module PubSub
|
|
9
|
+
|
|
10
|
+
##
|
|
11
|
+
# Publish
|
|
12
|
+
#
|
|
13
|
+
# A <publish> XMPP element, see example 1 in
|
|
14
|
+
# http://www.xmpp.org/extensions/xep-0060.html#intro-howitworks
|
|
15
|
+
class Publish < XMPPElement
|
|
16
|
+
name_xmlns 'publish', NS_PUBSUB
|
|
17
|
+
##
|
|
18
|
+
# return the node for this publication
|
|
19
|
+
def node
|
|
20
|
+
attributes['node']
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# =XMPP4R - XMPP Library for Ruby
|
|
2
|
+
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
|
|
3
|
+
# Website::http://home.gna.org/xmpp4r/
|
|
4
|
+
|
|
5
|
+
require 'xmpp4r/iq'
|
|
6
|
+
|
|
7
|
+
module Jabber
|
|
8
|
+
module PubSub
|
|
9
|
+
##
|
|
10
|
+
# Subscription
|
|
11
|
+
class Subscription < XMPPElement
|
|
12
|
+
name_xmlns 'subscription', NS_PUBSUB
|
|
13
|
+
def initialize(myjid=nil,mynode=nil,mysubid=nil,mysubscription=nil)
|
|
14
|
+
super()
|
|
15
|
+
jid = myjid
|
|
16
|
+
node = mynode
|
|
17
|
+
subid = mysubid
|
|
18
|
+
state = mysubscription
|
|
19
|
+
end
|
|
20
|
+
def jid
|
|
21
|
+
(a = attribute('jid')).nil? ? a : JID.new(a.value)
|
|
22
|
+
end
|
|
23
|
+
def jid=(myjid)
|
|
24
|
+
add_attribute('jid', myjid ? myjid.to_s : nil)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def node
|
|
28
|
+
attributes['node']
|
|
29
|
+
end
|
|
30
|
+
def node=(mynode)
|
|
31
|
+
attributes['node'] = mynode
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def subid
|
|
35
|
+
attributes['subid']
|
|
36
|
+
end
|
|
37
|
+
def subid=(mysubid)
|
|
38
|
+
attributes['subid'] = mysubid
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def state
|
|
42
|
+
# each child of event
|
|
43
|
+
# this should interate only one time
|
|
44
|
+
case attributes['subscription']
|
|
45
|
+
when 'none' then return :none
|
|
46
|
+
when 'pending' then return :pending
|
|
47
|
+
when 'subscribed' then return :subscribed
|
|
48
|
+
when 'unconfigured' then return :unconfigured
|
|
49
|
+
else return nil
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
def state=(mystate)
|
|
53
|
+
attributes['subscription'] = mystate
|
|
54
|
+
end
|
|
55
|
+
alias subscription state
|
|
56
|
+
|
|
57
|
+
def need_approval?
|
|
58
|
+
state == :pending
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# =XMPP4R - XMPP Library for Ruby
|
|
2
|
+
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
|
|
3
|
+
# Website::http://home.gna.org/xmpp4r/
|
|
4
|
+
|
|
5
|
+
require 'xmpp4r/xmppelement'
|
|
6
|
+
require 'xmpp4r/pubsub/children/configuration'
|
|
7
|
+
require 'xmpp4r/pubsub/iq/pubsub'
|
|
8
|
+
|
|
9
|
+
module Jabber
|
|
10
|
+
module PubSub
|
|
11
|
+
##
|
|
12
|
+
# SubscriptionConfig
|
|
13
|
+
#
|
|
14
|
+
# An <options> XMPP element, see example 57 in
|
|
15
|
+
# http://www.xmpp.org/extensions/xep-0060.html#subscriber-configure-success
|
|
16
|
+
class SubscriptionConfig < Configuration
|
|
17
|
+
name_xmlns 'options', NS_PUBSUB
|
|
18
|
+
|
|
19
|
+
##
|
|
20
|
+
# Construct a new Options stanza
|
|
21
|
+
# node:: [String] the node to which this subscription applies
|
|
22
|
+
# jid:: [String] or [Jabber::JID] the jid that holds the subscription
|
|
23
|
+
# options:: [Hash] the configuration for this subscription
|
|
24
|
+
# subid:: [String] (optional) subscription id
|
|
25
|
+
def initialize(node = nil, jid = nil, options = nil, subid = nil)
|
|
26
|
+
super()
|
|
27
|
+
|
|
28
|
+
self.node = node
|
|
29
|
+
self.jid = jid
|
|
30
|
+
self.options = options
|
|
31
|
+
self.subid = subid
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
##
|
|
35
|
+
# set the 'jid' attribute of this stanza
|
|
36
|
+
# jid:: [Jabber::JID] or [String] the jid owning the subscription
|
|
37
|
+
def jid=(jid)
|
|
38
|
+
attributes['jid'] = jid.to_s
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
##
|
|
42
|
+
# get the 'jid' attribute for this stanza
|
|
43
|
+
def jid
|
|
44
|
+
attributes['jid'] ? Jabber::JID.new(attributes['jid']) : nil
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
##
|
|
48
|
+
# set the 'subid' attribute
|
|
49
|
+
# subid:: [String] the subscription id
|
|
50
|
+
def subid=(subid)
|
|
51
|
+
attributes['subid'] = subid
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
##
|
|
55
|
+
# get the 'subid' attribute
|
|
56
|
+
def subid
|
|
57
|
+
attributes['subid']
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
private
|
|
61
|
+
|
|
62
|
+
def form_type
|
|
63
|
+
'http://jabber.org/protocol/pubsub#subscribe_options'
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# =XMPP4R - XMPP Library for Ruby
|
|
2
|
+
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
|
|
3
|
+
# Website::http://home.gna.org/xmpp4r/
|
|
4
|
+
|
|
5
|
+
require 'xmpp4r/iq'
|
|
6
|
+
|
|
7
|
+
module Jabber
|
|
8
|
+
module PubSub
|
|
9
|
+
##
|
|
10
|
+
# Unsubscribe
|
|
11
|
+
class Unsubscribe < XMPPElement
|
|
12
|
+
name_xmlns 'unsubscribe'
|
|
13
|
+
def initialize(myjid=nil,mynode=nil)
|
|
14
|
+
super()
|
|
15
|
+
jid = myjid
|
|
16
|
+
node = mynode
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
##
|
|
20
|
+
# shows the jid
|
|
21
|
+
# return:: [String]
|
|
22
|
+
def jid
|
|
23
|
+
(a = attribute('jid')).nil? ? a : JID.new(a.value)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
##
|
|
27
|
+
# sets the jid
|
|
28
|
+
# =:: [Jabber::JID] or [String]
|
|
29
|
+
def jid=(myjid)
|
|
30
|
+
add_attribute('jid', myjid ? myjid.to_s : nil)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
##
|
|
34
|
+
# shows the node
|
|
35
|
+
# return:: [String]
|
|
36
|
+
def node
|
|
37
|
+
attributes['node']
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
##
|
|
41
|
+
# sets the node
|
|
42
|
+
# =:: [String]
|
|
43
|
+
def node=(mynode)
|
|
44
|
+
attributes['node'] = mynode
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# =XMPP4R - XMPP Library for Ruby
|
|
2
|
+
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
|
|
3
|
+
# Website::http://home.gna.org/xmpp4r/
|
|
4
|
+
|
|
5
|
+
require 'xmpp4r/discovery'
|
|
6
|
+
|
|
7
|
+
module Jabber
|
|
8
|
+
module PubSub
|
|
9
|
+
class NodeBrowser
|
|
10
|
+
##
|
|
11
|
+
# Initialize a new NodeBrowser
|
|
12
|
+
# new(stream,pubsubservice)
|
|
13
|
+
# stream:: [Jabber::Stream]
|
|
14
|
+
def initialize(stream)
|
|
15
|
+
@stream = stream
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
##
|
|
19
|
+
# Retrieve the nodes
|
|
20
|
+
# Throws an ServerError when receiving
|
|
21
|
+
# <tt><iq type='error'/></tt>
|
|
22
|
+
# jid:: [JID] Target entity (set only domain!)
|
|
23
|
+
# return:: [Array] of [String] or [nil]
|
|
24
|
+
def nodes(jid)
|
|
25
|
+
iq = Iq.new(:get,jid)
|
|
26
|
+
iq.from = @stream.jid
|
|
27
|
+
iq.add(Discovery::IqQueryDiscoItems.new)
|
|
28
|
+
nodes = []
|
|
29
|
+
@stream.send_with_id(iq) do |answer|
|
|
30
|
+
answer.query.each_element('item') { |item|
|
|
31
|
+
nodes.push(item.node)
|
|
32
|
+
}
|
|
33
|
+
end
|
|
34
|
+
nodes
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
##
|
|
38
|
+
# Retrieve the nodes with names
|
|
39
|
+
# Throws a ServerError when receiving
|
|
40
|
+
# <tt><iq type='error'/></tt>
|
|
41
|
+
# jid:: [Jabber::JID] Target entity (set only domain!)
|
|
42
|
+
# return:: [Array] of [Hash] with keys 'node' => [String] and 'name' => [String] or [nil]
|
|
43
|
+
def nodes_names(jid)
|
|
44
|
+
iq = Iq.new(:get,jid)
|
|
45
|
+
iq.from = @stream.jid
|
|
46
|
+
iq.add(Discovery::IqQueryDiscoItems.new)
|
|
47
|
+
nodes = []
|
|
48
|
+
@stream.send_with_id(iq) { |answer|
|
|
49
|
+
answer.query.each_element('item') do |item|
|
|
50
|
+
nodes.push( {'node' => item.node,'name' => item.iname } )
|
|
51
|
+
}
|
|
52
|
+
end
|
|
53
|
+
nodes
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
##
|
|
58
|
+
# Retrieve the items from a node
|
|
59
|
+
# Throws an ServerError when receiving
|
|
60
|
+
# <tt><iq type='error'/></tt>
|
|
61
|
+
# jid:: [Jabber::JID] Target entity (set only domain!)
|
|
62
|
+
# node:: [String]
|
|
63
|
+
# return:: [Array] of [Hash] with keys 'name' => [String] and 'jid' => [Jabber::JID]
|
|
64
|
+
def items(jid,node)
|
|
65
|
+
iq = Iq.new(:get,jid)
|
|
66
|
+
iq.from = @stream.jid
|
|
67
|
+
discoitems = Discovery::IqQueryDiscoItems.new
|
|
68
|
+
discoitems.node = node
|
|
69
|
+
iq.add(discoitems)
|
|
70
|
+
items = []
|
|
71
|
+
err = nil
|
|
72
|
+
@stream.send_with_id(iq) do |answer|
|
|
73
|
+
answer.query.each_element('item') { |item|
|
|
74
|
+
items.push( {'jid' => item.jid,'name' => item.iname } )
|
|
75
|
+
}
|
|
76
|
+
end
|
|
77
|
+
items
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
##
|
|
81
|
+
# get disco info for a node
|
|
82
|
+
# jid:: [Jabber::JID]
|
|
83
|
+
# node:: [String]
|
|
84
|
+
# return:: [Hash] with possible keys type:: [String] ,category:: [String],features:: [Array] of feature, nodeinformation:: [Jabber::XData]
|
|
85
|
+
# check http://www.xmpp.org/extensions/xep-0060.html#entity for more infos
|
|
86
|
+
def get_info(jid,node)
|
|
87
|
+
iq = Iq.new(:get,jid)
|
|
88
|
+
iq.from = @stream.jid
|
|
89
|
+
discoinfo = Discovery::IqQueryDiscoInfo.new
|
|
90
|
+
discoinfo.node = node
|
|
91
|
+
iq.add(discoinfo)
|
|
92
|
+
info = {}
|
|
93
|
+
@stream.send_with_id(iq) do |answer|
|
|
94
|
+
identity = answer.query.identity
|
|
95
|
+
info['type'] = identity.type
|
|
96
|
+
info['category'] = identity.category
|
|
97
|
+
info['features'] = answer.query.features
|
|
98
|
+
|
|
99
|
+
answer.query.each_element('x') { |x|
|
|
100
|
+
info['nodeinformation'] = x
|
|
101
|
+
}
|
|
102
|
+
end
|
|
103
|
+
info
|
|
104
|
+
end
|
|
105
|
+
# this is only for a xep <-> nodebrowser.rb understanding
|
|
106
|
+
alias get_metadata get_info
|
|
107
|
+
|
|
108
|
+
##
|
|
109
|
+
# get type of node
|
|
110
|
+
# jid:: [Jabber::JID]
|
|
111
|
+
# node:: [String]
|
|
112
|
+
#
|
|
113
|
+
def type(jid,node)
|
|
114
|
+
info = get_info(jid,node)
|
|
115
|
+
return info['type']
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
##
|
|
119
|
+
# get category of node
|
|
120
|
+
# jid:: [Jabber::JID]
|
|
121
|
+
# node:: [String]
|
|
122
|
+
#
|
|
123
|
+
def category(jid,node)
|
|
124
|
+
info = get_info(jid,node)
|
|
125
|
+
return info['category']
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
end #class
|
|
129
|
+
end #module
|
|
130
|
+
end #module
|