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.
Files changed (290) hide show
  1. data/Authors.txt +4 -0
  2. data/Changelog.txt +11 -0
  3. data/Copyright.txt +16 -0
  4. data/Rakefile +16 -25
  5. data/Readme.markdown +1 -3
  6. data/bin/cerberus +5 -0
  7. data/lib/cerberus/builder/bjam.rb +1 -3
  8. data/lib/cerberus/builder/maven2.rb +0 -1
  9. data/lib/cerberus/builder/rake.rb +1 -1
  10. data/lib/cerberus/builder/rspec.rb +0 -1
  11. data/lib/cerberus/builder/ruby_base.rb +0 -1
  12. data/lib/cerberus/component_lazy_loader.rb +6 -2
  13. data/lib/cerberus/config.example.yml +1 -0
  14. data/lib/cerberus/constants.rb +2 -2
  15. data/lib/cerberus/manager.rb +7 -1
  16. data/lib/cerberus/publisher/mail.rb +4 -4
  17. data/lib/cerberus/publisher/twitter.rb +0 -1
  18. data/lib/cerberus/scm/base.rb +19 -0
  19. data/lib/cerberus/scm/bzr.rb +62 -0
  20. data/lib/cerberus/scm/cvs.rb +2 -7
  21. data/lib/cerberus/scm/darcs.rb +2 -11
  22. data/lib/cerberus/scm/git.rb +6 -14
  23. data/lib/cerberus/scm/perforce.rb +4 -4
  24. data/lib/cerberus/scm/svn.rb +2 -7
  25. data/lib/cerberus/utils.rb +5 -0
  26. data/lib/vendor/irc/README +23 -0
  27. data/lib/vendor/irc/lib/IRC.rb +164 -0
  28. data/lib/vendor/irc/lib/IRCChannel.rb +33 -0
  29. data/lib/vendor/irc/lib/IRCConnection.rb +134 -0
  30. data/lib/vendor/irc/lib/IRCEvent.rb +91 -0
  31. data/lib/vendor/irc/lib/IRCUser.rb +23 -0
  32. data/lib/vendor/irc/lib/IRCUtil.rb +49 -0
  33. data/lib/vendor/irc/lib/eventmap.yml +247 -0
  34. data/lib/vendor/twitter/CHANGES +129 -0
  35. data/lib/vendor/twitter/MIT-LICENSE +20 -0
  36. data/lib/vendor/twitter/README +37 -0
  37. data/lib/vendor/twitter/TODO +7 -0
  38. data/lib/vendor/twitter/lib/twitter.rb +34 -0
  39. data/lib/vendor/twitter/lib/twitter/client.rb +24 -0
  40. data/lib/vendor/twitter/lib/twitter/client/account.rb +24 -0
  41. data/lib/vendor/twitter/lib/twitter/client/auth.rb +27 -0
  42. data/lib/vendor/twitter/lib/twitter/client/base.rb +93 -0
  43. data/lib/vendor/twitter/lib/twitter/client/blocks.rb +35 -0
  44. data/lib/vendor/twitter/lib/twitter/client/favorites.rb +53 -0
  45. data/lib/vendor/twitter/lib/twitter/client/friendship.rb +35 -0
  46. data/lib/vendor/twitter/lib/twitter/client/graph.rb +37 -0
  47. data/lib/vendor/twitter/lib/twitter/client/messaging.rb +79 -0
  48. data/lib/vendor/twitter/lib/twitter/client/profile.rb +29 -0
  49. data/lib/vendor/twitter/lib/twitter/client/search.rb +27 -0
  50. data/lib/vendor/twitter/lib/twitter/client/status.rb +51 -0
  51. data/lib/vendor/twitter/lib/twitter/client/timeline.rb +72 -0
  52. data/lib/vendor/twitter/lib/twitter/client/user.rb +65 -0
  53. data/lib/vendor/twitter/lib/twitter/config.rb +77 -0
  54. data/lib/vendor/twitter/lib/twitter/console.rb +31 -0
  55. data/lib/vendor/twitter/lib/twitter/core.rb +137 -0
  56. data/lib/vendor/twitter/lib/twitter/ext.rb +2 -0
  57. data/lib/vendor/twitter/lib/twitter/ext/stdlib.rb +52 -0
  58. data/lib/vendor/twitter/lib/twitter/extras.rb +39 -0
  59. data/lib/vendor/twitter/lib/twitter/meta.rb +56 -0
  60. data/lib/vendor/twitter/lib/twitter/model.rb +360 -0
  61. data/lib/vendor/twitter/lib/twitter/version.rb +19 -0
  62. data/lib/vendor/twitter/spec/twitter/client/account_spec.rb +28 -0
  63. data/lib/vendor/twitter/spec/twitter/client/auth_spec.rb +34 -0
  64. data/lib/vendor/twitter/spec/twitter/client/base_spec.rb +242 -0
  65. data/lib/vendor/twitter/spec/twitter/client/blocks_spec.rb +76 -0
  66. data/lib/vendor/twitter/spec/twitter/client/favorites_spec.rb +183 -0
  67. data/lib/vendor/twitter/spec/twitter/client/friendship_spec.rb +76 -0
  68. data/lib/vendor/twitter/spec/twitter/client/graph_spec.rb +67 -0
  69. data/lib/vendor/twitter/spec/twitter/client/messaging_spec.rb +135 -0
  70. data/lib/vendor/twitter/spec/twitter/client/profile_spec.rb +91 -0
  71. data/lib/vendor/twitter/spec/twitter/client/search_spec.rb +68 -0
  72. data/lib/vendor/twitter/spec/twitter/client/status_spec.rb +119 -0
  73. data/lib/vendor/twitter/spec/twitter/client/timeline_spec.rb +79 -0
  74. data/lib/vendor/twitter/spec/twitter/client/user_spec.rb +203 -0
  75. data/lib/vendor/twitter/spec/twitter/client_spec.rb +2 -0
  76. data/lib/vendor/twitter/spec/twitter/config_spec.rb +86 -0
  77. data/lib/vendor/twitter/spec/twitter/console_spec.rb +15 -0
  78. data/lib/vendor/twitter/spec/twitter/core_spec.rb +127 -0
  79. data/lib/vendor/twitter/spec/twitter/ext/stdlib_spec.rb +59 -0
  80. data/lib/vendor/twitter/spec/twitter/extras_spec.rb +46 -0
  81. data/lib/vendor/twitter/spec/twitter/meta_spec.rb +90 -0
  82. data/lib/vendor/twitter/spec/twitter/model_spec.rb +508 -0
  83. data/lib/vendor/twitter/spec/twitter/version_spec.rb +19 -0
  84. data/lib/vendor/xmpp4r/CHANGELOG +83 -0
  85. data/lib/vendor/xmpp4r/COPYING +340 -0
  86. data/lib/vendor/xmpp4r/LICENSE +59 -0
  87. data/lib/vendor/xmpp4r/README.rdoc +110 -0
  88. data/lib/vendor/xmpp4r/README_ruby19.txt +43 -0
  89. data/lib/vendor/xmpp4r/Rakefile +262 -0
  90. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/README +56 -0
  91. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/adventure.rb +23 -0
  92. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/adventuremuc.rb +136 -0
  93. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/cube.xml +15 -0
  94. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/tower.xml +69 -0
  95. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/world.rb +424 -0
  96. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/fileserve.conf +11 -0
  97. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/fileserve.rb +346 -0
  98. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/getonline.rb +56 -0
  99. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/gtkmucclient.rb +315 -0
  100. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/migrate.rb +88 -0
  101. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/minimuc.rb +266 -0
  102. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/pep-aggregator/index.xsl +235 -0
  103. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/pep-aggregator/pep-aggregator.rb +147 -0
  104. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/recvfile.rb +84 -0
  105. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/rosterdiscovery.rb +129 -0
  106. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/sendfile.conf +10 -0
  107. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/sendfile.rb +72 -0
  108. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/shellmgr/shellmgr.rb +51 -0
  109. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/shellmgr/shellmgr_jabber.rb +43 -0
  110. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/shellmgr/shellmgr_test.rb +10 -0
  111. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/versionpoll.rb +90 -0
  112. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/xmpping.rb +146 -0
  113. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/xmppingrc.sample +14 -0
  114. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/change_password.rb +41 -0
  115. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/client.rb +70 -0
  116. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/component.rb +11 -0
  117. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/echo.rb +37 -0
  118. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/jabbersend.rb +41 -0
  119. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/mass_sender.rb +68 -0
  120. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/muc_owner_config.rb +12 -0
  121. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/mucinfo.rb +41 -0
  122. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/mucsimplebot.rb +82 -0
  123. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/register.rb +42 -0
  124. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/remove_registration.rb +18 -0
  125. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/roster.rb +44 -0
  126. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/rosterprint.rb +50 -0
  127. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/rosterrename.rb +34 -0
  128. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/rosterwatch.rb +171 -0
  129. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/send_vcard.rb +67 -0
  130. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/tune_client.rb +56 -0
  131. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/tune_server.rb +58 -0
  132. data/lib/vendor/xmpp4r/data/doc/xmpp4r/examples/basic/versionbot.rb +75 -0
  133. data/lib/vendor/xmpp4r/lib/xmpp4r.rb +116 -0
  134. data/lib/vendor/xmpp4r/lib/xmpp4r/base64.rb +32 -0
  135. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams.rb +15 -0
  136. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/filetransfer.rb +319 -0
  137. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/ibb/base.rb +257 -0
  138. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/ibb/initiator.rb +31 -0
  139. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/ibb/target.rb +47 -0
  140. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/base.rb +152 -0
  141. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/initiator.rb +86 -0
  142. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/server.rb +198 -0
  143. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/socks5.rb +65 -0
  144. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.rb +73 -0
  145. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.rb.orig +62 -0
  146. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/iq/bytestreams.rb +170 -0
  147. data/lib/vendor/xmpp4r/lib/xmpp4r/bytestreams/iq/si.rb +206 -0
  148. data/lib/vendor/xmpp4r/lib/xmpp4r/callbacks.rb +124 -0
  149. data/lib/vendor/xmpp4r/lib/xmpp4r/caps.rb +1 -0
  150. data/lib/vendor/xmpp4r/lib/xmpp4r/caps/c.rb +53 -0
  151. data/lib/vendor/xmpp4r/lib/xmpp4r/caps/helper/generator.rb +160 -0
  152. data/lib/vendor/xmpp4r/lib/xmpp4r/caps/helper/helper.rb +87 -0
  153. data/lib/vendor/xmpp4r/lib/xmpp4r/client.rb +317 -0
  154. data/lib/vendor/xmpp4r/lib/xmpp4r/command/helper/responder.rb +53 -0
  155. data/lib/vendor/xmpp4r/lib/xmpp4r/command/iq/command.rb +154 -0
  156. data/lib/vendor/xmpp4r/lib/xmpp4r/component.rb +103 -0
  157. data/lib/vendor/xmpp4r/lib/xmpp4r/connection.rb +219 -0
  158. data/lib/vendor/xmpp4r/lib/xmpp4r/dataforms.rb +5 -0
  159. data/lib/vendor/xmpp4r/lib/xmpp4r/dataforms/x/data.rb +297 -0
  160. data/lib/vendor/xmpp4r/lib/xmpp4r/debuglog.rb +42 -0
  161. data/lib/vendor/xmpp4r/lib/xmpp4r/delay.rb +5 -0
  162. data/lib/vendor/xmpp4r/lib/xmpp4r/delay/x/delay.rb +99 -0
  163. data/lib/vendor/xmpp4r/lib/xmpp4r/discovery.rb +7 -0
  164. data/lib/vendor/xmpp4r/lib/xmpp4r/discovery/helper/responder.rb +165 -0
  165. data/lib/vendor/xmpp4r/lib/xmpp4r/discovery/iq/discoinfo.rb +211 -0
  166. data/lib/vendor/xmpp4r/lib/xmpp4r/discovery/iq/discoitems.rb +147 -0
  167. data/lib/vendor/xmpp4r/lib/xmpp4r/errors.rb +281 -0
  168. data/lib/vendor/xmpp4r/lib/xmpp4r/feature_negotiation.rb +5 -0
  169. data/lib/vendor/xmpp4r/lib/xmpp4r/feature_negotiation/iq/feature.rb +28 -0
  170. data/lib/vendor/xmpp4r/lib/xmpp4r/framework/base.rb +55 -0
  171. data/lib/vendor/xmpp4r/lib/xmpp4r/framework/bot.rb +148 -0
  172. data/lib/vendor/xmpp4r/lib/xmpp4r/httpbinding.rb +5 -0
  173. data/lib/vendor/xmpp4r/lib/xmpp4r/httpbinding/client.rb +285 -0
  174. data/lib/vendor/xmpp4r/lib/xmpp4r/idgenerator.rb +37 -0
  175. data/lib/vendor/xmpp4r/lib/xmpp4r/iq.rb +221 -0
  176. data/lib/vendor/xmpp4r/lib/xmpp4r/jid.rb +167 -0
  177. data/lib/vendor/xmpp4r/lib/xmpp4r/message.rb +148 -0
  178. data/lib/vendor/xmpp4r/lib/xmpp4r/muc.rb +14 -0
  179. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/helper/mucbrowser.rb +92 -0
  180. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/helper/mucclient.rb +462 -0
  181. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/helper/simplemucclient.rb +332 -0
  182. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/iq/mucadmin.rb +23 -0
  183. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/iq/mucadminitem.rb +20 -0
  184. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/iq/mucowner.rb +15 -0
  185. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/item.rb +143 -0
  186. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/x/muc.rb +70 -0
  187. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/x/mucuserinvite.rb +60 -0
  188. data/lib/vendor/xmpp4r/lib/xmpp4r/muc/x/mucuseritem.rb +36 -0
  189. data/lib/vendor/xmpp4r/lib/xmpp4r/presence.rb +232 -0
  190. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub.rb +8 -0
  191. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/configuration.rb +86 -0
  192. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/event.rb +49 -0
  193. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/item.rb +35 -0
  194. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/items.rb +44 -0
  195. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/node_config.rb +48 -0
  196. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/publish.rb +24 -0
  197. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/subscription.rb +62 -0
  198. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/subscription_config.rb +67 -0
  199. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/children/unsubscribe.rb +48 -0
  200. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/helper/nodebrowser.rb +130 -0
  201. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/helper/nodehelper.rb +156 -0
  202. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/helper/servicehelper.rb +417 -0
  203. data/lib/vendor/xmpp4r/lib/xmpp4r/pubsub/iq/pubsub.rb +19 -0
  204. data/lib/vendor/xmpp4r/lib/xmpp4r/query.rb +15 -0
  205. data/lib/vendor/xmpp4r/lib/xmpp4r/rexmladdons.rb +151 -0
  206. data/lib/vendor/xmpp4r/lib/xmpp4r/roster.rb +7 -0
  207. data/lib/vendor/xmpp4r/lib/xmpp4r/roster/helper/roster.rb +519 -0
  208. data/lib/vendor/xmpp4r/lib/xmpp4r/roster/iq/roster.rb +215 -0
  209. data/lib/vendor/xmpp4r/lib/xmpp4r/roster/x/roster.rb +138 -0
  210. data/lib/vendor/xmpp4r/lib/xmpp4r/rpc.rb +2 -0
  211. data/lib/vendor/xmpp4r/lib/xmpp4r/rpc/helper/client.rb +123 -0
  212. data/lib/vendor/xmpp4r/lib/xmpp4r/rpc/helper/server.rb +74 -0
  213. data/lib/vendor/xmpp4r/lib/xmpp4r/rpc/helper/xmlrpcaddons.rb +67 -0
  214. data/lib/vendor/xmpp4r/lib/xmpp4r/rpc/iq/rpc.rb +23 -0
  215. data/lib/vendor/xmpp4r/lib/xmpp4r/sasl.rb +237 -0
  216. data/lib/vendor/xmpp4r/lib/xmpp4r/semaphore.rb +38 -0
  217. data/lib/vendor/xmpp4r/lib/xmpp4r/stream.rb +497 -0
  218. data/lib/vendor/xmpp4r/lib/xmpp4r/streamparser.rb +77 -0
  219. data/lib/vendor/xmpp4r/lib/xmpp4r/tune.rb +2 -0
  220. data/lib/vendor/xmpp4r/lib/xmpp4r/tune/helper/helper.rb +58 -0
  221. data/lib/vendor/xmpp4r/lib/xmpp4r/tune/tune.rb +113 -0
  222. data/lib/vendor/xmpp4r/lib/xmpp4r/vcard.rb +6 -0
  223. data/lib/vendor/xmpp4r/lib/xmpp4r/vcard/helper/vcard.rb +84 -0
  224. data/lib/vendor/xmpp4r/lib/xmpp4r/vcard/iq/vcard.rb +109 -0
  225. data/lib/vendor/xmpp4r/lib/xmpp4r/version.rb +7 -0
  226. data/lib/vendor/xmpp4r/lib/xmpp4r/version/helper/responder.rb +72 -0
  227. data/lib/vendor/xmpp4r/lib/xmpp4r/version/helper/simpleresponder.rb +44 -0
  228. data/lib/vendor/xmpp4r/lib/xmpp4r/version/iq/version.rb +105 -0
  229. data/lib/vendor/xmpp4r/lib/xmpp4r/x.rb +37 -0
  230. data/lib/vendor/xmpp4r/lib/xmpp4r/xhtml.rb +1 -0
  231. data/lib/vendor/xmpp4r/lib/xmpp4r/xhtml/html.rb +115 -0
  232. data/lib/vendor/xmpp4r/lib/xmpp4r/xmpp4r.rb +18 -0
  233. data/lib/vendor/xmpp4r/lib/xmpp4r/xmppelement.rb +168 -0
  234. data/lib/vendor/xmpp4r/lib/xmpp4r/xmppstanza.rb +162 -0
  235. data/lib/vendor/xmpp4r/setup.rb +1586 -0
  236. data/lib/vendor/xmpp4r/test/bytestreams/tc_ibb.rb +186 -0
  237. data/lib/vendor/xmpp4r/test/bytestreams/tc_socks5bytestreams.rb +113 -0
  238. data/lib/vendor/xmpp4r/test/caps/tc_helper.rb +156 -0
  239. data/lib/vendor/xmpp4r/test/dataforms/tc_data.rb +81 -0
  240. data/lib/vendor/xmpp4r/test/delay/tc_xdelay.rb +51 -0
  241. data/lib/vendor/xmpp4r/test/discovery/tc_responder.rb +91 -0
  242. data/lib/vendor/xmpp4r/test/lib/assert_equal_xml.rb +14 -0
  243. data/lib/vendor/xmpp4r/test/lib/clienttester.rb +120 -0
  244. data/lib/vendor/xmpp4r/test/muc/tc_muc_mucclient.rb +830 -0
  245. data/lib/vendor/xmpp4r/test/muc/tc_muc_simplemucclient.rb +114 -0
  246. data/lib/vendor/xmpp4r/test/muc/tc_mucowner.rb +50 -0
  247. data/lib/vendor/xmpp4r/test/pubsub/tc_helper.rb +662 -0
  248. data/lib/vendor/xmpp4r/test/pubsub/tc_nodeconfig.rb +54 -0
  249. data/lib/vendor/xmpp4r/test/pubsub/tc_subscriptionconfig.rb +41 -0
  250. data/lib/vendor/xmpp4r/test/roster/tc_helper.rb +514 -0
  251. data/lib/vendor/xmpp4r/test/roster/tc_iqqueryroster.rb +173 -0
  252. data/lib/vendor/xmpp4r/test/roster/tc_xroster.rb +73 -0
  253. data/lib/vendor/xmpp4r/test/rpc/tc_helper.rb +96 -0
  254. data/lib/vendor/xmpp4r/test/tc_callbacks.rb +129 -0
  255. data/lib/vendor/xmpp4r/test/tc_class_names.rb +146 -0
  256. data/lib/vendor/xmpp4r/test/tc_client.rb +30 -0
  257. data/lib/vendor/xmpp4r/test/tc_errors.rb +146 -0
  258. data/lib/vendor/xmpp4r/test/tc_idgenerator.rb +30 -0
  259. data/lib/vendor/xmpp4r/test/tc_iq.rb +113 -0
  260. data/lib/vendor/xmpp4r/test/tc_iqquery.rb +31 -0
  261. data/lib/vendor/xmpp4r/test/tc_jid.rb +204 -0
  262. data/lib/vendor/xmpp4r/test/tc_message.rb +116 -0
  263. data/lib/vendor/xmpp4r/test/tc_presence.rb +150 -0
  264. data/lib/vendor/xmpp4r/test/tc_rexml.rb +139 -0
  265. data/lib/vendor/xmpp4r/test/tc_stream.rb +229 -0
  266. data/lib/vendor/xmpp4r/test/tc_streamComponent.rb +95 -0
  267. data/lib/vendor/xmpp4r/test/tc_streamError.rb +131 -0
  268. data/lib/vendor/xmpp4r/test/tc_streamSend.rb +59 -0
  269. data/lib/vendor/xmpp4r/test/tc_streamparser.rb +112 -0
  270. data/lib/vendor/xmpp4r/test/tc_xmppstanza.rb +135 -0
  271. data/lib/vendor/xmpp4r/test/ts_xmpp4r.rb +53 -0
  272. data/lib/vendor/xmpp4r/test/tune/tc_helper_recv.rb +84 -0
  273. data/lib/vendor/xmpp4r/test/tune/tc_helper_send.rb +74 -0
  274. data/lib/vendor/xmpp4r/test/tune/tc_tune.rb +79 -0
  275. data/lib/vendor/xmpp4r/test/vcard/tc_helper.rb +49 -0
  276. data/lib/vendor/xmpp4r/test/vcard/tc_iqvcard.rb +62 -0
  277. data/lib/vendor/xmpp4r/test/version/tc_helper.rb +60 -0
  278. data/lib/vendor/xmpp4r/test/version/tc_iqqueryversion.rb +97 -0
  279. data/lib/vendor/xmpp4r/test/xhtml/tc_html.rb +41 -0
  280. data/lib/vendor/xmpp4r/tools/gen_requires.bash +31 -0
  281. data/lib/vendor/xmpp4r/tools/xmpp4r-gemspec-test.rb +11 -0
  282. data/lib/vendor/xmpp4r/xmpp4r.gemspec +291 -0
  283. data/test/jabber_publisher_test.rb +1 -1
  284. data/test/mail_publisher_test.rb +2 -2
  285. data/test/mock/twitter.rb +0 -1
  286. data/test/rspec_builder_test.rb +39 -2
  287. data/test/rss_publisher_test.rb +1 -1
  288. data/test/twitter_publisher_test.rb +1 -1
  289. metadata +268 -53
  290. data/lib/cerberus/publisher/gmailer.rb +0 -17
