cerberus 0.6 → 0.7

Sign up to get free protection for your applications and to get access to all the features.
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,91 @@
1
+ require 'yaml'
2
+
3
+ # This is a lookup class for IRC event name mapping
4
+ class EventLookup
5
+ @@lookup = YAML.load_file("#{File.dirname(__FILE__)}/eventmap.yml")
6
+
7
+ # returns the event name, given a number
8
+ def EventLookup::find_by_number(num)
9
+ return @@lookup[num.to_i]
10
+ end
11
+ end
12
+
13
+
14
+ # Handles an IRC generated event.
15
+ # Handlers are for the IRC framework to use
16
+ # Callbacks are for users to add.
17
+ # Both handlers and callbacks can be called for the same event.
18
+ class IRCEvent
19
+ @@handlers = { 'ping' => lambda {|event| IRCConnection.send_to_server("PONG #{event.message}") } }
20
+ @@callbacks = Hash.new()
21
+ attr_reader :hostmask, :message, :event_type, :from, :channel, :target, :mode, :stats
22
+ def initialize (line)
23
+ line.sub!(/^:/, '')
24
+ mess_parts = line.split(':', 2);
25
+ # mess_parts[0] is server info
26
+ # mess_parts[1] is the message that was sent
27
+ @message = mess_parts[1]
28
+ @stats = mess_parts[0].scan(/[-`\^\{\}\[\]\w.\#\@\+]+/)
29
+ if @stats[0].match(/^PING/)
30
+ @event_type = 'ping'
31
+ elsif @stats[1] && @stats[1].match(/^\d+/)
32
+ @event_type = EventLookup::find_by_number(@stats[1]);
33
+ @channel = @stats[3]
34
+ else
35
+ @event_type = @stats[2].downcase if @stats[2]
36
+ end
37
+
38
+ if @event_type != 'ping'
39
+ @from = @stats[0]
40
+ @user = IRCUser.create_user(@from)
41
+ end
42
+ # FIXME: this list would probably be more accurate to exclude commands than to include them
43
+ @hostmask = @stats[1] if %W(topic privmsg join).include? @event_type
44
+ @channel = @stats[3] if @stats[3] && !@channel
45
+ @target = @stats[5] if @stats[5]
46
+ @mode = @stats[4] if @stats[4]
47
+ if @mode.nil? && @event_type == 'mode'
48
+ # Server modes (like +i) are sent in the 'message' part, and not
49
+ # the 'stat' part of the message.
50
+ @mode = @message
51
+ end
52
+
53
+ # Unfortunatly, not all messages are created equal. This is our
54
+ # special exceptions section
55
+ if @event_type == 'join'
56
+ @channel = @message
57
+ end
58
+
59
+ end
60
+
61
+ # Adds a callback for the specified irc message.
62
+ def IRCEvent.add_callback(message_id, &callback)
63
+ @@callbacks[message_id] = callback
64
+ end
65
+
66
+ # Adds a handler to the handler function hash.
67
+ def IRCEvent.add_handler(message_id, proc=nil, &handler)
68
+ if block_given?
69
+ @@handlers[message_id] = handler
70
+ elsif proc
71
+ @@handlers[message_id] = proc
72
+ end
73
+ end
74
+
75
+ # Process this event, preforming which ever handler and callback is specified
76
+ # for this event.
77
+ def process
78
+ handled = nil
79
+ if @@handlers[@event_type]
80
+ @@handlers[@event_type].call(self)
81
+ handled = 1
82
+ end
83
+ if @@callbacks[@event_type]
84
+ @@callbacks[@event_type].call(self)
85
+ handled = 1
86
+ end
87
+ if !handled
88
+ end
89
+ end
90
+ end
91
+
@@ -0,0 +1,23 @@
1
+ # Represents IRC Users
2
+ class IRCUser
3
+ @@users = Hash.new()
4
+ @modes = Hash.new()
5
+
6
+ def IRCUser.create_user(username)
7
+ username.sub!(/^[\@\%]/,'')
8
+
9
+ if @@users[username]
10
+ return @@users[username]
11
+ end
12
+ @@users[username] = self.new(username)
13
+ @@users[username]
14
+ end
15
+
16
+ attr_reader :username, :mask
17
+ attr_writer :mask
18
+
19
+ private
20
+ def initialize (username)
21
+ @username = username
22
+ end
23
+ end
@@ -0,0 +1,49 @@
1
+ #
2
+ # IRCUtil is a module that contains utility functions for use with the
3
+ # rest of Ruby-IRC. There is nothing required of the user to know or
4
+ # even use these functions, but they are useful for certain tasks
5
+ # regarding IRC connections.
6
+ #
7
+
8
+ module IRCUtil
9
+ #
10
+ # Matches hostmasks against hosts. Returns t/f on success/fail.
11
+ #
12
+ # A hostmask consists of a simple wildcard that describes a
13
+ # host or class of hosts.
14
+ #
15
+ # f.e., where the host is 'bar.example.com', a host mask
16
+ # of '*.example.com' would assert.
17
+ #
18
+
19
+ def assert_hostmask(host, hostmask)
20
+ return !!host.match(quote_regexp_for_mask(hostmask))
21
+ end
22
+
23
+ module_function :assert_hostmask
24
+
25
+ #
26
+ # A utility function used by assert_hostmask() to turn hostmasks
27
+ # into regular expressions.
28
+ #
29
+ # Rarely, if ever, should be used by outside code. It's public
30
+ # exposure is merely for those who are interested in it's
31
+ # functionality.
32
+ #
33
+
34
+ def quote_regexp_for_mask(hostmask)
35
+ # Big thanks to Jesse Williamson for his consultation while writing this.
36
+ #
37
+ # escape all other regexp specials except for . and *.
38
+ # properly escape . and place an unescaped . before *.
39
+ # confine the regexp to scan the whole line.
40
+ # return the edited hostmask as a string.
41
+ hostmask.gsub(/([\[\]\(\)\?\^\$])\\/, '\\1').
42
+ gsub(/\./, '\.').
43
+ gsub(/\*/, '.*').
44
+ sub(/^/, '^').
45
+ sub(/$/, '$')
46
+ end
47
+
48
+ module_function :quote_regexp_for_mask
49
+ end
@@ -0,0 +1,247 @@
1
+ # 001 ne 1 for the purpose of hash keying apparently.
2
+ 001 : welcome
3
+ 002 : yourhost
4
+ 003 : created
5
+ 004 : myinfo
6
+ 005 : map # Undernet Extension, Kajetan@Hinner.com, 17/11/98
7
+ 006 : mapmore # Undernet Extension, Kajetan@Hinner.com, 17/11/98
8
+ 007 : mapend # Undernet Extension, Kajetan@Hinner.com, 17/11/98
9
+ 008 : snomask # Undernet Extension, Kajetan@Hinner.com, 17/11/98
10
+ 009 : statmemtot # Undernet Extension, Kajetan@Hinner.com, 17/11/98
11
+ 010 : statmem # Undernet Extension, Kajetan@Hinner.com, 17/11/98
12
+ 200 : tracelink
13
+ 201 : traceconnecting
14
+ 202 : tracehandshake
15
+ 203 : traceunknown
16
+ 204 : traceoperator
17
+ 205 : traceuser
18
+ 206 : traceserver
19
+ 208 : tracenewtype
20
+ 209 : traceclass
21
+ 211 : statslinkinfo
22
+ 212 : statscommands
23
+ 213 : statscline
24
+ 214 : statsnline
25
+ 215 : statsiline
26
+ 216 : statskline
27
+ 217 : statsqline
28
+ 218 : statsyline
29
+ 219 : endofstats
30
+ 220 : statsbline # UnrealIrcd, Hendrik Frenzel
31
+ 221 : umodeis
32
+ 222 : sqline_nick # UnrealIrcd, Hendrik Frenzel
33
+ 223 : statsgline # UnrealIrcd, Hendrik Frenzel
34
+ 224 : statstline # UnrealIrcd, Hendrik Frenzel
35
+ 225 : statseline # UnrealIrcd, Hendrik Frenzel
36
+ 226 : statsnline # UnrealIrcd, Hendrik Frenzel
37
+ 227 : statsvline # UnrealIrcd, Hendrik Frenzel
38
+ 231 : serviceinfo
39
+ 232 : endofservices
40
+ 233 : service
41
+ 234 : servlist
42
+ 235 : servlistend
43
+ 241 : statslline
44
+ 242 : statsuptime
45
+ 243 : statsoline
46
+ 244 : statshline
47
+ 245 : statssline # Reserved, Kajetan@Hinner.com, 17/10/98
48
+ 246 : statstline # Undernet Extension, Kajetan@Hinner.com, 17/10/98
49
+ 247 : statsgline # Undernet Extension, Kajetan@Hinner.com, 17/10/98
50
+ ### TODO: need numerics to be able to map to multiple strings
51
+ ### 247 : statsxline # UnrealIrcd, Hendrik Frenzel
52
+ 248 : statsuline # Undernet Extension, Kajetan@Hinner.com, 17/10/98
53
+ 249 : statsdebug # Unspecific Extension, Kajetan@Hinner.com, 17/10/98
54
+ 250 : luserconns # 1998-03-15 -- tkil
55
+ 251 : luserclient
56
+ 252 : luserop
57
+ 253 : luserunknown
58
+ 254 : luserchannels
59
+ 255 : luserme
60
+ 256 : adminme
61
+ 257 : adminloc1
62
+ 258 : adminloc2
63
+ 259 : adminemail
64
+ 261 : tracelog
65
+ 262 : endoftrace # 1997-11-24 -- archon
66
+ 265 : n_local # 1997-10-16 -- tkil
67
+ 266 : n_global # 1997-10-16 -- tkil
68
+ 271 : silelist # Undernet Extension, Kajetan@Hinner.com, 17/10/98
69
+ 272 : endofsilelist # Undernet Extension, Kajetan@Hinner.com, 17/10/98
70
+ 275 : statsdline # Undernet Extension, Kajetan@Hinner.com, 17/10/98
71
+ 280 : glist # Undernet Extension, Kajetan@Hinner.com, 17/10/98
72
+ 281 : endofglist # Undernet Extension, Kajetan@Hinner.com, 17/10/98
73
+ 290 : helphdr # UnrealIrcd, Hendrik Frenzel
74
+ 291 : helpop # UnrealIrcd, Hendrik Frenzel
75
+ 292 : helptlr # UnrealIrcd, Hendrik Frenzel
76
+ 293 : helphlp # UnrealIrcd, Hendrik Frenzel
77
+ 294 : helpfwd # UnrealIrcd, Hendrik Frenzel
78
+ 295 : helpign # UnrealIrcd, Hendrik Frenzel
79
+ 300 : none
80
+ 301 : away
81
+ 302 : userhost
82
+ 303 : ison
83
+ 304 : rpl_text # Bahamut IRCD
84
+ 305 : unaway
85
+ 306 : nowaway
86
+ 307 : userip # Undernet Extension, Kajetan@Hinner.com, 17/10/98
87
+ 308 : rulesstart # UnrealIrcd, Hendrik Frenzel
88
+ 309 : endofrules # UnrealIrcd, Hendrik Frenzel
89
+ 310 : whoishelp # (July01-01)Austnet Extension, found by Andypoo <andypoo@secret.com.au>
90
+ 311 : whoisuser
91
+ 312 : whoisserver
92
+ 313 : whoisoperator
93
+ 314 : whowasuser
94
+ 315 : endofwho
95
+ 316 : whoischanop
96
+ 317 : whoisidle
97
+ 318 : endofwhois
98
+ 319 : whoischannels
99
+ 320 : whoisvworld # (July01-01)Austnet Extension, found by Andypoo <andypoo@secret.com.au>
100
+ 321 : liststart
101
+ 322 : list
102
+ 323 : listend
103
+ 324 : channelmodeis
104
+ 329 : channelcreate # 1997-11-24 -- archon
105
+ 331 : notopic
106
+ 332 : topic
107
+ 333 : topicinfo # 1997-11-24 -- archon
108
+ 334 : listusage # Undernet Extension, Kajetan@Hinner.com, 17/10/98
109
+ 335 : whoisbot # UnrealIrcd, Hendrik Frenzel
110
+ 341 : inviting
111
+ 342 : summoning
112
+ 346 : invitelist # UnrealIrcd, Hendrik Frenzel
113
+ 347 : endofinvitelist # UnrealIrcd, Hendrik Frenzel
114
+ 348 : exlist # UnrealIrcd, Hendrik Frenzel
115
+ 349 : endofexlist # UnrealIrcd, Hendrik Frenzel
116
+ 351 : version
117
+ 352 : whoreply
118
+ 353 : namreply
119
+ 354 : whospcrpl # Undernet Extension, Kajetan@Hinner.com, 17/10/98
120
+ 361 : killdone
121
+ 362 : closing
122
+ 363 : closeend
123
+ 364 : links
124
+ 365 : endoflinks
125
+ 366 : endofnames
126
+ 367 : banlist
127
+ 368 : endofbanlist
128
+ 369 : endofwhowas
129
+ 371 : info
130
+ 372 : motd
131
+ 373 : infostart
132
+ 374 : endofinfo
133
+ 375 : motdstart
134
+ 376 : endofmotd
135
+ 377 : motd2 # 1997-10-16 -- tkil
136
+ 378 : austmotd # (July01-01)Austnet Extension, found by Andypoo <andypoo@secret.com.au>
137
+ 379 : whoismodes # UnrealIrcd, Hendrik Frenzel
138
+ 381 : youreoper
139
+ 382 : rehashing
140
+ 383 : youreservice # UnrealIrcd, Hendrik Frenzel
141
+ 384 : myportis
142
+ 385 : notoperanymore # Unspecific Extension, Kajetan@Hinner.com, 17/10/98
143
+ 386 : qlist # UnrealIrcd, Hendrik Frenzel
144
+ 387 : endofqlist # UnrealIrcd, Hendrik Frenzel
145
+ 388 : alist # UnrealIrcd, Hendrik Frenzel
146
+ 389 : endofalist # UnrealIrcd, Hendrik Frenzel
147
+ 391 : time
148
+ 392 : usersstart
149
+ 393 : users
150
+ 394 : endofusers
151
+ 395 : nousers
152
+ 401 : nosuchnick
153
+ 402 : nosuchserver
154
+ 403 : nosuchchannel
155
+ 404 : cannotsendtochan
156
+ 405 : toomanychannels
157
+ 406 : wasnosuchnick
158
+ 407 : toomanytargets
159
+ 408 : nosuchservice # UnrealIrcd, Hendrik Frenzel
160
+ 409 : noorigin
161
+ 411 : norecipient
162
+ 412 : notexttosend
163
+ 413 : notoplevel
164
+ 414 : wildtoplevel
165
+ 416 : querytoolong # Undernet Extension, Kajetan@Hinner.com, 17/10/98
166
+ 421 : unknowncommand
167
+ 422 : nomotd
168
+ 423 : noadmininfo
169
+ 424 : fileerror
170
+ 425 : noopermotd # UnrealIrcd, Hendrik Frenzel
171
+ 431 : nonicknamegiven
172
+ 432 : erroneusnickname # This iz how its speld in thee RFC.
173
+ 433 : nicknameinuse
174
+ 434 : norules # UnrealIrcd, Hendrik Frenzel
175
+ 435 : serviceconfused # UnrealIrcd, Hendrik Frenzel
176
+ 436 : nickcollision
177
+ 437 : bannickchange # Undernet Extension, Kajetan@Hinner.com, 17/10/98
178
+ 438 : nicktoofast # Undernet Extension, Kajetan@Hinner.com, 17/10/98
179
+ 439 : targettoofast # Undernet Extension, Kajetan@Hinner.com, 17/10/98
180
+ 440 : servicesdown # Bahamut IRCD
181
+ 441 : usernotinchannel
182
+ 442 : notonchannel
183
+ 443 : useronchannel
184
+ 444 : nologin
185
+ 445 : summondisabled
186
+ 446 : usersdisabled
187
+ 447 : nonickchange # UnrealIrcd, Hendrik Frenzel
188
+ 451 : notregistered
189
+ 455 : hostilename # UnrealIrcd, Hendrik Frenzel
190
+ 459 : nohiding # UnrealIrcd, Hendrik Frenzel
191
+ 460 : notforhalfops # UnrealIrcd, Hendrik Frenzel
192
+ 461 : needmoreparams
193
+ 462 : alreadyregistered
194
+ 463 : nopermforhost
195
+ 464 : passwdmismatch
196
+ 465 : yourebannedcreep # I love this one...
197
+ 466 : youwillbebanned
198
+ 467 : keyset
199
+ 468 : invalidusername # Undernet Extension, Kajetan@Hinner.com, 17/10/98
200
+ 469 : linkset # UnrealIrcd, Hendrik Frenzel
201
+ 470 : linkchannel # UnrealIrcd, Hendrik Frenzel
202
+ 471 : channelisfull
203
+ 472 : unknownmode
204
+ 473 : inviteonlychan
205
+ 474 : bannedfromchan
206
+ 475 : badchannelkey
207
+ 476 : badchanmask
208
+ 477 : needreggednick # Bahamut IRCD
209
+ 478 : banlistfull # Undernet Extension, Kajetan@Hinner.com, 17/10/98
210
+ 479 : secureonlychannel # pircd
211
+ ### TODO: see above todo
212
+ ### 479 : linkfail # UnrealIrcd, Hendrik Frenzel
213
+ 480 : cannotknock # UnrealIrcd, Hendrik Frenzel
214
+ 481 : noprivileges
215
+ 482 : chanoprivsneeded
216
+ 483 : cantkillserver
217
+ 484 : ischanservice # Undernet Extension, Kajetan@Hinner.com, 17/10/98
218
+ 485 : killdeny # UnrealIrcd, Hendrik Frenzel
219
+ 486 : htmdisabled # UnrealIrcd, Hendrik Frenzel
220
+ 489 : secureonlychan # UnrealIrcd, Hendrik Frenzel
221
+ 491 : nooperhost
222
+ 492 : noservicehost
223
+ 501 : umodeunknownflag
224
+ 502 : usersdontmatch
225
+ 511 : silelistfull # Undernet Extension, Kajetan@Hinner.com, 17/10/98
226
+ 513 : nosuchgline # Undernet Extension, Kajetan@Hinner.com, 17/10/98
227
+ 513 : badping # Undernet Extension, Kajetan@Hinner.com, 17/10/98
228
+ 518 : noinvite # UnrealIrcd, Hendrik Frenzel
229
+ 519 : admonly # UnrealIrcd, Hendrik Frenzel
230
+ 520 : operonly # UnrealIrcd, Hendrik Frenzel
231
+ 521 : listsyntax # UnrealIrcd, Hendrik Frenzel
232
+ 524 : operspverify # UnrealIrcd, Hendrik Frenzel
233
+
234
+ 600 : rpl_logon # Bahamut IRCD
235
+ 601 : rpl_logoff # Bahamut IRCD
236
+ 602 : rpl_watchoff # UnrealIrcd, Hendrik Frenzel
237
+ 603 : rpl_watchstat # UnrealIrcd, Hendrik Frenzel
238
+ 604 : rpl_nowon # Bahamut IRCD
239
+ 605 : rpl_nowoff # Bahamut IRCD
240
+ 606 : rpl_watchlist # UnrealIrcd, Hendrik Frenzel
241
+ 607 : rpl_endofwatchlist # UnrealIrcd, Hendrik Frenzel
242
+ 610 : mapmore # UnrealIrcd, Hendrik Frenzel
243
+ 640 : rpl_dumping # UnrealIrcd, Hendrik Frenzel
244
+ 641 : rpl_dumprpl # UnrealIrcd, Hendrik Frenzel
245
+ 642 : rpl_eodump # UnrealIrcd, Hendrik Frenzel
246
+
247
+ 999 : numericerror # Bahamut IRCD
@@ -0,0 +1,129 @@
1
+ = CHANGES
2
+
3
+ Catalog(ue) of changes for Twitter4R 0.1.x releases including Retrospectiva ticket cross-reference numbers. Refer to http://retro.tautology.net/projects/twitter4r/tickets for more information.
4
+
5
+ == 0.3.1 Changes
6
+ *
7
+ * Added specs for Twitter::Client#profile (:info, :colors and :device cases)
8
+ * Added Twitter4R shell
9
+ * Improved code coverage for twitter/ext/stdlib code and removed hard coded extension in GET request path for retrieving account information
10
+ * Changed Twitter::RESTError super class to be RuntimeError instead of Exception
11
+ * Added URI.encode => CGI.escape fix
12
+ * Added block methods
13
+ * Added Twitter::Client#inspect method to XXXX out passwords
14
+ * Minor refactoring of spec/spec_helper.rb
15
+ * Added support for :page, :lite and :since options for Twitter::User#followers, Twitter::Client#my([:friends|:followers]...) and Twitter::Client#user([:friends|:followers]...)calls
16
+ * Added Twitter::Client.status(:replies) support
17
+
18
+
19
+ == 0.3.0 Changes
20
+ * Bunch of changes, but forgot to track them and too lazy to look through the SVN/Git logs. Sorry.
21
+
22
+ == 0.2.5 Changes
23
+
24
+ === 2007-09-23
25
+ * Added paging support as per Sergio Santos' request (#36).
26
+
27
+ == 0.2.4 Changes
28
+
29
+ === 2007-07-24
30
+ * Fixed ActiveSupport +Time#to_s+ conflict such that integration with Rails is much less painful (#34)
31
+
32
+ == 0.2.3 Changes
33
+
34
+ === 2007-07-22
35
+ * Fixed defect #31 such that passing string screen name as for user argument is handled correctly.
36
+ * Fixed #30 typo: respond_to -> respond_to?
37
+ * Added relevant exception handling for #message(:post, ...) case (#32)
38
+ * Add ability to pass in Twitter::User object to Twitter::Client#user(...) #33
39
+ * Added stats Rake task
40
+ * Updated RDoc for Twitter::Client#user to warn against using it to get followers of authenticated user and updated ArgumentError raising logic as per #29.
41
+
42
+ == 0.2.2 Changes
43
+
44
+ === 2007-07-18
45
+ * Fixed URI paths for user, messaging and friendship APIs (#25)
46
+ * Added action checks for Twitter::Client methods: #user, #my, #message, #messages, #status, #timeline, #friend (#26)
47
+ * Added 'source' configuration documentation.
48
+ * Added missing attributes for Twitter::User (#28)
49
+
50
+ == 0.2.1 Changes
51
+
52
+ === 2007-07-17
53
+ * Added 'source' feature and configurability.
54
+
55
+ == 0.2.0 Changes
56
+
57
+ === 2007-07-08
58
+ * Added featured users API as an "extra" (#19).
59
+ * Productionized website for publishing.
60
+ * Published Ruby Gem on Rubyforge.
61
+
62
+ === 2007-07-07
63
+ * Refactored Twitter4R API to be more consistent, by grouping APIs (#6):
64
+ - Messaging APIs: direct_messages, new, destroy, replies
65
+ - Friendship APIs: create, destroy
66
+ * Added following features (#7):
67
+ - Retrieving direct messages
68
+ - User APIs: friends, followers, show
69
+ * Updated documentation and example code.
70
+
71
+ === 2007-07-06
72
+ * Refactored Twitter4R API to be more consistent, by grouping APIs (#6):
73
+ - Status APIs: show, update, destroy
74
+ - User APIs: friends, followers, show
75
+ * Added X-Twitter-Client HTTP headers and Twitter::Config options (#16)
76
+ * Removed redundant feature (#8):
77
+ - Followers timeline
78
+ * Refactored HTTP request/response code to DRY up code.
79
+ * Fix REST error handling to use #is_a?(HTTPSuccess) instead of code in ['200', '201'] to determine REST error (#15).
80
+
81
+ === 2007-06-25
82
+ * Updated example documentation (#14)
83
+ * Refactored marshaling unmarshaling code (#13)
84
+
85
+ === 2007-06-20
86
+ * Added proxy user/pass support. Tested only via endo-testing. (No system/integration testing behind real proxy as I do not have that environment).
87
+
88
+
89
+ === 2007-06-17
90
+ * Refactored Twitter4R API to be more consistent, by grouping APIs (#6):
91
+ - Timeline APIs: public, friends, user
92
+
93
+ === 2007-06-13
94
+ * Added RSpec Autotest integration
95
+ * Fixed Twitter::Meta generation of spec for hash values
96
+ * Added HTTP header to each request including generated User-Agent header
97
+ * Added RCovMorpher and template to restyle RCov output upon release
98
+ * Added Gemspec dependencies and requirements
99
+ * Added default tidy YAML configuration file for RCovMorpher
100
+ * Added Contributors list and updated external dependencies list to README
101
+ * Removed shebang from examples
102
+
103
+ === 2007-06-12
104
+ * Added proxy support as per Kaiichi Matsunaga submitted patch (#11).
105
+ * Added SSL support (#12)
106
+
107
+ === 2007-05-19
108
+ * Translated RSpec specifications from 0.8.2 compliant to 1.0.0 (#10)
109
+
110
+ == 0.1.1 Changes
111
+
112
+ === 2007-06-25
113
+ * Added SSL support (#12)
114
+ * Added Proxy support (#11)
115
+
116
+ == 0.1.0 Changes
117
+
118
+ === 2007-05-08
119
+ * Added Google Analytics Javascript code to website pages (#5)
120
+
121
+ === 2007-05-07
122
+ * Fixed errors in online sample code documentation and redeployed website (#2 and #3)
123
+ * Created more consistent RDoc theme to go more with website home page (#4)
124
+
125
+ === 2007-05-06
126
+ * Initial revision of codebase commited; includes:
127
+ - Achieved 80% Twitter API feature-completeness
128
+ - Attained 100% RSpec C0 code coverage
129
+ - Rake tasks for: RSpec, RCov, RDoc, Gem, Rubyforge Publishing, etc.