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,110 @@
|
|
|
1
|
+
= XMPP4R
|
|
2
|
+
|
|
3
|
+
== Project Home
|
|
4
|
+
|
|
5
|
+
You can find info about the xmpp4r project and how to contribute
|
|
6
|
+
at the project home page:
|
|
7
|
+
|
|
8
|
+
http://home.gna.org/xmpp4r/
|
|
9
|
+
|
|
10
|
+
If you need to ask questions, or want feedback on proposed changes
|
|
11
|
+
please feel free to ask them on the 'xmpp4r-devel@gna.org' mailing
|
|
12
|
+
list. You can join or view archives of the mailing list at:
|
|
13
|
+
|
|
14
|
+
https://gna.org/mail/?group=xmpp4r
|
|
15
|
+
|
|
16
|
+
If you are having a problem and would like to report it
|
|
17
|
+
to the mailing list please include a protocol dump
|
|
18
|
+
which can be enabled in your code with:
|
|
19
|
+
|
|
20
|
+
Jabber::debug = true
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
== Contributors
|
|
24
|
+
|
|
25
|
+
Lucas Nussbaum <lucas@lucas-nussbaum.net>
|
|
26
|
+
Stephan Maka <stephan@spaceboyz.net>
|
|
27
|
+
Kirill A. Shutemov <k.shutemov@gmail.com>
|
|
28
|
+
Yuki Mitsui
|
|
29
|
+
Peter Schrammel
|
|
30
|
+
Olli
|
|
31
|
+
Vojtech Vobr
|
|
32
|
+
Andreas Wiese
|
|
33
|
+
Chris Zelenak
|
|
34
|
+
Matthew Wood
|
|
35
|
+
Sam Ruby
|
|
36
|
+
Glenn Rempe <glenn@rempe.us>
|
|
37
|
+
Tim Carey-Smith
|
|
38
|
+
Scott Lillibridge
|
|
39
|
+
Joshua Sierles
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
== Source Code
|
|
43
|
+
|
|
44
|
+
The source for xmpp4r is managed using the Git SCM and can be
|
|
45
|
+
found in our GitHub.com project page:
|
|
46
|
+
|
|
47
|
+
http://github.com/ln/xmpp4r/tree/master
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
== Installation
|
|
51
|
+
|
|
52
|
+
There are a number of ways that you can install xmpp4r depending
|
|
53
|
+
on your needs and the methods you prefer.
|
|
54
|
+
|
|
55
|
+
=== Install over the network using RubyGems
|
|
56
|
+
|
|
57
|
+
You can install the current release of the xmpp4r library from a stable
|
|
58
|
+
release gem on RubyForge using RubyGems:
|
|
59
|
+
|
|
60
|
+
sudo gem install xmpp4r
|
|
61
|
+
|
|
62
|
+
=== Install over the network using a Debian package
|
|
63
|
+
|
|
64
|
+
You can install the current release of the xmpp4r library from a stable release copy
|
|
65
|
+
on your .deb friendly linux system (e.g. Debian or Ubuntu) using apt:
|
|
66
|
+
|
|
67
|
+
sudo apt-get install libxmpp4r-ruby
|
|
68
|
+
|
|
69
|
+
=== Install from local source code (Developers Only)
|
|
70
|
+
|
|
71
|
+
If you have a local Git clone of the source repository or a tarball
|
|
72
|
+
you can install xmpp4r using several methods. First you'll
|
|
73
|
+
need to get a local copy.
|
|
74
|
+
|
|
75
|
+
Clone the Git repository (recommended):
|
|
76
|
+
|
|
77
|
+
git clone git://github.com/ln/xmpp4r.git
|
|
78
|
+
|
|
79
|
+
OR download a stable release tarball from:
|
|
80
|
+
|
|
81
|
+
http://download.gna.org/xmpp4r/xmpp4r-0.3.2.tgz
|
|
82
|
+
|
|
83
|
+
OR download a snapshot of the latest source in .tar.gz format from:
|
|
84
|
+
|
|
85
|
+
http://github.com/ln/xmpp4r/tarball/master
|
|
86
|
+
|
|
87
|
+
==== Install : Using Rake
|
|
88
|
+
|
|
89
|
+
# Show all available rake tasks
|
|
90
|
+
cd xmpp4r/
|
|
91
|
+
rake -T
|
|
92
|
+
|
|
93
|
+
# Package up the gem file and install it
|
|
94
|
+
rake gem:install
|
|
95
|
+
|
|
96
|
+
==== Install : Using setup.rb
|
|
97
|
+
|
|
98
|
+
This will install a copy of the library in your Ruby path and does not
|
|
99
|
+
require RubyGems to be installed.
|
|
100
|
+
|
|
101
|
+
cd xmpp4r/
|
|
102
|
+
./setup.rb
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
== License
|
|
106
|
+
|
|
107
|
+
XMPP4R is released under the Ruby license (see the LICENSE file), which is
|
|
108
|
+
compatible with the GNU GPL (see the COPYING file) via an explicit
|
|
109
|
+
dual-licensing clause.
|
|
110
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
Ruby 1.9 is a development release in anticipation of Ruby 2.0, which has
|
|
2
|
+
overall better performance, real threading, and character encoding support.
|
|
3
|
+
Note: Ruby 1.9 is a development release, meaning that everything is
|
|
4
|
+
subject to change without prior notice. Among other things, this means
|
|
5
|
+
that xmpp4r could stop working on Ruby 1.9 at any time.
|
|
6
|
+
|
|
7
|
+
This version of xmpp4r has made a number of internal changes (nothing visible
|
|
8
|
+
at the API) to remove depency on deprecated Ruby Kernel APIs, support the new
|
|
9
|
+
encoding APIs, etc.
|
|
10
|
+
|
|
11
|
+
At the present time, all tests pass except tc_helper.rb and tc_stream.rb.
|
|
12
|
+
These tests themselves make assumptions about timinings of events,
|
|
13
|
+
assumptions that are not guaranteed with true multi-tasking. Initial
|
|
14
|
+
analysis indicates that xmpp4r is operating correctly, it is the tests
|
|
15
|
+
themselves that need to be corrected, but this could turn out to be
|
|
16
|
+
incorrect.
|
|
17
|
+
|
|
18
|
+
The executing of these two tests are disabled by a check in ts_xmpp4r.rb,
|
|
19
|
+
which is marked as a TODO.
|
|
20
|
+
|
|
21
|
+
A specific example: test_bidi in test/tc_stream.rb defines two threads,
|
|
22
|
+
one pumps out requests, the other echoes them. The receiver then verifies
|
|
23
|
+
that it gets back what it sent. With Ruby 1.8, these threads tend to
|
|
24
|
+
alternate in lock step, and the test usually passes. What happens in Ruby 1.9
|
|
25
|
+
is that the first thread waits for a message, and the second one creates a
|
|
26
|
+
callback block, generates a message, and then proceeds on to create a second
|
|
27
|
+
callback block -- even before the first message has been responded to.
|
|
28
|
+
The way xmpp4r works is that callbacks are saved on a pushdown stack.
|
|
29
|
+
|
|
30
|
+
The net result is that the first response typically is processed first by
|
|
31
|
+
the second callback, which decides that the ids don't match, and the test fails.
|
|
32
|
+
|
|
33
|
+
The way it is supposed to work is that the reply callback is supposed to
|
|
34
|
+
only process requests destined for it (and return true) and ignore
|
|
35
|
+
everything else (returning false).
|
|
36
|
+
|
|
37
|
+
This is but one test. Many of the tests in these two files are of this
|
|
38
|
+
nature.
|
|
39
|
+
|
|
40
|
+
The current status of the tests that are expected to pass on Ruby 1.9
|
|
41
|
+
can generally be found here:
|
|
42
|
+
|
|
43
|
+
http://intertwingly.net/projects/ruby19/logs/xmpp4r.html
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
require 'rake'
|
|
2
|
+
require "rake/clean"
|
|
3
|
+
require 'rake/testtask'
|
|
4
|
+
require 'rake/rdoctask'
|
|
5
|
+
|
|
6
|
+
$:.unshift 'lib'
|
|
7
|
+
require "xmpp4r"
|
|
8
|
+
|
|
9
|
+
##############################################################################
|
|
10
|
+
# OPTIONS
|
|
11
|
+
##############################################################################
|
|
12
|
+
|
|
13
|
+
PKG_NAME = 'xmpp4r'
|
|
14
|
+
PKG_VERSION = Jabber::XMPP4R_VERSION
|
|
15
|
+
AUTHORS = ['Lucas Nussbaum', 'Stephan Maka', 'Glenn Rempe']
|
|
16
|
+
EMAIL = "xmpp4r-devel@gna.org"
|
|
17
|
+
HOMEPAGE = "http://home.gna.org/xmpp4r/"
|
|
18
|
+
SUMMARY = "XMPP4R is an XMPP/Jabber library for Ruby."
|
|
19
|
+
|
|
20
|
+
# These are the common rdoc options that are shared between generation of
|
|
21
|
+
# rdoc files using BOTH 'rake rdoc' and the installation by users of a
|
|
22
|
+
# RubyGem version which builds rdoc's along with its installation. Any
|
|
23
|
+
# rdoc options that are ONLY for developers running 'rake rdoc' should be
|
|
24
|
+
# added in the 'Rake::RDocTask' block below.
|
|
25
|
+
RDOC_OPTIONS = [
|
|
26
|
+
"--quiet",
|
|
27
|
+
"--title", SUMMARY,
|
|
28
|
+
"--opname", "index.html",
|
|
29
|
+
"--main", "lib/xmpp4r.rb",
|
|
30
|
+
"--line-numbers",
|
|
31
|
+
"--inline-source"
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
# Extra files outside of the lib dir that should be included with the rdocs.
|
|
35
|
+
RDOC_FILES = %w( README.rdoc README_ruby19.txt CHANGELOG LICENSE COPYING )
|
|
36
|
+
|
|
37
|
+
# The full file list used for rdocs, tarballs, gems, and for generating the xmpp4r.gemspec.
|
|
38
|
+
PKG_FILES = %w( Rakefile setup.rb xmpp4r.gemspec ) + RDOC_FILES + Dir["{lib,test,data,tools}/**/*"]
|
|
39
|
+
|
|
40
|
+
##############################################################################
|
|
41
|
+
# DEFAULT TASK
|
|
42
|
+
##############################################################################
|
|
43
|
+
|
|
44
|
+
# The task that will run when a simple 'rake' command is issued.
|
|
45
|
+
# Default to running the test suite as that's a nice safe command
|
|
46
|
+
# we should run frequently.
|
|
47
|
+
task :default => [:test]
|
|
48
|
+
|
|
49
|
+
##############################################################################
|
|
50
|
+
# TESTING TASKS
|
|
51
|
+
##############################################################################
|
|
52
|
+
|
|
53
|
+
Rake::TestTask.new do |t|
|
|
54
|
+
t.libs << "test"
|
|
55
|
+
t.test_files = ['test/ts_xmpp4r.rb']
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
##############################################################################
|
|
59
|
+
# DOCUMENTATION TASKS
|
|
60
|
+
##############################################################################
|
|
61
|
+
|
|
62
|
+
# RDOC
|
|
63
|
+
#######
|
|
64
|
+
Rake::RDocTask.new do |rd|
|
|
65
|
+
|
|
66
|
+
# which dir should rdoc files be installed in?
|
|
67
|
+
rd.rdoc_dir = 'rdoc'
|
|
68
|
+
|
|
69
|
+
# the full list of files to be included
|
|
70
|
+
rd.rdoc_files.include(RDOC_FILES, "lib/**/*.rb")
|
|
71
|
+
|
|
72
|
+
# the full list of options that are common between gem build
|
|
73
|
+
# and 'rake rdoc' build of docs.
|
|
74
|
+
rd.options = RDOC_OPTIONS
|
|
75
|
+
|
|
76
|
+
# Devs Only : Uncomment to also document private methods in the rdocs
|
|
77
|
+
# Please don't check this change in to the source repo.
|
|
78
|
+
#rd.options << '--all'
|
|
79
|
+
|
|
80
|
+
# Devs Only : Uncomment to generate dot (graphviz) diagrams along with rdocs.
|
|
81
|
+
# This requires that graphiz (dot) be installed as a local binary and on your path.
|
|
82
|
+
# See : http://www.graphviz.org/
|
|
83
|
+
# Please don't check this change in to the source repo as it introduces a binary dependency.
|
|
84
|
+
#rd.options << '--diagram'
|
|
85
|
+
#rd.options << '--fileboxes'
|
|
86
|
+
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
# RCOV
|
|
91
|
+
#######
|
|
92
|
+
|
|
93
|
+
# Conditional require rcov/rcovtask if present
|
|
94
|
+
begin
|
|
95
|
+
require 'rcov/rcovtask'
|
|
96
|
+
|
|
97
|
+
Rcov::RcovTask.new do |t|
|
|
98
|
+
t.test_files = ['test/ts_xmpp4r.rb']
|
|
99
|
+
t.output_dir = "coverage"
|
|
100
|
+
end
|
|
101
|
+
rescue Object
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# DOT GRAPH
|
|
105
|
+
############
|
|
106
|
+
desc "Generate requires graph"
|
|
107
|
+
task :gen_requires_graph do
|
|
108
|
+
sh %{cd tools; ./gen_requires.bash}
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# UPDATE WEBSITE (for Lucas only)
|
|
112
|
+
#################################
|
|
113
|
+
desc "Update website (for Lucas only)"
|
|
114
|
+
task :update_website do
|
|
115
|
+
sh %{cp website/* ~/dev/xmpp4r/website/ && cd ~/dev/xmpp4r/website/ && svn commit -m "website update"}
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
##############################################################################
|
|
120
|
+
# SYNTAX CHECKING
|
|
121
|
+
##############################################################################
|
|
122
|
+
|
|
123
|
+
desc "Check syntax of all Ruby files."
|
|
124
|
+
task :check_syntax do
|
|
125
|
+
`find . -name "*.rb" |xargs -n1 ruby -c |grep -v "Syntax OK"`
|
|
126
|
+
puts "* Done"
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
##############################################################################
|
|
130
|
+
# PACKAGING & INSTALLATION
|
|
131
|
+
##############################################################################
|
|
132
|
+
|
|
133
|
+
# What files/dirs should 'rake clean' remove?
|
|
134
|
+
CLEAN.include ["*.gem", "pkg", "rdoc", "coverage", "tools/*.png"]
|
|
135
|
+
|
|
136
|
+
# Flag for RubyGems installation used to add rake package tasks conditionally.
|
|
137
|
+
# Full gem + tarball on systems with RubyGems. More limited on systems without.
|
|
138
|
+
@rubygems = nil
|
|
139
|
+
|
|
140
|
+
begin
|
|
141
|
+
require 'rake/gempackagetask'
|
|
142
|
+
|
|
143
|
+
# RubyGems is installed, known since require 'rake/gempackagetask' succeeded.
|
|
144
|
+
@rubygems = true
|
|
145
|
+
|
|
146
|
+
spec = Gem::Specification.new do |s|
|
|
147
|
+
s.name = PKG_NAME
|
|
148
|
+
s.version = PKG_VERSION
|
|
149
|
+
s.authors = AUTHORS
|
|
150
|
+
s.email = EMAIL
|
|
151
|
+
s.homepage = HOMEPAGE
|
|
152
|
+
s.rubyforge_project = PKG_NAME
|
|
153
|
+
s.summary = SUMMARY
|
|
154
|
+
s.description = s.summary
|
|
155
|
+
s.platform = Gem::Platform::RUBY
|
|
156
|
+
s.require_path = 'lib'
|
|
157
|
+
s.executables = []
|
|
158
|
+
s.files = PKG_FILES
|
|
159
|
+
s.test_files = []
|
|
160
|
+
s.has_rdoc = true
|
|
161
|
+
s.extra_rdoc_files = RDOC_FILES
|
|
162
|
+
s.rdoc_options = RDOC_OPTIONS
|
|
163
|
+
s.required_ruby_version = ">= 1.8.4"
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
Rake::GemPackageTask.new(spec) do |pkg|
|
|
167
|
+
pkg.gem_spec = spec
|
|
168
|
+
pkg.need_tar = true
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
namespace :gem do
|
|
172
|
+
|
|
173
|
+
desc "Run :package and install the .gem locally"
|
|
174
|
+
task :install => [:update_gemspec, :package] do
|
|
175
|
+
sh %{sudo gem install --local pkg/#{PKG_NAME}-#{PKG_VERSION}.gem}
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
desc "Like gem:install but without ri or rdocs"
|
|
179
|
+
task :install_fast => [:update_gemspec, :package] do
|
|
180
|
+
sh %{sudo gem install --local pkg/#{PKG_NAME}-#{PKG_VERSION}.gem --no-rdoc --no-ri}
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
desc "Run :clean and uninstall the .gem"
|
|
184
|
+
task :uninstall => :clean do
|
|
185
|
+
sh %{sudo gem uninstall #{PKG_NAME}}
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
# Thanks to the Merb project for this code.
|
|
189
|
+
desc "Update Github Gemspec"
|
|
190
|
+
task :update_gemspec do
|
|
191
|
+
skip_fields = %w(new_platform original_platform date)
|
|
192
|
+
integer_fields = %w(specification_version)
|
|
193
|
+
|
|
194
|
+
result = "# WARNING : RAKE AUTO-GENERATED FILE. DO NOT MANUALLY EDIT!\n"
|
|
195
|
+
result << "# RUN : 'rake gem:update_gemspec'\n\n"
|
|
196
|
+
result << "Gem::Specification.new do |s|\n"
|
|
197
|
+
spec.instance_variables.each do |ivar|
|
|
198
|
+
value = spec.instance_variable_get(ivar)
|
|
199
|
+
name = ivar.split("@").last
|
|
200
|
+
next if skip_fields.include?(name) || value.nil? || value == "" || (value.respond_to?(:empty?) && value.empty?)
|
|
201
|
+
if name == "dependencies"
|
|
202
|
+
value.each do |d|
|
|
203
|
+
dep, *ver = d.to_s.split(" ")
|
|
204
|
+
result << " s.add_dependency #{dep.inspect}, #{ver.join(" ").inspect.gsub(/[()]/, "")}\n"
|
|
205
|
+
end
|
|
206
|
+
else
|
|
207
|
+
case value
|
|
208
|
+
when Array
|
|
209
|
+
value = name != "files" ? value.inspect : value.sort.uniq.inspect.split(",").join(",\n")
|
|
210
|
+
when String
|
|
211
|
+
value = value.to_i if integer_fields.include?(name)
|
|
212
|
+
value = value.inspect
|
|
213
|
+
else
|
|
214
|
+
value = value.to_s.inspect
|
|
215
|
+
end
|
|
216
|
+
result << " s.#{name} = #{value}\n"
|
|
217
|
+
end
|
|
218
|
+
end
|
|
219
|
+
result << "end"
|
|
220
|
+
File.open(File.join(File.dirname(__FILE__), "#{spec.name}.gemspec"), "w"){|f| f << result}
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
end # namespace :gem
|
|
224
|
+
|
|
225
|
+
# also keep the gemspec up to date each time we package a tarball or gem
|
|
226
|
+
task :package => ['gem:update_gemspec']
|
|
227
|
+
task :gem => ['gem:update_gemspec']
|
|
228
|
+
|
|
229
|
+
rescue LoadError
|
|
230
|
+
@rubygems = false
|
|
231
|
+
warning = <<EOF
|
|
232
|
+
###
|
|
233
|
+
Packaging Warning : RubyGems is apparently not installed on this
|
|
234
|
+
system and any file add/remove/rename will not
|
|
235
|
+
be auto-updated in the 'xmpp4r.gemspec' when you run any
|
|
236
|
+
package tasks. All such file changes are recommended
|
|
237
|
+
to be packaged on a system with RubyGems installed
|
|
238
|
+
if you intend to push commits to the Git repo so the
|
|
239
|
+
gemspec will also stay in sync for others.
|
|
240
|
+
###
|
|
241
|
+
EOF
|
|
242
|
+
puts warning
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
# we are apparently on a system that does not have RubyGems installed.
|
|
246
|
+
# Lets try to provide only the basic tarball package tasks as a fallback.
|
|
247
|
+
if @rubygems == false
|
|
248
|
+
begin
|
|
249
|
+
require 'rake/packagetask'
|
|
250
|
+
Rake::PackageTask.new(PKG_NAME, PKG_VERSION) do |p|
|
|
251
|
+
p.package_files = PKG_FILES
|
|
252
|
+
p.need_tar = true
|
|
253
|
+
end
|
|
254
|
+
rescue LoadError
|
|
255
|
+
warning = <<EOF
|
|
256
|
+
###
|
|
257
|
+
Warning : Unable to require the 'rake/packagetask'. Is Rake installed?
|
|
258
|
+
###
|
|
259
|
+
EOF
|
|
260
|
+
puts warning
|
|
261
|
+
end
|
|
262
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
What is this?
|
|
2
|
+
|
|
3
|
+
This is an example of what you can do with XMPP4R. It is a conferencing
|
|
4
|
+
component in which you can walk around, travel to various places, look
|
|
5
|
+
at things and talk to other visitors on the same places. If you like
|
|
6
|
+
Multi-User Dungeons (MUDs) this is for you!
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
How does it work?
|
|
11
|
+
|
|
12
|
+
The component loads a few worlds from a few XML files. Each world is a
|
|
13
|
+
component. Once joined the chat will tell you what you can do. Remember
|
|
14
|
+
that you can get a command listing anytime by saying '?'.
|
|
15
|
+
|
|
16
|
+
Reading 'You can go north, west' you may say 'go north' to go in the
|
|
17
|
+
northern direction and 'go west' to go in the western direction. You'll
|
|
18
|
+
then find yourself at some other place but still in the same MUC
|
|
19
|
+
conference. Your groupchat roster will change as you'll notice different
|
|
20
|
+
people and things that are just in the same place, not other places.
|
|
21
|
+
|
|
22
|
+
Before starting to hack the scripts you may want to take a look at
|
|
23
|
+
tower.xml. Note that users are <thing/>s, too and the whole world could
|
|
24
|
+
be serialized back to XML by just issuing "world.to_s".
|
|
25
|
+
|
|
26
|
+
Please note that the code, especially the error handling, is of extreme
|
|
27
|
+
poor quality and was mostly written in one afternoon. If I'm going to
|
|
28
|
+
develop this further everything should be rewritten...
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
How to try?
|
|
33
|
+
|
|
34
|
+
Because this is a component you are going to need your own Jabber
|
|
35
|
+
Daemon - which you'll need anyways if you're going to experiment with
|
|
36
|
+
XMPP4R. ;-)
|
|
37
|
+
|
|
38
|
+
Syntax:
|
|
39
|
+
./adventure.rb <JID> <Password> <Host>
|
|
40
|
+
|
|
41
|
+
Example:
|
|
42
|
+
./adventure.rb mud.example.com geheimnis localhost
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
Messages seem to have random order?
|
|
47
|
+
|
|
48
|
+
I don't know any solution for this. One may add short delays between
|
|
49
|
+
messages, but that would only be a very dirty hack.
|
|
50
|
+
|
|
51
|
+
RFC3920:
|
|
52
|
+
|
|
53
|
+
"10. Server Rules for Handling XML Stanzas
|
|
54
|
+
|
|
55
|
+
Compliant server implementations MUST ensure in-order processing of
|
|
56
|
+
XML stanzas between any two entities."
|