@@ -0,0 +1,170 @@
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
+ module Jabber
6
+ module Bytestreams
7
+ NS_BYTESTREAMS = 'http://jabber.org/protocol/bytestreams'
8
+
9
+ ##
10
+ # Class for accessing <query/> elements with
11
+ # xmlns='http://jabber.org/protocol/bytestreams'
12
+ # in <iq/> stanzas.
13
+ class IqQueryBytestreams < IqQuery
14
+ name_xmlns 'query', NS_BYTESTREAMS
15
+
16
+ ##
17
+ # Initialize such a <query/>
18
+ # sid:: [String] Session-ID
19
+ # mode:: [Symbol] :tcp or :udp
20
+ def initialize(sid=nil, mode=nil)
21
+ super()
22
+ self.sid = sid
23
+ self.mode = mode
24
+ end
25
+
26
+ ##
27
+ # Session-ID
28
+ def sid
29
+ attributes['sid']
30
+ end
31
+
32
+ ##
33
+ # Set Session-ID
34
+ def sid=(s)
35
+ attributes['sid'] = s
36
+ end
37
+
38
+ ##
39
+ # Transfer mode
40
+ # result:: :tcp or :udp
41
+ def mode
42
+ case attributes['mode']
43
+ when 'udp' then :udp
44
+ else :tcp
45
+ end
46
+ end
47
+
48
+ ##
49
+ # Set the transfer mode
50
+ # m:: :tcp or :udp
51
+ def mode=(m)
52
+ case m
53
+ when :udp then attributes['mode'] = 'udp'
54
+ else attributes['mode'] = 'tcp'
55
+ end
56
+ end
57
+
58
+ ##
59
+ # Get the <streamhost-used/> child
60
+ # result:: [StreamHostUsed]
61
+ def streamhost_used
62
+ first_element('streamhost-used')
63
+ end
64
+
65
+ ##
66
+ # Get the text of the <activate/> child
67
+ # result:: [JID] or [nil]
68
+ def activate
69
+ j = first_element_text('activate')
70
+ j ? JID.new(j) : nil
71
+ end
72
+
73
+ ##
74
+ # Set the text of the <activate/> child
75
+ # s:: [JID]
76
+ def activate=(s)
77
+ replace_element_text('activate', s ? s.to_s : nil)
78
+ end
79
+ end
80
+
81
+
82
+ ##
83
+ # <streamhost/> element, normally appear
84
+ # as children of IqQueryBytestreams
85
+ class StreamHost < XMPPElement
86
+ name_xmlns 'streamhost', NS_BYTESTREAMS
87
+
88
+ ##
89
+ # Initialize a <streamhost/> element
90
+ # jid:: [JID]
91
+ # host:: [String] Hostname or IP address
92
+ # port:: [Fixnum] Port number
93
+ def initialize(jid=nil, host=nil, port=nil)
94
+ super()
95
+ self.jid = jid
96
+ self.host = host
97
+ self.port = port
98
+ end
99
+
100
+ ##
101
+ # Get the JID of the streamhost
102
+ def jid
103
+ (a = attributes['jid']) ? JID.new(a) : nil
104
+ end
105
+
106
+ ##
107
+ # Set the JID of the streamhost
108
+ def jid=(j)
109
+ attributes['jid'] = (j ? j.to_s : nil)
110
+ end
111
+
112
+ ##
113
+ # Get the host address of the streamhost
114
+ def host
115
+ attributes['host']
116
+ end
117
+
118
+ ##
119
+ # Set the host address of the streamhost
120
+ def host=(h)
121
+ attributes['host'] = h
122
+ end
123
+
124
+ ##
125
+ # Get the zeroconf attribute of the streamhost
126
+ def zeroconf
127
+ attributes['zeroconf']
128
+ end
129
+
130
+ ##
131
+ # Set the zeroconf attribute of the streamhost
132
+ def zeroconf=(s)
133
+ attributes['zeroconf'] = s
134
+ end
135
+
136
+ ##
137
+ # Get the port number of the streamhost
138
+ def port
139
+ p = attributes['port'].to_i
140
+ (p == 0 ? nil : p)
141
+ end
142
+
143
+ ##
144
+ # Set the port number of the streamhost
145
+ def port=(p)
146
+ attributes['port'] = p.to_s
147
+ end
148
+ end
149
+
150
+ ##
151
+ # <streamhost-used/> element, normally appears
152
+ # as child of IqQueryBytestreams
153
+ class StreamHostUsed < XMPPElement
154
+ name_xmlns 'streamhost-used', NS_BYTESTREAMS
155
+
156
+ def initialize(jid=nil)
157
+ super()
158
+ self.jid = jid
159
+ end
160
+
161
+ def jid
162
+ (a = attributes['jid']) ? JID.new(a) : nil
163
+ end
164
+
165
+ def jid=(j)
166
+ attributes['jid'] = (j ? j.to_s : nil)
167
+ end
168
+ end
169
+ end
170
+ end
@@ -0,0 +1,206 @@
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 'time' # For Time#xmlschema
6
+
7
+ require 'xmpp4r/feature_negotiation/iq/feature'
8
+
9
+ module Jabber
10
+ module Bytestreams
11
+ PROFILE_FILETRANSFER = 'http://jabber.org/protocol/si/profile/file-transfer'
12
+
13
+ ##
14
+ # Iq child 'si' for Stream-Initiation
15
+ class IqSi < XMPPElement
16
+ name_xmlns 'si', 'http://jabber.org/protocol/si'
17
+ force_xmlns true
18
+
19
+ def initialize(id=nil, profile=nil, mime_type=nil)
20
+ super()
21
+
22
+ self.id = id
23
+ self.profile = profile
24
+ self.mime_type = mime_type
25
+ end
26
+
27
+ ##
28
+ # Session ID of this stream
29
+ def id
30
+ attributes['id']
31
+ end
32
+
33
+ ##
34
+ # Set Session ID of this stream
35
+ def id=(s)
36
+ attributes['id'] = s
37
+ end
38
+
39
+ ##
40
+ # MIME type of this stream
41
+ def mime_type
42
+ attributes['mime-type']
43
+ end
44
+
45
+ ##
46
+ # Set MIME type of this stream
47
+ def mime_type=(s)
48
+ attributes['mime-type'] = s
49
+ end
50
+
51
+ ##
52
+ # Stream profile, can indicate file-transfer
53
+ def profile
54
+ attributes['profile']
55
+ end
56
+
57
+ ##
58
+ # Set stream profile
59
+ def profile=(s)
60
+ attributes['profile'] = s
61
+ end
62
+
63
+ ##
64
+ # <file/> child
65
+ # result:: [IqSiFile]
66
+ def file
67
+ first_element('file')
68
+ end
69
+
70
+ ##
71
+ # <feature/> child
72
+ # result:: [IqFeature]
73
+ def feature
74
+ first_element('feature')
75
+ end
76
+ end
77
+
78
+
79
+ ##
80
+ # File-transfer meta-information,
81
+ # may appear as <file/> in IqSi
82
+ class IqSiFile < XMPPElement
83
+ name_xmlns 'file', PROFILE_FILETRANSFER
84
+
85
+ def initialize(fname=nil, size=nil)
86
+ super()
87
+ self.fname = fname
88
+ self.size = size
89
+ end
90
+
91
+ ##
92
+ # Get filename (attribute 'name')
93
+ def fname
94
+ attributes['name']
95
+ end
96
+
97
+ ##
98
+ # Set filename (attribute 'name')
99
+ def fname=(s)
100
+ attributes['name'] = s
101
+ end
102
+
103
+ ##
104
+ # Get MD5 hash
105
+ def hash
106
+ attributes['hash']
107
+ end
108
+
109
+ ##
110
+ # Set MD5 hash
111
+ def hash=(s)
112
+ attributes['hash'] = s
113
+ end
114
+
115
+ ##
116
+ # Get file date
117
+ # result:: [Time] or nil
118
+ def date
119
+ begin
120
+ Time.xmlschema(attributes['date'])
121
+ rescue ArgumentError
122
+ nil
123
+ end
124
+ end
125
+
126
+ ##
127
+ # Set file date
128
+ # d:: [Time] or nil
129
+ def date=(d)
130
+ attributes['date'] = (d ? d.xmlschema : nil)
131
+ end
132
+
133
+ ##
134
+ # File size in bytes
135
+ # result:: [Fixnum]
136
+ def size
137
+ (attributes['size'] =~ /^\d+$/) ? attributes['size'].to_i : nil
138
+ end
139
+
140
+ ##
141
+ # Set file size
142
+ def size=(s)
143
+ attributes['size'] = s ? s.to_s : nil
144
+ end
145
+
146
+ ##
147
+ # File description
148
+ def description
149
+ first_element_text('desc')
150
+ end
151
+
152
+ ##
153
+ # Set file description
154
+ def description=(s)
155
+ replace_element_text('desc', s)
156
+ end
157
+
158
+ ##
159
+ # <range/> child
160
+ #
161
+ # A file-transfer offer may contain this with
162
+ # no attributes set, indicating the ability to
163
+ # do ranged transfers.
164
+ # result:: [IqSiFileRange]
165
+ def range
166
+ first_element('range')
167
+ end
168
+ end
169
+
170
+ ##
171
+ # Information for ranged transfers
172
+ class IqSiFileRange < XMPPElement
173
+ name_xmlns 'range', PROFILE_FILETRANSFER
174
+ def initialize(offset=nil, length=nil)
175
+ super()
176
+
177
+ self.offset = offset
178
+ self.length = length
179
+ end
180
+
181
+ ##
182
+ # File offset (for continuing an interrupted transfer)
183
+ def offset
184
+ (attributes['offset'] =~ /^\d+$/) ? attributes['offset'].to_i : nil
185
+ end
186
+
187
+ ##
188
+ # Set file offset
189
+ def offset=(o)
190
+ attributes['offset'] = (o ? o.to_s : nil)
191
+ end
192
+
193
+ ##
194
+ # File length (if not to transfer whole file)
195
+ def length
196
+ (attributes['length'] =~ /^\d+$/) ? attributes['length'].to_i : nil
197
+ end
198
+
199
+ ##
200
+ # Set file length
201
+ def length=(o)
202
+ attributes['length'] = (o ? o.to_s : nil)
203
+ end
204
+ end
205
+ end
206
+ end
@@ -0,0 +1,124 @@
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
+ module Jabber
6
+ ##
7
+ # This class manages a list of callbacks.
8
+ #
9
+ # ==Callbacks management and priority
10
+ #
11
+ # Callbacks are managed by the class CallbackList. When they are added, a
12
+ # priority (just a number or anything Comparable with other priorities) is
13
+ # specified. The biggest the priority is, the earliest the callback will be
14
+ # considered.
15
+ #
16
+ # Callbacks are processed for a given set of objects as long as they return
17
+ # false. If you want to stop processing, you must return true. Example :
18
+ # cbl = CallbackList.new
19
+ # c1 = false
20
+ # c2 = false
21
+ # c3 = false
22
+ # cbl.add(10) { c1 = true; 1 }
23
+ # cbl.add(5) { c2 = true; true }
24
+ # cbl.add(0) { c3 = true }
25
+ # cbl.process('aa')
26
+ # puts "#{c1} #{c2} #{c3}"
27
+ # This example would display "true true false" as callbacks processing was
28
+ # stopped after the second callback returned true.
29
+ #
30
+ # In XMPP4R, callbacks' priorities are quite normalized since we want to be
31
+ # able to "cascade" callbacks in a clean way. Here are values your code should
32
+ # take into account :
33
+ #
34
+ # >= 200:: logging & debugging callbacks. Those callbacks should not consume
35
+ # elements.
36
+ # 100-199:: Where Helpers register their callbacks. The normal value is 100,
37
+ # and Helpers shouldn't register something else unless there's a
38
+ # very good reason to.
39
+ # < 100:: all those numbers are normally available for your application.
40
+ # That's enough, don't you think ?
41
+ class CallbackList
42
+
43
+ # Create a new list of callbacks
44
+ def initialize
45
+ @list = []
46
+ end
47
+
48
+ ##
49
+ # Add a callback to the list
50
+ #
51
+ # List will be sorted afterwards
52
+ #
53
+ # prio:: [Integer] the callback's priority, the higher, the sooner.
54
+ # ref:: [String] the callback's reference
55
+ # block:: [Block] a block to execute
56
+ # return:: [Jabber::CallbackList] The list, for chaining
57
+ def add(prio = 0, ref = nil, proc = nil, &block)
58
+ block = proc if proc
59
+ @list.push(Callback.new(prio, ref, block))
60
+ @list.sort! { |a, b| b.priority <=> a.priority }
61
+ self
62
+ end
63
+
64
+ ##
65
+ # Delete a callback by reference
66
+ # ref:: [String] the reference of the callback to delete
67
+ # return:: [CallBackList] The list, for chaining
68
+ def delete(ref)
69
+ @list.delete_if { |item| item.ref == ref }
70
+ self
71
+ end
72
+
73
+ ##
74
+ # Number of elements in the list
75
+ # return:: [Integer] The number of elements
76
+ def length
77
+ @list.length
78
+ end
79
+
80
+ ##
81
+ # Process an element through all my callbacks. returns e.consumed?
82
+ # e:: [Object] The elements to pass to the callback. You can pass
83
+ # several, but of course, you block must know how to handle them.
84
+ # return:: [Boolean] true if the element has been consumed
85
+ def process(*e)
86
+ # If somebody adds a new callback the list will get modified
87
+ # and sorted(!) while still iterating through it. So we use a
88
+ # local copy of @list. Any freshly added callback will receive
89
+ # the next stanzas, not the current.
90
+ list = @list.dup
91
+
92
+ # process through callbacks
93
+ list.each do |item|
94
+ return true if item.block.call(*e) == true
95
+ end
96
+ false
97
+ end
98
+ end
99
+
100
+ # This class is used to store callbacks inside CallbackList. See the
101
+ # CallbackList class for more detailed explanations.
102
+ class Callback
103
+
104
+ # The Callback's priority
105
+ attr_reader :priority
106
+
107
+ # The Callback's reference, using for deleting purposes
108
+ attr_reader :ref
109
+
110
+ # The Callback's block to execute
111
+ attr_reader :block
112
+
113
+ ##
114
+ # Create a new callback
115
+ # priority:: [Integer] the callback's priority. The higher, the sooner it
116
+ # will be executed
117
+ # ref:: [String] The callback's reference
118
+ def initialize(priority = 0, ref = nil, block = Proc.new {})
119
+ @priority = priority
120
+ @ref = ref
121
+ @block = block
122
+ end
123
+ end
124
+ end