middleman 0.10.17 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2682) hide show
  1. data/Rakefile +1 -1
  2. data/VERSION +1 -1
  3. data/middleman.gemspec +2 -2680
  4. metadata +1 -2679
  5. data/vendor/gems/cache/builder-2.1.2.gem +0 -0
  6. data/vendor/gems/cache/compass-0.8.17.gem +0 -0
  7. data/vendor/gems/cache/configuration-1.1.0.gem +0 -0
  8. data/vendor/gems/cache/cucumber-0.4.4.gem +0 -0
  9. data/vendor/gems/cache/daemons-1.0.10.gem +0 -0
  10. data/vendor/gems/cache/diff-lcs-1.1.2.gem +0 -0
  11. data/vendor/gems/cache/eventmachine-0.12.10.gem +0 -0
  12. data/vendor/gems/cache/extlib-0.9.13.gem +0 -0
  13. data/vendor/gems/cache/haml-2.2.13.gem +0 -0
  14. data/vendor/gems/cache/highline-1.5.1.gem +0 -0
  15. data/vendor/gems/cache/json-1.2.0.gem +0 -0
  16. data/vendor/gems/cache/launchy-0.3.3.gem +0 -0
  17. data/vendor/gems/cache/polyglot-0.2.9.gem +0 -0
  18. data/vendor/gems/cache/rack-1.0.1.gem +0 -0
  19. data/vendor/gems/cache/rack-test-0.5.1.gem +0 -0
  20. data/vendor/gems/cache/rack-test-0.5.2.gem +0 -0
  21. data/vendor/gems/cache/rake-0.8.7.gem +0 -0
  22. data/vendor/gems/cache/rdoc-2.4.3.gem +0 -0
  23. data/vendor/gems/cache/rspec-1.2.9.gem +0 -0
  24. data/vendor/gems/cache/sdoc-0.2.14.1.gem +0 -0
  25. data/vendor/gems/cache/shotgun-0.4.gem +0 -0
  26. data/vendor/gems/cache/sinatra-0.9.4.gem +0 -0
  27. data/vendor/gems/cache/sinatra-content-for-0.2.gem +0 -0
  28. data/vendor/gems/cache/sprockets-1.0.2.gem +0 -0
  29. data/vendor/gems/cache/templater-1.0.0.gem +0 -0
  30. data/vendor/gems/cache/term-ansicolor-1.0.4.gem +0 -0
  31. data/vendor/gems/cache/thin-1.2.5.gem +0 -0
  32. data/vendor/gems/cache/treetop-1.4.2.gem +0 -0
  33. data/vendor/gems/cache/yui-compressor-0.9.1.gem +0 -0
  34. data/vendor/gems/environment.rb +0 -158
  35. data/vendor/gems/gems/builder-2.1.2/CHANGES +0 -85
  36. data/vendor/gems/gems/builder-2.1.2/README +0 -210
  37. data/vendor/gems/gems/builder-2.1.2/Rakefile +0 -263
  38. data/vendor/gems/gems/builder-2.1.2/doc/releases/builder-1.2.4.rdoc +0 -31
  39. data/vendor/gems/gems/builder-2.1.2/doc/releases/builder-2.0.0.rdoc +0 -46
  40. data/vendor/gems/gems/builder-2.1.2/doc/releases/builder-2.1.1.rdoc +0 -58
  41. data/vendor/gems/gems/builder-2.1.2/lib/blankslate.rb +0 -113
  42. data/vendor/gems/gems/builder-2.1.2/lib/builder.rb +0 -13
  43. data/vendor/gems/gems/builder-2.1.2/lib/builder/blankslate.rb +0 -20
  44. data/vendor/gems/gems/builder-2.1.2/lib/builder/xchar.rb +0 -115
  45. data/vendor/gems/gems/builder-2.1.2/lib/builder/xmlbase.rb +0 -139
  46. data/vendor/gems/gems/builder-2.1.2/lib/builder/xmlevents.rb +0 -63
  47. data/vendor/gems/gems/builder-2.1.2/lib/builder/xmlmarkup.rb +0 -328
  48. data/vendor/gems/gems/builder-2.1.2/scripts/publish.rb +0 -17
  49. data/vendor/gems/gems/builder-2.1.2/test/performance.rb +0 -30
  50. data/vendor/gems/gems/builder-2.1.2/test/preload.rb +0 -29
  51. data/vendor/gems/gems/builder-2.1.2/test/test_xchar.rb +0 -37
  52. data/vendor/gems/gems/builder-2.1.2/test/testblankslate.rb +0 -183
  53. data/vendor/gems/gems/builder-2.1.2/test/testeventbuilder.rb +0 -133
  54. data/vendor/gems/gems/builder-2.1.2/test/testmarkupbuilder.rb +0 -449
  55. data/vendor/gems/gems/compass-0.8.17/CHANGELOG.markdown +0 -557
  56. data/vendor/gems/gems/compass-0.8.17/LICENSE.markdown +0 -29
  57. data/vendor/gems/gems/compass-0.8.17/README.markdown +0 -44
  58. data/vendor/gems/gems/compass-0.8.17/REVISION +0 -1
  59. data/vendor/gems/gems/compass-0.8.17/Rakefile +0 -127
  60. data/vendor/gems/gems/compass-0.8.17/VERSION.yml +0 -4
  61. data/vendor/gems/gems/compass-0.8.17/bin/compass +0 -8
  62. data/vendor/gems/gems/compass-0.8.17/deps.rip +0 -1
  63. data/vendor/gems/gems/compass-0.8.17/examples/README.markdown +0 -4
  64. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/config.rb +0 -7
  65. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/images/grid.png +0 -0
  66. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/index.html.haml +0 -85
  67. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/elements.html.haml +0 -282
  68. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/forms.html.haml +0 -190
  69. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/grid.html.haml +0 -274
  70. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/test-small.jpg +0 -0
  71. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/test.jpg +0 -0
  72. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/valid.png +0 -0
  73. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/ie.sass +0 -3
  74. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/images/grid.png +0 -0
  75. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/print.sass +0 -3
  76. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/screen.sass +0 -8
  77. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/config.rb +0 -8
  78. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/buttons/cross.png +0 -0
  79. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/buttons/key.png +0 -0
  80. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/buttons/tick.png +0 -0
  81. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/grid.png +0 -0
  82. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/doc.png +0 -0
  83. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/email.png +0 -0
  84. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/external.png +0 -0
  85. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/feed.png +0 -0
  86. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/im.png +0 -0
  87. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/pdf.png +0 -0
  88. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/visited.png +0 -0
  89. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/xls.png +0 -0
  90. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/test-small.jpg +0 -0
  91. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/test.jpg +0 -0
  92. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/valid.png +0 -0
  93. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/index.html.haml +0 -96
  94. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/buttons.html.haml +0 -67
  95. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/fancy_type.html.haml +0 -100
  96. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/link_icons.html.haml +0 -61
  97. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/rtl.html.haml +0 -100
  98. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/buttons.sass +0 -49
  99. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/ie.sass +0 -3
  100. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/images/grid.png +0 -0
  101. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/link_icons.sass +0 -13
  102. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/print.sass +0 -3
  103. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/rtl_screen.sass +0 -13
  104. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/screen.sass +0 -11
  105. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped/images/grid.png +0 -0
  106. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped/src/ie.sass +0 -3
  107. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped/src/print.sass +0 -3
  108. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped/src/screen.sass +0 -4
  109. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped_form/images/grid.png +0 -0
  110. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped_form/src/ie.sass +0 -3
  111. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped_form/src/print.sass +0 -3
  112. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped_form/src/screen.sass +0 -10
  113. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/config.rb +0 -7
  114. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/images/grid.png +0 -0
  115. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/index.html.haml +0 -86
  116. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/parts/fancy_type.html.haml +0 -100
  117. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/parts/liquid.html.haml +0 -100
  118. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/parts/test-small.jpg +0 -0
  119. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/parts/test.jpg +0 -0
  120. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/parts/valid.png +0 -0
  121. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/src/ie.sass +0 -3
  122. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/src/images/grid.png +0 -0
  123. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/src/liquid.sass +0 -70
  124. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/src/print.sass +0 -3
  125. data/vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/src/screen.sass +0 -71
  126. data/vendor/gems/gems/compass-0.8.17/examples/compass/compass.html.haml +0 -39
  127. data/vendor/gems/gems/compass-0.8.17/examples/compass/config.rb +0 -7
  128. data/vendor/gems/gems/compass-0.8.17/examples/compass/images/blue_arrow.gif +0 -0
  129. data/vendor/gems/gems/compass-0.8.17/examples/compass/src/compass.sass +0 -47
  130. data/vendor/gems/gems/compass-0.8.17/examples/compass/src/images/blue_arrow.gif +0 -0
  131. data/vendor/gems/gems/compass-0.8.17/examples/compass/src/sticky_footer.sass +0 -11
  132. data/vendor/gems/gems/compass-0.8.17/examples/compass/src/utilities.sass +0 -108
  133. data/vendor/gems/gems/compass-0.8.17/examples/compass/sticky_footer.html.haml +0 -14
  134. data/vendor/gems/gems/compass-0.8.17/examples/compass/utilities.html.haml +0 -189
  135. data/vendor/gems/gems/compass-0.8.17/examples/logo/logo.html.haml +0 -40
  136. data/vendor/gems/gems/compass-0.8.17/examples/logo/src/ie.sass +0 -6
  137. data/vendor/gems/gems/compass-0.8.17/examples/logo/src/print.sass +0 -6
  138. data/vendor/gems/gems/compass-0.8.17/examples/logo/src/screen.sass +0 -29
  139. data/vendor/gems/gems/compass-0.8.17/examples/yui/divisions.html.haml +0 -179
  140. data/vendor/gems/gems/compass-0.8.17/examples/yui/index.html.haml +0 -19
  141. data/vendor/gems/gems/compass-0.8.17/examples/yui/src/screen.sass +0 -13
  142. data/vendor/gems/gems/compass-0.8.17/examples/yui/sub_divisions.html.haml +0 -169
  143. data/vendor/gems/gems/compass-0.8.17/examples/yui/templates.html.haml +0 -54
  144. data/vendor/gems/gems/compass-0.8.17/examples/yui/test.jpg +0 -0
  145. data/vendor/gems/gems/compass-0.8.17/examples/yui/typography.html.haml +0 -132
  146. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint.rb +0 -2
  147. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/_blueprint.sass +0 -3
  148. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/_ie.sass +0 -93
  149. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/_print.sass +0 -83
  150. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/_reset.sass +0 -3
  151. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/_screen.sass +0 -15
  152. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_buttons.sass +0 -84
  153. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_colors.sass +0 -33
  154. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_debug.sass +0 -9
  155. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_fancy_type.sass +0 -82
  156. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_form.sass +0 -55
  157. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_grid.sass +0 -178
  158. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_interaction.sass +0 -58
  159. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_link_icons.sass +0 -44
  160. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_liquid.sass +0 -141
  161. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_reset.sass +0 -56
  162. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_rtl.sass +0 -104
  163. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_scaffolding.sass +0 -47
  164. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass +0 -155
  165. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_utilities.sass +0 -37
  166. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/buttons/buttons.sass +0 -49
  167. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/buttons/buttons/cross.png +0 -0
  168. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/buttons/buttons/key.png +0 -0
  169. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/buttons/buttons/tick.png +0 -0
  170. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/buttons/manifest.rb +0 -5
  171. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons.sass +0 -13
  172. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/doc.png +0 -0
  173. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/email.png +0 -0
  174. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/external.png +0 -0
  175. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/feed.png +0 -0
  176. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/im.png +0 -0
  177. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/pdf.png +0 -0
  178. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/visited.png +0 -0
  179. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/xls.png +0 -0
  180. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/manifest.rb +0 -10
  181. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/project/grid.png +0 -0
  182. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/project/ie.sass +0 -15
  183. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/project/manifest.rb +0 -6
  184. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/project/partials/_base.sass +0 -11
  185. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/project/print.sass +0 -3
  186. data/vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/project/screen.sass +0 -40
  187. data/vendor/gems/gems/compass-0.8.17/frameworks/compass.rb +0 -2
  188. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/_compass.sass +0 -1
  189. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/_layout.sass +0 -1
  190. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/_misc.sass +0 -24
  191. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/_reset.sass +0 -3
  192. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/_utilities.sass +0 -6
  193. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/layout/_sticky_footer.sass +0 -17
  194. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_general.sass +0 -6
  195. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_links.sass +0 -3
  196. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_lists.sass +0 -3
  197. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_print.sass +0 -24
  198. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_sprites.sass +0 -1
  199. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_tables.sass +0 -3
  200. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_text.sass +0 -2
  201. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.sass +0 -24
  202. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_float.sass +0 -17
  203. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_hacks.sass +0 -6
  204. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_inline_block.sass +0 -6
  205. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_reset.sass +0 -134
  206. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_tabs.sass +0 -0
  207. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_tag_cloud.sass +0 -19
  208. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/links/_hover_link.sass +0 -5
  209. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/links/_link_colors.sass +0 -24
  210. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/links/_unstyled_link.sass +0 -5
  211. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/lists/_bullets.sass +0 -21
  212. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/lists/_horizontal_list.sass +0 -52
  213. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/lists/_inline_list.sass +0 -29
  214. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite_img.sass +0 -12
  215. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/tables/_alternating_rows_and_columns.sass +0 -20
  216. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/tables/_borders.sass +0 -27
  217. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.sass +0 -9
  218. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.sass +0 -13
  219. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/text/_nowrap.sass +0 -3
  220. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/text/_replacement.sass +0 -17
  221. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/ellipsis/ellipsis.sass +0 -6
  222. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/ellipsis/manifest.rb +0 -2
  223. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/ellipsis/xml/ellipsis.xml +0 -14
  224. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/project/ie.sass +0 -6
  225. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/project/manifest.rb +0 -3
  226. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/project/print.sass +0 -6
  227. data/vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/project/screen.sass +0 -13
  228. data/vendor/gems/gems/compass-0.8.17/frameworks/yui.rb +0 -2
  229. data/vendor/gems/gems/compass-0.8.17/frameworks/yui/stylesheets/_yui.sass +0 -7
  230. data/vendor/gems/gems/compass-0.8.17/frameworks/yui/stylesheets/yui/modules/_base.sass +0 -60
  231. data/vendor/gems/gems/compass-0.8.17/frameworks/yui/stylesheets/yui/modules/_fonts.sass +0 -38
  232. data/vendor/gems/gems/compass-0.8.17/frameworks/yui/stylesheets/yui/modules/_grids.sass +0 -341
  233. data/vendor/gems/gems/compass-0.8.17/frameworks/yui/stylesheets/yui/modules/_reset.sass +0 -61
  234. data/vendor/gems/gems/compass-0.8.17/frameworks/yui/templates/project/manifest.rb +0 -1
  235. data/vendor/gems/gems/compass-0.8.17/frameworks/yui/templates/project/screen.sass +0 -4
  236. data/vendor/gems/gems/compass-0.8.17/lib/compass.rb +0 -23
  237. data/vendor/gems/gems/compass-0.8.17/lib/compass/actions.rb +0 -110
  238. data/vendor/gems/gems/compass-0.8.17/lib/compass/app_integration.rb +0 -5
  239. data/vendor/gems/gems/compass-0.8.17/lib/compass/app_integration/merb.rb +0 -43
  240. data/vendor/gems/gems/compass-0.8.17/lib/compass/app_integration/rails.rb +0 -12
  241. data/vendor/gems/gems/compass-0.8.17/lib/compass/app_integration/rails/action_controller.rb +0 -15
  242. data/vendor/gems/gems/compass-0.8.17/lib/compass/app_integration/rails/sass_plugin.rb +0 -5
  243. data/vendor/gems/gems/compass-0.8.17/lib/compass/app_integration/rails/templates/compass-install-rails.rb +0 -80
  244. data/vendor/gems/gems/compass-0.8.17/lib/compass/app_integration/rails/urls.rb +0 -14
  245. data/vendor/gems/gems/compass-0.8.17/lib/compass/commands/base.rb +0 -33
  246. data/vendor/gems/gems/compass-0.8.17/lib/compass/commands/create_project.rb +0 -19
  247. data/vendor/gems/gems/compass-0.8.17/lib/compass/commands/generate_grid_background.rb +0 -24
  248. data/vendor/gems/gems/compass-0.8.17/lib/compass/commands/installer_command.rb +0 -31
  249. data/vendor/gems/gems/compass-0.8.17/lib/compass/commands/list_frameworks.rb +0 -16
  250. data/vendor/gems/gems/compass-0.8.17/lib/compass/commands/print_version.rb +0 -23
  251. data/vendor/gems/gems/compass-0.8.17/lib/compass/commands/project_base.rb +0 -112
  252. data/vendor/gems/gems/compass-0.8.17/lib/compass/commands/stamp_pattern.rb +0 -33
  253. data/vendor/gems/gems/compass-0.8.17/lib/compass/commands/update_project.rb +0 -34
  254. data/vendor/gems/gems/compass-0.8.17/lib/compass/commands/validate_project.rb +0 -21
  255. data/vendor/gems/gems/compass-0.8.17/lib/compass/commands/watch_project.rb +0 -64
  256. data/vendor/gems/gems/compass-0.8.17/lib/compass/commands/write_configuration.rb +0 -28
  257. data/vendor/gems/gems/compass-0.8.17/lib/compass/compiler.rb +0 -54
  258. data/vendor/gems/gems/compass-0.8.17/lib/compass/configuration.rb +0 -324
  259. data/vendor/gems/gems/compass-0.8.17/lib/compass/core_ext.rb +0 -14
  260. data/vendor/gems/gems/compass-0.8.17/lib/compass/dependencies.rb +0 -10
  261. data/vendor/gems/gems/compass-0.8.17/lib/compass/errors.rb +0 -7
  262. data/vendor/gems/gems/compass-0.8.17/lib/compass/exec.rb +0 -251
  263. data/vendor/gems/gems/compass-0.8.17/lib/compass/frameworks.rb +0 -29
  264. data/vendor/gems/gems/compass-0.8.17/lib/compass/grid_builder.rb +0 -72
  265. data/vendor/gems/gems/compass-0.8.17/lib/compass/installers.rb +0 -5
  266. data/vendor/gems/gems/compass-0.8.17/lib/compass/installers/base.rb +0 -158
  267. data/vendor/gems/gems/compass-0.8.17/lib/compass/installers/manifest.rb +0 -58
  268. data/vendor/gems/gems/compass-0.8.17/lib/compass/installers/rails.rb +0 -135
  269. data/vendor/gems/gems/compass-0.8.17/lib/compass/installers/stand_alone.rb +0 -60
  270. data/vendor/gems/gems/compass-0.8.17/lib/compass/logger.rb +0 -42
  271. data/vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions.rb +0 -5
  272. data/vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/functions.rb +0 -19
  273. data/vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/functions/display.rb +0 -22
  274. data/vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/functions/enumerate.rb +0 -6
  275. data/vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/functions/inline_image.rb +0 -35
  276. data/vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/functions/selectors.rb +0 -39
  277. data/vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/functions/urls.rb +0 -105
  278. data/vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/monkey_patches.rb +0 -3
  279. data/vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/monkey_patches/stylesheet_updating.rb +0 -23
  280. data/vendor/gems/gems/compass-0.8.17/lib/compass/test_case.rb +0 -38
  281. data/vendor/gems/gems/compass-0.8.17/lib/compass/validator.rb +0 -10
  282. data/vendor/gems/gems/compass-0.8.17/lib/compass/version.rb +0 -57
  283. data/vendor/gems/gems/compass-0.8.17/lib/vendor/fssm.rb +0 -41
  284. data/vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/backends/fsevents.rb +0 -37
  285. data/vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/backends/polling.rb +0 -26
  286. data/vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/cache.rb +0 -193
  287. data/vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/ext.rb +0 -37
  288. data/vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/fsevents.rb +0 -129
  289. data/vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/monitor.rb +0 -25
  290. data/vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/path.rb +0 -91
  291. data/vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/state.rb +0 -54
  292. data/vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/support.rb +0 -22
  293. data/vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/tree.rb +0 -176
  294. data/vendor/gems/gems/compass-0.8.17/test/command_line_helper.rb +0 -102
  295. data/vendor/gems/gems/compass-0.8.17/test/command_line_test.rb +0 -66
  296. data/vendor/gems/gems/compass-0.8.17/test/compass_test.rb +0 -141
  297. data/vendor/gems/gems/compass-0.8.17/test/configuration_test.rb +0 -118
  298. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/config.rb +0 -9
  299. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/css/typography.css +0 -158
  300. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/images/grid.png +0 -0
  301. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/sass/ie.sass +0 -3
  302. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/sass/print.sass +0 -3
  303. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/sass/screen.sass +0 -17
  304. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/sass/typography.sass +0 -3
  305. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/config.rb +0 -9
  306. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/css/layout.css +0 -13
  307. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/css/print.css +0 -18
  308. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/css/reset.css +0 -60
  309. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/css/utilities.css +0 -17
  310. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/sass/layout.sass +0 -3
  311. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/sass/print.sass +0 -5
  312. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/sass/reset.sass +0 -10
  313. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/sass/utilities.sass +0 -6
  314. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/image_urls/config.rb +0 -17
  315. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/image_urls/css/screen.css +0 -3
  316. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/image_urls/images/grid.png +0 -0
  317. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/image_urls/sass/screen.sass +0 -6
  318. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/yui/config.rb +0 -9
  319. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/yui/css/mixins.css +0 -13
  320. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/yui/sass/base.sass +0 -3
  321. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/yui/sass/fonts.sass +0 -3
  322. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/yui/sass/grids.sass +0 -3
  323. data/vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/yui/sass/mixins.sass +0 -16
  324. data/vendor/gems/gems/compass-0.8.17/test/rails_integration_test.rb +0 -83
  325. data/vendor/gems/gems/compass-0.8.17/test/sass_extensions_test.rb +0 -31
  326. data/vendor/gems/gems/compass-0.8.17/test/test_case_helper.rb +0 -13
  327. data/vendor/gems/gems/compass-0.8.17/test/test_helper.rb +0 -21
  328. data/vendor/gems/gems/compass-0.8.17/test/test_rails_helper.rb +0 -20
  329. data/vendor/gems/gems/configuration-1.1.0/README +0 -197
  330. data/vendor/gems/gems/configuration-1.1.0/README.erb +0 -69
  331. data/vendor/gems/gems/configuration-1.1.0/Rakefile +0 -241
  332. data/vendor/gems/gems/configuration-1.1.0/config/a.rb +0 -5
  333. data/vendor/gems/gems/configuration-1.1.0/config/b.rb +0 -19
  334. data/vendor/gems/gems/configuration-1.1.0/config/c.rb +0 -8
  335. data/vendor/gems/gems/configuration-1.1.0/config/d.rb +0 -5
  336. data/vendor/gems/gems/configuration-1.1.0/config/e.rb +0 -13
  337. data/vendor/gems/gems/configuration-1.1.0/configuration.gemspec +0 -28
  338. data/vendor/gems/gems/configuration-1.1.0/lib/configuration.rb +0 -199
  339. data/vendor/gems/gems/configuration-1.1.0/samples/a.rb +0 -11
  340. data/vendor/gems/gems/configuration-1.1.0/samples/b.rb +0 -11
  341. data/vendor/gems/gems/configuration-1.1.0/samples/c.rb +0 -11
  342. data/vendor/gems/gems/configuration-1.1.0/samples/d.rb +0 -14
  343. data/vendor/gems/gems/configuration-1.1.0/samples/e.rb +0 -12
  344. data/vendor/gems/gems/cucumber-0.4.4/.gitattributes +0 -1
  345. data/vendor/gems/gems/cucumber-0.4.4/.gitignore +0 -17
  346. data/vendor/gems/gems/cucumber-0.4.4/History.txt +0 -1269
  347. data/vendor/gems/gems/cucumber-0.4.4/LICENSE +0 -22
  348. data/vendor/gems/gems/cucumber-0.4.4/Manifest.txt +0 -0
  349. data/vendor/gems/gems/cucumber-0.4.4/README.rdoc +0 -26
  350. data/vendor/gems/gems/cucumber-0.4.4/Rakefile +0 -63
  351. data/vendor/gems/gems/cucumber-0.4.4/VERSION.yml +0 -5
  352. data/vendor/gems/gems/cucumber-0.4.4/bin/cucumber +0 -16
  353. data/vendor/gems/gems/cucumber-0.4.4/cucumber.gemspec +0 -750
  354. data/vendor/gems/gems/cucumber-0.4.4/cucumber.yml +0 -4
  355. data/vendor/gems/gems/cucumber-0.4.4/examples/dos_line_endings/Rakefile +0 -6
  356. data/vendor/gems/gems/cucumber-0.4.4/examples/dos_line_endings/features/dos_line_endings.feature +0 -9
  357. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/README.textile +0 -18
  358. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/Rakefile +0 -32
  359. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ar/Rakefile +0 -6
  360. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ar/features/addition.feature +0 -17
  361. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ar/features/step_definitons/calculator_steps.rb +0 -24
  362. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ar/lib/calculator.rb +0 -11
  363. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/Rakefile +0 -6
  364. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/addition.feature +0 -12
  365. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/consecutive_calculations.feature +0 -19
  366. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/division.feature +0 -17
  367. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/step_definitons/calculator_steps.rb +0 -24
  368. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/support/env.rb +0 -6
  369. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/support/world.rb +0 -8
  370. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/lib/calculator.rb +0 -24
  371. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/cat/Rakefile +0 -6
  372. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/cat/features/step_definitons/calculator_steps.rb +0 -21
  373. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/cat/features/suma.feature +0 -17
  374. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/cat/lib/calculadora.rb +0 -16
  375. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/da/Rakefile +0 -6
  376. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/da/features/sammenlaegning.feature +0 -18
  377. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/da/features/step_definitons/lommeregner_steps.rb +0 -24
  378. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/da/lib/lommeregner.rb +0 -11
  379. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/.gitignore +0 -1
  380. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/Rakefile +0 -6
  381. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/features/addition.feature +0 -17
  382. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/features/division.feature +0 -10
  383. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/features/step_definitons/calculator_steps.rb +0 -24
  384. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/lib/calculator.rb +0 -14
  385. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/Rakefile +0 -6
  386. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +0 -16
  387. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/features/stuffing.feature +0 -8
  388. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/features/support/env.rb +0 -8
  389. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/lib/basket.rb +0 -12
  390. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/lib/belly.rb +0 -11
  391. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/.gitignore +0 -1
  392. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/Rakefile +0 -6
  393. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/features/addition.feature +0 -17
  394. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/features/division.feature +0 -10
  395. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/features/step_definitons/calculator_steps.rb +0 -24
  396. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/lib/calculator.rb +0 -14
  397. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/es/Rakefile +0 -6
  398. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/es/features/adicion.feature +0 -17
  399. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/es/features/step_definitons/calculador_steps.rb +0 -21
  400. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/es/lib/calculador.rb +0 -14
  401. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/Rakefile +0 -6
  402. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/features/jagamine.feature +0 -10
  403. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/features/liitmine.feature +0 -17
  404. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +0 -24
  405. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/lib/kalkulaator.rb +0 -14
  406. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/.gitignore +0 -1
  407. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/Rakefile +0 -6
  408. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/features/jakolasku.feature +0 -10
  409. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/features/step_definitons/laskin_steps.rb +0 -24
  410. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/features/yhteenlasku.feature +0 -17
  411. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/lib/laskin.rb +0 -14
  412. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fr/Rakefile +0 -6
  413. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fr/features/addition.feature +0 -18
  414. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +0 -25
  415. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fr/lib/calculatrice.rb +0 -10
  416. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/Rakefile +0 -6
  417. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/features/addition.feature +0 -17
  418. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/features/division.feature +0 -10
  419. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/features/step_definitons/calculator_steps.rb +0 -24
  420. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/lib/calculator.rb +0 -14
  421. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/.gitignore +0 -1
  422. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/Rakefile +0 -6
  423. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/features/addition.feature +0 -17
  424. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/features/division.feature +0 -10
  425. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/features/step_definitons/calculator_steps.rb +0 -25
  426. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/lib/calculator.rb +0 -14
  427. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/.gitignore +0 -1
  428. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/Rakefile +0 -6
  429. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/features/addition.feature +0 -17
  430. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/features/division.feature +0 -10
  431. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/features/step_definitons/calculator_steps.rb +0 -24
  432. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/lib/calculator.rb +0 -14
  433. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/it/Rakefile +0 -6
  434. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/it/features/somma.feature +0 -11
  435. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +0 -24
  436. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/it/lib/calcolatrice.rb +0 -11
  437. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/.gitignore +0 -1
  438. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/Rakefile +0 -6
  439. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/features/addition.feature +0 -17
  440. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/features/division.feature +0 -10
  441. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/features/step_definitons/calculator_steps.rb +0 -24
  442. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/lib/calculator.rb +0 -14
  443. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/.gitignore +0 -1
  444. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/Rakefile +0 -6
  445. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/features/addition.feature +0 -17
  446. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/features/division.feature +0 -11
  447. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/features/step_definitons/calculator_steps.rb +0 -24
  448. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/lib/calculator.rb +0 -14
  449. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/.gitignore +0 -1
  450. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/Rakefile +0 -6
  451. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/features/addition.feature +0 -17
  452. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/features/division.feature +0 -10
  453. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/features/step_definitons/calculator_steps.rb +0 -24
  454. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/lib/calculator.rb +0 -14
  455. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/Rakefile +0 -6
  456. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/features/addition.feature +0 -17
  457. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/features/division.feature +0 -10
  458. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/features/step_definitons/calculator_steps.rb +0 -24
  459. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/lib/calculator.rb +0 -14
  460. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/Rakefile +0 -6
  461. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +0 -17
  462. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/features/summering.feature +0 -19
  463. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/features/support/env.rb +0 -6
  464. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/lib/kalkulator.rb +0 -11
  465. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/.gitignore +0 -1
  466. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/Rakefile +0 -6
  467. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/features/addition.feature +0 -17
  468. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/features/division.feature +0 -10
  469. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/features/step_definitons/calculator_steps.rb +0 -24
  470. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/features/support/env.rb +0 -6
  471. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/lib/calculator.rb +0 -14
  472. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/Rakefile +0 -6
  473. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/features/adicao.feature +0 -11
  474. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +0 -20
  475. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/features/support/env.rb +0 -6
  476. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/lib/calculadora.rb +0 -10
  477. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ro/Rakefile +0 -6
  478. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ro/features/step_definitons/calculator_steps.rb +0 -24
  479. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ro/features/suma.feature +0 -11
  480. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ro/lib/calculator.rb +0 -11
  481. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/Rakefile +0 -6
  482. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/addition.feature +0 -11
  483. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/consecutive_calculations.feature +0 -17
  484. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/division.feature +0 -16
  485. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/step_definitons/calculator_steps.rb +0 -19
  486. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/support/env.rb +0 -6
  487. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/support/world.rb +0 -8
  488. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/lib/calculator.rb +0 -24
  489. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/se/Rakefile +0 -6
  490. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +0 -24
  491. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/se/features/summering.feature +0 -18
  492. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/se/lib/kalkulator.rb +0 -11
  493. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/.gitignore +0 -1
  494. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/Rakefile +0 -6
  495. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/features/addition.feature +0 -17
  496. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/features/division.feature +0 -10
  497. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/features/step_definitons/calculator_steps.rb +0 -24
  498. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/lib/calculator.rb +0 -14
  499. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr-latn/Rakefile +0 -6
  500. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr-latn/features/sabiranje.feature +0 -18
  501. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr-latn/features/step_definitons/calculator_steps.rb +0 -24
  502. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr-latn/lib/calculator.rb +0 -12
  503. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr/Rakefile +0 -6
  504. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr/features/sabiranje.feature +0 -18
  505. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr/features/step_definitons/calculator_steps.rb +0 -24
  506. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr/lib/calculator.rb +0 -12
  507. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/.gitignore +0 -1
  508. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/Rakefile +0 -6
  509. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/features/bolme.feature +0 -10
  510. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb +0 -24
  511. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/features/toplama.feature +0 -18
  512. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/lib/hesap_makinesi.rb +0 -15
  513. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/Rakefile +0 -6
  514. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/addition.feature +0 -10
  515. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/consecutive_calculations.feature +0 -17
  516. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/division.feature +0 -17
  517. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/step_definitons/calculator_steps.rb +0 -19
  518. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/support/env.rb +0 -6
  519. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/support/world.rb +0 -8
  520. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/lib/calculator.rb +0 -24
  521. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-CN/Rakefile +0 -6
  522. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-CN/features/addition.feature +0 -18
  523. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +0 -26
  524. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-CN/lib/calculator.rb +0 -10
  525. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/.gitignore +0 -1
  526. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/Rakefile +0 -6
  527. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/features/addition.feature +0 -17
  528. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/features/division.feature +0 -11
  529. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb +0 -24
  530. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/lib/calculator.rb +0 -14
  531. data/vendor/gems/gems/cucumber-0.4.4/examples/junit/features/one_passing_one_failing.feature +0 -8
  532. data/vendor/gems/gems/cucumber-0.4.4/examples/junit/features/pending.feature +0 -5
  533. data/vendor/gems/gems/cucumber-0.4.4/examples/junit/features/step_definitions/steps.rb +0 -11
  534. data/vendor/gems/gems/cucumber-0.4.4/examples/python/features/fibonacci.feature +0 -19
  535. data/vendor/gems/gems/cucumber-0.4.4/examples/python/features/step_definitions/fib_steps.py +0 -11
  536. data/vendor/gems/gems/cucumber-0.4.4/examples/python/lib/.gitignore +0 -1
  537. data/vendor/gems/gems/cucumber-0.4.4/examples/python/lib/fib.py +0 -7
  538. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/README.textile +0 -7
  539. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/Rakefile +0 -6
  540. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/app.rb +0 -21
  541. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/features/add.feature +0 -11
  542. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/features/step_definitions/add_steps.rb +0 -15
  543. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/features/support/env.rb +0 -32
  544. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/layout/default.html.erb +0 -8
  545. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/view/index.html.erb +0 -5
  546. data/vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/features/fibonacci.feature +0 -19
  547. data/vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/features/step_definitions/fib_steps.rb +0 -7
  548. data/vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/features/support/env.rb +0 -21
  549. data/vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/lib/.gitignore +0 -1
  550. data/vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/lib/fib.py +0 -7
  551. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium/Rakefile +0 -6
  552. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium/features/search.feature +0 -9
  553. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium/features/step_definitons/search_steps.rb +0 -13
  554. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium/features/support/env.rb +0 -19
  555. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/Rakefile +0 -6
  556. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/config.ru +0 -0
  557. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/features/search.feature +0 -9
  558. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/features/step_definitons/search_steps.rb +0 -13
  559. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/features/support/env.rb +0 -45
  560. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/.gitignore +0 -1
  561. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/README.textile +0 -6
  562. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/Rakefile +0 -6
  563. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/background_tagged_before_on_outline.feature +0 -12
  564. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/background_with_name.feature +0 -7
  565. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/failing_background.feature +0 -12
  566. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/failing_background_after_success.feature +0 -11
  567. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/multiline_args_background.feature +0 -32
  568. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/passing_background.feature +0 -10
  569. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/pending_background.feature +0 -10
  570. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/scenario_outline_failing_background.feature +0 -16
  571. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/scenario_outline_passing_background.feature +0 -16
  572. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/call_undefined_step_from_step_def.feature +0 -7
  573. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/failing_expectation.feature +0 -4
  574. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/lots_of_undefined.feature +0 -8
  575. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/multiline_name.feature +0 -27
  576. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/outline_sample.feature +0 -15
  577. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/sample.feature +0 -21
  578. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/search_sample.feature +0 -32
  579. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/step_definitions/sample_steps.rb +0 -81
  580. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/support/env.rb +0 -18
  581. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/tags_sample.feature +0 -17
  582. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/tons_of_cukes.feature +0 -52
  583. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/undefined_multiline_args.feature +0 -12
  584. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/list-of-features.txt +0 -1
  585. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/README.textile +0 -13
  586. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/Rakefile +0 -6
  587. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/app.rb +0 -14
  588. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/features/add.feature +0 -11
  589. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/features/step_definitions/add_steps.rb +0 -15
  590. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/features/support/env.rb +0 -30
  591. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/views/add.erb +0 -5
  592. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/views/layout.erb +0 -8
  593. data/vendor/gems/gems/cucumber-0.4.4/examples/steps_library/features/step_definitions/steps_lib1.rb +0 -8
  594. data/vendor/gems/gems/cucumber-0.4.4/examples/steps_library/features/step_definitions/steps_lib2.rb +0 -8
  595. data/vendor/gems/gems/cucumber-0.4.4/examples/test_unit/Rakefile +0 -6
  596. data/vendor/gems/gems/cucumber-0.4.4/examples/test_unit/features/step_definitions/test_unit_steps.rb +0 -23
  597. data/vendor/gems/gems/cucumber-0.4.4/examples/test_unit/features/test_unit.feature +0 -9
  598. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/Rakefile +0 -20
  599. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features.html +0 -138
  600. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/172.feature +0 -28
  601. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/177/1.feature +0 -29
  602. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/177/2.feature +0 -21
  603. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/177/3.feature +0 -18
  604. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/180.feature +0 -7
  605. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/229/tagged_hooks.feature +0 -8
  606. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/229/tagged_hooks.rb +0 -14
  607. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/236.feature +0 -13
  608. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/241.feature +0 -13
  609. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/246.feature +0 -4
  610. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/248.feature +0 -11
  611. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/270/back.feature +0 -14
  612. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/270/back.steps.rb +0 -14
  613. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/272/hooks.feature +0 -26
  614. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/272/hooks_steps.rb +0 -53
  615. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/279/py_string_indent.feature +0 -25
  616. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/279/py_string_indent.steps.rb +0 -12
  617. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/279/wrong.feature_ +0 -11
  618. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/301/filter_background_tagged_hooks.feature +0 -6
  619. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/301/filter_background_tagged_hooks_steps.rb +0 -12
  620. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/306/only_background.feature +0 -4
  621. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/lib/eatting_machine.rb +0 -18
  622. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/lib/pantry.rb +0 -20
  623. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/scenario_outline.feature +0 -95
  624. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/step_definitons/246_steps.rb +0 -3
  625. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/step_definitons/248_steps.rb +0 -15
  626. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/step_definitons/scenario_outline_steps.rb +0 -42
  627. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/step_definitons/tickets_steps.rb +0 -81
  628. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/table_diffing.feature +0 -13
  629. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/tickets.feature +0 -28
  630. data/vendor/gems/gems/cucumber-0.4.4/examples/watir/README.textile +0 -16
  631. data/vendor/gems/gems/cucumber-0.4.4/examples/watir/Rakefile +0 -10
  632. data/vendor/gems/gems/cucumber-0.4.4/examples/watir/features/search.feature +0 -12
  633. data/vendor/gems/gems/cucumber-0.4.4/examples/watir/features/step_definitions/search_steps.rb +0 -26
  634. data/vendor/gems/gems/cucumber-0.4.4/examples/watir/features/support/env.rb +0 -32
  635. data/vendor/gems/gems/cucumber-0.4.4/examples/watir/features/support/screenshots.rb +0 -44
  636. data/vendor/gems/gems/cucumber-0.4.4/examples/webrat/features/search.feature +0 -12
  637. data/vendor/gems/gems/cucumber-0.4.4/examples/webrat/features/step_definitions/kvasir_steps.rb +0 -14
  638. data/vendor/gems/gems/cucumber-0.4.4/examples/webrat/features/support/env.rb +0 -17
  639. data/vendor/gems/gems/cucumber-0.4.4/features/announce.feature +0 -122
  640. data/vendor/gems/gems/cucumber-0.4.4/features/background.feature +0 -308
  641. data/vendor/gems/gems/cucumber-0.4.4/features/bug_371.feature +0 -32
  642. data/vendor/gems/gems/cucumber-0.4.4/features/bug_464.feature +0 -16
  643. data/vendor/gems/gems/cucumber-0.4.4/features/bug_475.feature +0 -43
  644. data/vendor/gems/gems/cucumber-0.4.4/features/call_many_steps.feature +0 -124
  645. data/vendor/gems/gems/cucumber-0.4.4/features/cucumber_cli.feature +0 -652
  646. data/vendor/gems/gems/cucumber-0.4.4/features/cucumber_cli_diff_disabled.feature +0 -52
  647. data/vendor/gems/gems/cucumber-0.4.4/features/cucumber_cli_outlines.feature +0 -105
  648. data/vendor/gems/gems/cucumber-0.4.4/features/custom_formatter.feature +0 -46
  649. data/vendor/gems/gems/cucumber-0.4.4/features/default_snippets.feature +0 -42
  650. data/vendor/gems/gems/cucumber-0.4.4/features/drb_server_integration.feature +0 -174
  651. data/vendor/gems/gems/cucumber-0.4.4/features/exception_in_after_block.feature +0 -100
  652. data/vendor/gems/gems/cucumber-0.4.4/features/exception_in_after_step_block.feature +0 -102
  653. data/vendor/gems/gems/cucumber-0.4.4/features/exception_in_before_block.feature +0 -78
  654. data/vendor/gems/gems/cucumber-0.4.4/features/exclude_files.feature +0 -20
  655. data/vendor/gems/gems/cucumber-0.4.4/features/expand.feature +0 -60
  656. data/vendor/gems/gems/cucumber-0.4.4/features/html_formatter.feature +0 -7
  657. data/vendor/gems/gems/cucumber-0.4.4/features/html_formatter/a.html +0 -183
  658. data/vendor/gems/gems/cucumber-0.4.4/features/junit_formatter.feature +0 -88
  659. data/vendor/gems/gems/cucumber-0.4.4/features/language_from_header.feature +0 -30
  660. data/vendor/gems/gems/cucumber-0.4.4/features/language_help.feature +0 -70
  661. data/vendor/gems/gems/cucumber-0.4.4/features/listener_debugger_formatter.feature +0 -41
  662. data/vendor/gems/gems/cucumber-0.4.4/features/multiline_names.feature +0 -43
  663. data/vendor/gems/gems/cucumber-0.4.4/features/negative_tagged_hooks.feature +0 -61
  664. data/vendor/gems/gems/cucumber-0.4.4/features/post_configuration_hook.feature +0 -37
  665. data/vendor/gems/gems/cucumber-0.4.4/features/profiles.feature +0 -112
  666. data/vendor/gems/gems/cucumber-0.4.4/features/rake_task.feature +0 -152
  667. data/vendor/gems/gems/cucumber-0.4.4/features/report_called_undefined_steps.feature +0 -34
  668. data/vendor/gems/gems/cucumber-0.4.4/features/simplest.feature +0 -11
  669. data/vendor/gems/gems/cucumber-0.4.4/features/snippet.feature +0 -22
  670. data/vendor/gems/gems/cucumber-0.4.4/features/step_definitions/cucumber_steps.rb +0 -154
  671. data/vendor/gems/gems/cucumber-0.4.4/features/step_definitions/extra_steps.rb +0 -2
  672. data/vendor/gems/gems/cucumber-0.4.4/features/step_definitions/simplest_steps.rb +0 -3
  673. data/vendor/gems/gems/cucumber-0.4.4/features/step_definitions/wire_steps.rb +0 -14
  674. data/vendor/gems/gems/cucumber-0.4.4/features/support/env.rb +0 -141
  675. data/vendor/gems/gems/cucumber-0.4.4/features/support/env.rb.simplest +0 -7
  676. data/vendor/gems/gems/cucumber-0.4.4/features/support/fake_wire_server.rb +0 -63
  677. data/vendor/gems/gems/cucumber-0.4.4/features/table_diffing.feature +0 -45
  678. data/vendor/gems/gems/cucumber-0.4.4/features/table_mapping.feature +0 -35
  679. data/vendor/gems/gems/cucumber-0.4.4/features/tag_logic.feature +0 -258
  680. data/vendor/gems/gems/cucumber-0.4.4/features/transform.feature +0 -231
  681. data/vendor/gems/gems/cucumber-0.4.4/features/unicode_table.feature +0 -35
  682. data/vendor/gems/gems/cucumber-0.4.4/features/usage_and_stepdefs_formatter.feature +0 -169
  683. data/vendor/gems/gems/cucumber-0.4.4/features/wire_protocol.feature +0 -177
  684. data/vendor/gems/gems/cucumber-0.4.4/features/work_in_progress.feature +0 -156
  685. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/contributors.rake +0 -13
  686. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/environment.rake +0 -7
  687. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/features.rake +0 -16
  688. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/fix_cr_lf.rake +0 -10
  689. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/flog.rake +0 -4
  690. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/rspec.rake +0 -15
  691. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/sass.rake +0 -4
  692. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/sdoc.rake +0 -12
  693. data/vendor/gems/gems/cucumber-0.4.4/lib/README.rdoc +0 -12
  694. data/vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber.rb +0 -6
  695. data/vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber_mixin.rb +0 -131
  696. data/vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber_rails.rb +0 -6
  697. data/vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber_rails_rspec.rb +0 -6
  698. data/vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber_rspec.rb +0 -6
  699. data/vendor/gems/gems/cucumber-0.4.4/lib/autotest/discover.rb +0 -9
  700. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber.rb +0 -15
  701. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast.rb +0 -30
  702. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/background.rb +0 -75
  703. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/comment.rb +0 -31
  704. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/examples.rb +0 -36
  705. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/feature.rb +0 -85
  706. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/feature_element.rb +0 -68
  707. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/features.rb +0 -40
  708. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/outline_table.rb +0 -166
  709. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/py_string.rb +0 -59
  710. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/scenario.rb +0 -111
  711. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/scenario_outline.rb +0 -100
  712. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/step.rb +0 -121
  713. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/step_collection.rb +0 -76
  714. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/step_invocation.rb +0 -190
  715. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/table.rb +0 -655
  716. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/tags.rb +0 -122
  717. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/tree_walker.rb +0 -201
  718. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/visitor.rb +0 -11
  719. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/broadcaster.rb +0 -13
  720. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/configuration.rb +0 -195
  721. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/drb_client.rb +0 -32
  722. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/language_help_formatter.rb +0 -72
  723. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/main.rb +0 -121
  724. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/options.rb +0 -403
  725. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/profile_loader.rb +0 -82
  726. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/constantize.rb +0 -34
  727. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/core_ext/instance_exec.rb +0 -98
  728. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/core_ext/proc.rb +0 -30
  729. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/core_ext/string.rb +0 -16
  730. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/feature_file.rb +0 -54
  731. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/filter.rb +0 -41
  732. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/ansicolor.rb +0 -157
  733. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/color_io.rb +0 -23
  734. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/console.rb +0 -205
  735. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/cucumber.css +0 -132
  736. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/cucumber.sass +0 -139
  737. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/debug.rb +0 -33
  738. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/duration.rb +0 -13
  739. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/html.rb +0 -369
  740. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/junit.rb +0 -140
  741. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/ordered_xml_markup.rb +0 -24
  742. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/pdf.rb +0 -234
  743. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/pretty.rb +0 -239
  744. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/progress.rb +0 -73
  745. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/rerun.rb +0 -48
  746. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/stepdefs.rb +0 -14
  747. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/steps.rb +0 -49
  748. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/summary.rb +0 -35
  749. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/tag_cloud.rb +0 -30
  750. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/unicode.rb +0 -35
  751. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/usage.rb +0 -127
  752. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/language_support.rb +0 -30
  753. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/language_support/language_methods.rb +0 -110
  754. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/languages.yml +0 -611
  755. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser.rb +0 -8
  756. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/common.rb +0 -170
  757. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/common.tt +0 -21
  758. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/feature.rb +0 -1517
  759. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/feature.tt +0 -281
  760. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/i18n.tt +0 -44
  761. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/natural_language.rb +0 -81
  762. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/py_string.rb +0 -276
  763. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/py_string.tt +0 -45
  764. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/table.rb +0 -305
  765. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/table.tt +0 -60
  766. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/treetop_ext.rb +0 -53
  767. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/platform.rb +0 -31
  768. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/py_support/py_dsl.py +0 -10
  769. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/py_support/py_language.py +0 -10
  770. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/py_support/py_language.rb +0 -81
  771. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/action_controller.rb +0 -38
  772. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/active_record.rb +0 -30
  773. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/rspec.rb +0 -10
  774. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/test_unit.rb +0 -9
  775. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/world.rb +0 -30
  776. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rake/task.rb +0 -166
  777. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_dsl.rb +0 -102
  778. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_hook.rb +0 -19
  779. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_language.rb +0 -179
  780. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_step_definition.rb +0 -75
  781. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_transform.rb +0 -37
  782. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_world.rb +0 -81
  783. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/regexp_argument_matcher.rb +0 -21
  784. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rspec_neuter.rb +0 -23
  785. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/step_argument.rb +0 -9
  786. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/step_definition_light.rb +0 -20
  787. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/step_match.rb +0 -107
  788. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/step_mother.rb +0 -351
  789. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/webrat/element_locator.rb +0 -89
  790. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/webrat/table_locator.rb +0 -1
  791. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/connection.rb +0 -42
  792. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/request_handler.rb +0 -19
  793. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_exception.rb +0 -10
  794. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_language.rb +0 -52
  795. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_packet.rb +0 -34
  796. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_protocol.rb +0 -64
  797. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_step_definition.rb +0 -21
  798. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/USAGE +0 -11
  799. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/cucumber_generator.rb +0 -117
  800. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/cucumber +0 -17
  801. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/cucumber.rake +0 -46
  802. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/cucumber_environment.rb +0 -30
  803. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/env.rb +0 -49
  804. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/paths.rb +0 -27
  805. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/spork_env.rb +0 -57
  806. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/version_check.rb +0 -31
  807. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/webrat_steps.rb +0 -241
  808. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/feature/USAGE +0 -12
  809. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/feature/feature_generator.rb +0 -40
  810. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/feature/templates/feature.erb +0 -31
  811. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/feature/templates/steps.erb +0 -14
  812. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/background_spec.rb +0 -54
  813. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/feature_element_spec.rb +0 -41
  814. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/feature_factory.rb +0 -62
  815. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/feature_spec.rb +0 -44
  816. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/outline_table_spec.rb +0 -21
  817. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/py_string_spec.rb +0 -51
  818. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/scenario_outline_spec.rb +0 -73
  819. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/scenario_spec.rb +0 -45
  820. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/step_collection_spec.rb +0 -17
  821. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/step_spec.rb +0 -66
  822. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/table_spec.rb +0 -422
  823. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/tags_spec.rb +0 -29
  824. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/tree_walker_spec.rb +0 -11
  825. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/broadcaster_spec.rb +0 -15
  826. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/configuration_spec.rb +0 -396
  827. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/drb_client_spec.rb +0 -77
  828. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/main_spec.rb +0 -172
  829. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/options_spec.rb +0 -338
  830. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/profile_loader_spec.rb +0 -10
  831. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/core_ext/proc_spec.rb +0 -68
  832. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/ansicolor_spec.rb +0 -31
  833. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/color_io_spec.rb +0 -27
  834. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/console_spec.rb +0 -20
  835. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/duration_spec.rb +0 -22
  836. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/html_spec.rb +0 -200
  837. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/junit_spec.rb +0 -107
  838. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/progress_spec.rb +0 -38
  839. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/spec_helper.rb +0 -50
  840. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/parser/feature_parser_spec.rb +0 -400
  841. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/parser/table_parser_spec.rb +0 -52
  842. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/rb_support/rb_step_definition_spec.rb +0 -132
  843. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +0 -18
  844. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/sell_cucumbers.feature +0 -19
  845. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/step_match_spec.rb +0 -56
  846. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/step_mother_spec.rb +0 -270
  847. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/empty_feature.feature +0 -4
  848. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/empty_scenario.feature +0 -9
  849. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/empty_scenario_outline.feature +0 -3
  850. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/fit_scenario.feature +0 -8
  851. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/given_scenario.feature +0 -9
  852. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +0 -7
  853. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/multiline_steps.feature +0 -17
  854. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/multiple_tables.feature +0 -27
  855. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/scenario_outline.feature +0 -16
  856. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/spaces.feature +0 -12
  857. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/test_dos.feature +0 -25
  858. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/with_comments.feature +0 -23
  859. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/with_tags.feature +0 -18
  860. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/wire_support/wire_language_spec.rb +0 -47
  861. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/wire_support/wire_packet_spec.rb +0 -26
  862. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/world/pending_spec.rb +0 -46
  863. data/vendor/gems/gems/cucumber-0.4.4/spec/spec.opts +0 -4
  864. data/vendor/gems/gems/cucumber-0.4.4/spec/spec_helper.rb +0 -18
  865. data/vendor/gems/gems/daemons-1.0.10/LICENSE +0 -29
  866. data/vendor/gems/gems/daemons-1.0.10/README +0 -223
  867. data/vendor/gems/gems/daemons-1.0.10/Rakefile +0 -84
  868. data/vendor/gems/gems/daemons-1.0.10/Releases +0 -126
  869. data/vendor/gems/gems/daemons-1.0.10/TODO +0 -6
  870. data/vendor/gems/gems/daemons-1.0.10/examples/call/call.rb +0 -56
  871. data/vendor/gems/gems/daemons-1.0.10/examples/call/call_monitor.rb +0 -55
  872. data/vendor/gems/gems/daemons-1.0.10/examples/daemonize/daemonize.rb +0 -20
  873. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_crash.rb +0 -17
  874. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_exec.rb +0 -16
  875. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_exit.rb +0 -15
  876. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_keep_pid_files.rb +0 -17
  877. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_monitor.rb +0 -16
  878. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_multiple.rb +0 -16
  879. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_normal.rb +0 -12
  880. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_ontop.rb +0 -16
  881. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_optionparser.rb +0 -43
  882. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_proc.rb +0 -25
  883. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_proc.rb.output +0 -101
  884. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_proc_multiple.rb +0 -22
  885. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_proc_multiple.rb.output +0 -2
  886. data/vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_proc_simple.rb +0 -17
  887. data/vendor/gems/gems/daemons-1.0.10/examples/run/myserver.rb +0 -12
  888. data/vendor/gems/gems/daemons-1.0.10/examples/run/myserver_crashing.rb +0 -14
  889. data/vendor/gems/gems/daemons-1.0.10/examples/run/myserver_crashing.rb.output +0 -30
  890. data/vendor/gems/gems/daemons-1.0.10/examples/run/myserver_exiting.rb +0 -8
  891. data/vendor/gems/gems/daemons-1.0.10/lib/daemons.rb +0 -283
  892. data/vendor/gems/gems/daemons-1.0.10/lib/daemons/application.rb +0 -372
  893. data/vendor/gems/gems/daemons-1.0.10/lib/daemons/application_group.rb +0 -152
  894. data/vendor/gems/gems/daemons-1.0.10/lib/daemons/cmdline.rb +0 -117
  895. data/vendor/gems/gems/daemons-1.0.10/lib/daemons/controller.rb +0 -134
  896. data/vendor/gems/gems/daemons-1.0.10/lib/daemons/daemonize.rb +0 -263
  897. data/vendor/gems/gems/daemons-1.0.10/lib/daemons/exceptions.rb +0 -28
  898. data/vendor/gems/gems/daemons-1.0.10/lib/daemons/monitor.rb +0 -127
  899. data/vendor/gems/gems/daemons-1.0.10/lib/daemons/pid.rb +0 -101
  900. data/vendor/gems/gems/daemons-1.0.10/lib/daemons/pidfile.rb +0 -111
  901. data/vendor/gems/gems/daemons-1.0.10/lib/daemons/pidmem.rb +0 -10
  902. data/vendor/gems/gems/daemons-1.0.10/setup.rb +0 -1360
  903. data/vendor/gems/gems/diff-lcs-1.1.2/ChangeLog +0 -46
  904. data/vendor/gems/gems/diff-lcs-1.1.2/Install +0 -6
  905. data/vendor/gems/gems/diff-lcs-1.1.2/README +0 -76
  906. data/vendor/gems/gems/diff-lcs-1.1.2/Rakefile +0 -116
  907. data/vendor/gems/gems/diff-lcs-1.1.2/bin/htmldiff +0 -112
  908. data/vendor/gems/gems/diff-lcs-1.1.2/bin/ldiff +0 -45
  909. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs.rb +0 -1105
  910. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/array.rb +0 -21
  911. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/block.rb +0 -51
  912. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/callbacks.rb +0 -322
  913. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/change.rb +0 -169
  914. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/hunk.rb +0 -257
  915. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/ldiff.rb +0 -226
  916. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/string.rb +0 -19
  917. data/vendor/gems/gems/diff-lcs-1.1.2/tests/00test.rb +0 -626
  918. data/vendor/gems/gems/eventmachine-0.12.10/.gitignore +0 -14
  919. data/vendor/gems/gems/eventmachine-0.12.10/README +0 -82
  920. data/vendor/gems/gems/eventmachine-0.12.10/Rakefile +0 -374
  921. data/vendor/gems/gems/eventmachine-0.12.10/docs/COPYING +0 -60
  922. data/vendor/gems/gems/eventmachine-0.12.10/docs/ChangeLog +0 -211
  923. data/vendor/gems/gems/eventmachine-0.12.10/docs/DEFERRABLES +0 -133
  924. data/vendor/gems/gems/eventmachine-0.12.10/docs/EPOLL +0 -141
  925. data/vendor/gems/gems/eventmachine-0.12.10/docs/GNU +0 -281
  926. data/vendor/gems/gems/eventmachine-0.12.10/docs/INSTALL +0 -13
  927. data/vendor/gems/gems/eventmachine-0.12.10/docs/KEYBOARD +0 -38
  928. data/vendor/gems/gems/eventmachine-0.12.10/docs/LEGAL +0 -25
  929. data/vendor/gems/gems/eventmachine-0.12.10/docs/LIGHTWEIGHT_CONCURRENCY +0 -70
  930. data/vendor/gems/gems/eventmachine-0.12.10/docs/PURE_RUBY +0 -75
  931. data/vendor/gems/gems/eventmachine-0.12.10/docs/RELEASE_NOTES +0 -94
  932. data/vendor/gems/gems/eventmachine-0.12.10/docs/SMTP +0 -2
  933. data/vendor/gems/gems/eventmachine-0.12.10/docs/SPAWNED_PROCESSES +0 -89
  934. data/vendor/gems/gems/eventmachine-0.12.10/docs/TODO +0 -8
  935. data/vendor/gems/gems/eventmachine-0.12.10/eventmachine.gemspec +0 -40
  936. data/vendor/gems/gems/eventmachine-0.12.10/examples/ex_channel.rb +0 -43
  937. data/vendor/gems/gems/eventmachine-0.12.10/examples/ex_queue.rb +0 -2
  938. data/vendor/gems/gems/eventmachine-0.12.10/examples/helper.rb +0 -2
  939. data/vendor/gems/gems/eventmachine-0.12.10/ext/binder.cpp +0 -125
  940. data/vendor/gems/gems/eventmachine-0.12.10/ext/binder.h +0 -46
  941. data/vendor/gems/gems/eventmachine-0.12.10/ext/cmain.cpp +0 -827
  942. data/vendor/gems/gems/eventmachine-0.12.10/ext/cplusplus.cpp +0 -202
  943. data/vendor/gems/gems/eventmachine-0.12.10/ext/ed.cpp +0 -1893
  944. data/vendor/gems/gems/eventmachine-0.12.10/ext/ed.h +0 -424
  945. data/vendor/gems/gems/eventmachine-0.12.10/ext/em.cpp +0 -2282
  946. data/vendor/gems/gems/eventmachine-0.12.10/ext/em.h +0 -232
  947. data/vendor/gems/gems/eventmachine-0.12.10/ext/emwin.cpp +0 -300
  948. data/vendor/gems/gems/eventmachine-0.12.10/ext/emwin.h +0 -94
  949. data/vendor/gems/gems/eventmachine-0.12.10/ext/epoll.cpp +0 -26
  950. data/vendor/gems/gems/eventmachine-0.12.10/ext/epoll.h +0 -25
  951. data/vendor/gems/gems/eventmachine-0.12.10/ext/eventmachine.h +0 -122
  952. data/vendor/gems/gems/eventmachine-0.12.10/ext/eventmachine_cpp.h +0 -96
  953. data/vendor/gems/gems/eventmachine-0.12.10/ext/extconf.rb +0 -148
  954. data/vendor/gems/gems/eventmachine-0.12.10/ext/fastfilereader/extconf.rb +0 -83
  955. data/vendor/gems/gems/eventmachine-0.12.10/ext/fastfilereader/mapper.cpp +0 -214
  956. data/vendor/gems/gems/eventmachine-0.12.10/ext/fastfilereader/mapper.h +0 -59
  957. data/vendor/gems/gems/eventmachine-0.12.10/ext/fastfilereader/rubymain.cpp +0 -127
  958. data/vendor/gems/gems/eventmachine-0.12.10/ext/files.cpp +0 -94
  959. data/vendor/gems/gems/eventmachine-0.12.10/ext/files.h +0 -65
  960. data/vendor/gems/gems/eventmachine-0.12.10/ext/kb.cpp +0 -81
  961. data/vendor/gems/gems/eventmachine-0.12.10/ext/page.cpp +0 -107
  962. data/vendor/gems/gems/eventmachine-0.12.10/ext/page.h +0 -51
  963. data/vendor/gems/gems/eventmachine-0.12.10/ext/pipe.cpp +0 -349
  964. data/vendor/gems/gems/eventmachine-0.12.10/ext/project.h +0 -151
  965. data/vendor/gems/gems/eventmachine-0.12.10/ext/rubymain.cpp +0 -1166
  966. data/vendor/gems/gems/eventmachine-0.12.10/ext/sigs.cpp +0 -89
  967. data/vendor/gems/gems/eventmachine-0.12.10/ext/sigs.h +0 -32
  968. data/vendor/gems/gems/eventmachine-0.12.10/ext/ssl.cpp +0 -460
  969. data/vendor/gems/gems/eventmachine-0.12.10/ext/ssl.h +0 -94
  970. data/vendor/gems/gems/eventmachine-0.12.10/java/.classpath +0 -8
  971. data/vendor/gems/gems/eventmachine-0.12.10/java/.project +0 -17
  972. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/EmReactor.java +0 -570
  973. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/EmReactorException.java +0 -40
  974. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableChannel.java +0 -69
  975. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableDatagramChannel.java +0 -189
  976. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableSocketChannel.java +0 -364
  977. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Application.java +0 -194
  978. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Connection.java +0 -74
  979. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/ConnectionFactory.java +0 -37
  980. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/DefaultConnectionFactory.java +0 -46
  981. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/PeriodicTimer.java +0 -38
  982. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Timer.java +0 -54
  983. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/ApplicationTest.java +0 -109
  984. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/ConnectTest.java +0 -148
  985. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/EMTest.java +0 -80
  986. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestDatagrams.java +0 -53
  987. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestServers.java +0 -75
  988. data/vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestTimers.java +0 -90
  989. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/buftok.rb +0 -138
  990. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/callback.rb +0 -26
  991. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/channel.rb +0 -57
  992. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/connection.rb +0 -564
  993. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/deferrable.rb +0 -192
  994. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/file_watch.rb +0 -54
  995. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/future.rb +0 -61
  996. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/messages.rb +0 -66
  997. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/process_watch.rb +0 -44
  998. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/processes.rb +0 -119
  999. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols.rb +0 -36
  1000. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/header_and_content.rb +0 -138
  1001. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/httpclient.rb +0 -263
  1002. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/httpclient2.rb +0 -590
  1003. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/line_and_text.rb +0 -125
  1004. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/linetext2.rb +0 -161
  1005. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/memcache.rb +0 -323
  1006. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/object_protocol.rb +0 -45
  1007. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/postgres3.rb +0 -247
  1008. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/saslauth.rb +0 -175
  1009. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/smtpclient.rb +0 -357
  1010. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/smtpserver.rb +0 -547
  1011. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/socks4.rb +0 -66
  1012. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/stomp.rb +0 -200
  1013. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/tcptest.rb +0 -53
  1014. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/queue.rb +0 -61
  1015. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/spawnable.rb +0 -85
  1016. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/streamer.rb +0 -130
  1017. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/timers.rb +0 -56
  1018. data/vendor/gems/gems/eventmachine-0.12.10/lib/em/version.rb +0 -3
  1019. data/vendor/gems/gems/eventmachine-0.12.10/lib/eventmachine.rb +0 -1592
  1020. data/vendor/gems/gems/eventmachine-0.12.10/lib/evma.rb +0 -32
  1021. data/vendor/gems/gems/eventmachine-0.12.10/lib/evma/callback.rb +0 -32
  1022. data/vendor/gems/gems/eventmachine-0.12.10/lib/evma/container.rb +0 -75
  1023. data/vendor/gems/gems/eventmachine-0.12.10/lib/evma/factory.rb +0 -77
  1024. data/vendor/gems/gems/eventmachine-0.12.10/lib/evma/protocol.rb +0 -87
  1025. data/vendor/gems/gems/eventmachine-0.12.10/lib/evma/reactor.rb +0 -48
  1026. data/vendor/gems/gems/eventmachine-0.12.10/lib/jeventmachine.rb +0 -257
  1027. data/vendor/gems/gems/eventmachine-0.12.10/lib/pr_eventmachine.rb +0 -1022
  1028. data/vendor/gems/gems/eventmachine-0.12.10/setup.rb +0 -1585
  1029. data/vendor/gems/gems/eventmachine-0.12.10/tasks/cpp.rake_example +0 -77
  1030. data/vendor/gems/gems/eventmachine-0.12.10/tests/client.crt +0 -31
  1031. data/vendor/gems/gems/eventmachine-0.12.10/tests/client.key +0 -51
  1032. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_attach.rb +0 -126
  1033. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_basic.rb +0 -284
  1034. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_channel.rb +0 -63
  1035. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_connection_count.rb +0 -35
  1036. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_defer.rb +0 -47
  1037. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_epoll.rb +0 -160
  1038. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_error_handler.rb +0 -35
  1039. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_errors.rb +0 -82
  1040. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_exc.rb +0 -55
  1041. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_file_watch.rb +0 -49
  1042. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_futures.rb +0 -198
  1043. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_get_sock_opt.rb +0 -30
  1044. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_handler_check.rb +0 -37
  1045. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_hc.rb +0 -218
  1046. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_httpclient.rb +0 -218
  1047. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_httpclient2.rb +0 -153
  1048. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_inactivity_timeout.rb +0 -50
  1049. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_kb.rb +0 -60
  1050. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_ltp.rb +0 -182
  1051. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_ltp2.rb +0 -317
  1052. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_next_tick.rb +0 -133
  1053. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_object_protocol.rb +0 -37
  1054. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_pause.rb +0 -70
  1055. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_pending_connect_timeout.rb +0 -48
  1056. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_process_watch.rb +0 -48
  1057. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_processes.rb +0 -128
  1058. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_proxy_connection.rb +0 -92
  1059. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_pure.rb +0 -125
  1060. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_queue.rb +0 -44
  1061. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_running.rb +0 -42
  1062. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_sasl.rb +0 -72
  1063. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_send_file.rb +0 -242
  1064. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_servers.rb +0 -76
  1065. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_smtpclient.rb +0 -83
  1066. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_smtpserver.rb +0 -85
  1067. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_spawn.rb +0 -322
  1068. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_ssl_args.rb +0 -79
  1069. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_ssl_methods.rb +0 -50
  1070. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_ssl_verify.rb +0 -82
  1071. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_timers.rb +0 -162
  1072. data/vendor/gems/gems/eventmachine-0.12.10/tests/test_ud.rb +0 -36
  1073. data/vendor/gems/gems/eventmachine-0.12.10/tests/testem.rb +0 -31
  1074. data/vendor/gems/gems/eventmachine-0.12.10/web/whatis +0 -7
  1075. data/vendor/gems/gems/extlib-0.9.13/History.txt +0 -77
  1076. data/vendor/gems/gems/extlib-0.9.13/LICENSE +0 -47
  1077. data/vendor/gems/gems/extlib-0.9.13/README +0 -0
  1078. data/vendor/gems/gems/extlib-0.9.13/Rakefile +0 -180
  1079. data/vendor/gems/gems/extlib-0.9.13/lib/extlib.rb +0 -50
  1080. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/array.rb +0 -36
  1081. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/assertions.rb +0 -8
  1082. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/blank.rb +0 -89
  1083. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/boolean.rb +0 -11
  1084. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/byte_array.rb +0 -6
  1085. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/class.rb +0 -177
  1086. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/datetime.rb +0 -29
  1087. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/dictionary.rb +0 -433
  1088. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/hash.rb +0 -442
  1089. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/hook.rb +0 -401
  1090. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/inflection.rb +0 -434
  1091. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/lazy_array.rb +0 -457
  1092. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/lazy_module.rb +0 -18
  1093. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/logger.rb +0 -198
  1094. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/mash.rb +0 -155
  1095. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/module.rb +0 -47
  1096. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/nil.rb +0 -5
  1097. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/numeric.rb +0 -5
  1098. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/object.rb +0 -175
  1099. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/object_space.rb +0 -13
  1100. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/pathname.rb +0 -20
  1101. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/pooling.rb +0 -235
  1102. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/rubygems.rb +0 -38
  1103. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/simple_set.rb +0 -66
  1104. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/string.rb +0 -175
  1105. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/struct.rb +0 -17
  1106. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/symbol.rb +0 -21
  1107. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/tasks/release.rb +0 -15
  1108. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/time.rb +0 -43
  1109. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/version.rb +0 -3
  1110. data/vendor/gems/gems/extlib-0.9.13/lib/extlib/virtual_file.rb +0 -10
  1111. data/vendor/gems/gems/extlib-0.9.13/spec/array_spec.rb +0 -39
  1112. data/vendor/gems/gems/extlib-0.9.13/spec/blank_spec.rb +0 -85
  1113. data/vendor/gems/gems/extlib-0.9.13/spec/byte_array_spec.rb +0 -7
  1114. data/vendor/gems/gems/extlib-0.9.13/spec/class_spec.rb +0 -157
  1115. data/vendor/gems/gems/extlib-0.9.13/spec/datetime_spec.rb +0 -22
  1116. data/vendor/gems/gems/extlib-0.9.13/spec/hash_spec.rb +0 -537
  1117. data/vendor/gems/gems/extlib-0.9.13/spec/hook_spec.rb +0 -1234
  1118. data/vendor/gems/gems/extlib-0.9.13/spec/inflection/plural_spec.rb +0 -564
  1119. data/vendor/gems/gems/extlib-0.9.13/spec/inflection/singular_spec.rb +0 -497
  1120. data/vendor/gems/gems/extlib-0.9.13/spec/inflection_extras_spec.rb +0 -93
  1121. data/vendor/gems/gems/extlib-0.9.13/spec/lazy_array_spec.rb +0 -1932
  1122. data/vendor/gems/gems/extlib-0.9.13/spec/lazy_module_spec.rb +0 -38
  1123. data/vendor/gems/gems/extlib-0.9.13/spec/mash_spec.rb +0 -311
  1124. data/vendor/gems/gems/extlib-0.9.13/spec/module_spec.rb +0 -70
  1125. data/vendor/gems/gems/extlib-0.9.13/spec/object_space_spec.rb +0 -9
  1126. data/vendor/gems/gems/extlib-0.9.13/spec/object_spec.rb +0 -114
  1127. data/vendor/gems/gems/extlib-0.9.13/spec/pooling_spec.rb +0 -511
  1128. data/vendor/gems/gems/extlib-0.9.13/spec/simple_set_spec.rb +0 -57
  1129. data/vendor/gems/gems/extlib-0.9.13/spec/spec.opts +0 -3
  1130. data/vendor/gems/gems/extlib-0.9.13/spec/spec_helper.rb +0 -10
  1131. data/vendor/gems/gems/extlib-0.9.13/spec/string_spec.rb +0 -220
  1132. data/vendor/gems/gems/extlib-0.9.13/spec/struct_spec.rb +0 -12
  1133. data/vendor/gems/gems/extlib-0.9.13/spec/symbol_spec.rb +0 -8
  1134. data/vendor/gems/gems/extlib-0.9.13/spec/time_spec.rb +0 -29
  1135. data/vendor/gems/gems/extlib-0.9.13/spec/try_call_spec.rb +0 -73
  1136. data/vendor/gems/gems/extlib-0.9.13/spec/try_dup_spec.rb +0 -45
  1137. data/vendor/gems/gems/extlib-0.9.13/spec/virtual_file_spec.rb +0 -21
  1138. data/vendor/gems/gems/haml-2.2.13/.yardopts +0 -5
  1139. data/vendor/gems/gems/haml-2.2.13/CONTRIBUTING +0 -4
  1140. data/vendor/gems/gems/haml-2.2.13/MIT-LICENSE +0 -20
  1141. data/vendor/gems/gems/haml-2.2.13/README.md +0 -347
  1142. data/vendor/gems/gems/haml-2.2.13/REVISION +0 -1
  1143. data/vendor/gems/gems/haml-2.2.13/Rakefile +0 -378
  1144. data/vendor/gems/gems/haml-2.2.13/VERSION +0 -1
  1145. data/vendor/gems/gems/haml-2.2.13/VERSION_NAME +0 -1
  1146. data/vendor/gems/gems/haml-2.2.13/bin/css2sass +0 -7
  1147. data/vendor/gems/gems/haml-2.2.13/bin/haml +0 -9
  1148. data/vendor/gems/gems/haml-2.2.13/bin/html2haml +0 -7
  1149. data/vendor/gems/gems/haml-2.2.13/bin/sass +0 -8
  1150. data/vendor/gems/gems/haml-2.2.13/extra/haml-mode.el +0 -662
  1151. data/vendor/gems/gems/haml-2.2.13/extra/sass-mode.el +0 -206
  1152. data/vendor/gems/gems/haml-2.2.13/extra/update_watch.rb +0 -13
  1153. data/vendor/gems/gems/haml-2.2.13/init.rb +0 -16
  1154. data/vendor/gems/gems/haml-2.2.13/lib/haml.rb +0 -40
  1155. data/vendor/gems/gems/haml-2.2.13/lib/haml/buffer.rb +0 -302
  1156. data/vendor/gems/gems/haml-2.2.13/lib/haml/engine.rb +0 -299
  1157. data/vendor/gems/gems/haml-2.2.13/lib/haml/error.rb +0 -22
  1158. data/vendor/gems/gems/haml-2.2.13/lib/haml/exec.rb +0 -459
  1159. data/vendor/gems/gems/haml-2.2.13/lib/haml/filters.rb +0 -341
  1160. data/vendor/gems/gems/haml-2.2.13/lib/haml/helpers.rb +0 -561
  1161. data/vendor/gems/gems/haml-2.2.13/lib/haml/helpers/action_view_extensions.rb +0 -55
  1162. data/vendor/gems/gems/haml-2.2.13/lib/haml/helpers/action_view_mods.rb +0 -177
  1163. data/vendor/gems/gems/haml-2.2.13/lib/haml/helpers/xss_mods.rb +0 -95
  1164. data/vendor/gems/gems/haml-2.2.13/lib/haml/html.rb +0 -262
  1165. data/vendor/gems/gems/haml-2.2.13/lib/haml/precompiler.rb +0 -1035
  1166. data/vendor/gems/gems/haml-2.2.13/lib/haml/shared.rb +0 -78
  1167. data/vendor/gems/gems/haml-2.2.13/lib/haml/template.rb +0 -85
  1168. data/vendor/gems/gems/haml-2.2.13/lib/haml/template/patch.rb +0 -58
  1169. data/vendor/gems/gems/haml-2.2.13/lib/haml/template/plugin.rb +0 -71
  1170. data/vendor/gems/gems/haml-2.2.13/lib/haml/util.rb +0 -265
  1171. data/vendor/gems/gems/haml-2.2.13/lib/haml/version.rb +0 -64
  1172. data/vendor/gems/gems/haml-2.2.13/lib/sass.rb +0 -24
  1173. data/vendor/gems/gems/haml-2.2.13/lib/sass/css.rb +0 -404
  1174. data/vendor/gems/gems/haml-2.2.13/lib/sass/engine.rb +0 -475
  1175. data/vendor/gems/gems/haml-2.2.13/lib/sass/environment.rb +0 -79
  1176. data/vendor/gems/gems/haml-2.2.13/lib/sass/error.rb +0 -57
  1177. data/vendor/gems/gems/haml-2.2.13/lib/sass/files.rb +0 -139
  1178. data/vendor/gems/gems/haml-2.2.13/lib/sass/plugin.rb +0 -223
  1179. data/vendor/gems/gems/haml-2.2.13/lib/sass/plugin/merb.rb +0 -57
  1180. data/vendor/gems/gems/haml-2.2.13/lib/sass/plugin/rails.rb +0 -24
  1181. data/vendor/gems/gems/haml-2.2.13/lib/sass/repl.rb +0 -58
  1182. data/vendor/gems/gems/haml-2.2.13/lib/sass/script.rb +0 -59
  1183. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/bool.rb +0 -17
  1184. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/color.rb +0 -183
  1185. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/funcall.rb +0 -50
  1186. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/functions.rb +0 -199
  1187. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/lexer.rb +0 -191
  1188. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/literal.rb +0 -177
  1189. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/node.rb +0 -14
  1190. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/number.rb +0 -381
  1191. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/operation.rb +0 -45
  1192. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/parser.rb +0 -222
  1193. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/string.rb +0 -12
  1194. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/unary_operation.rb +0 -34
  1195. data/vendor/gems/gems/haml-2.2.13/lib/sass/script/variable.rb +0 -31
  1196. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/comment_node.rb +0 -84
  1197. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/debug_node.rb +0 -30
  1198. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/directive_node.rb +0 -68
  1199. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/for_node.rb +0 -48
  1200. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/if_node.rb +0 -54
  1201. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/import_node.rb +0 -65
  1202. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/mixin_def_node.rb +0 -29
  1203. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/mixin_node.rb +0 -48
  1204. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/node.rb +0 -251
  1205. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/prop_node.rb +0 -121
  1206. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/rule_node.rb +0 -223
  1207. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/variable_node.rb +0 -34
  1208. data/vendor/gems/gems/haml-2.2.13/lib/sass/tree/while_node.rb +0 -31
  1209. data/vendor/gems/gems/haml-2.2.13/rails/init.rb +0 -1
  1210. data/vendor/gems/gems/haml-2.2.13/test/benchmark.rb +0 -99
  1211. data/vendor/gems/gems/haml-2.2.13/test/haml/engine_test.rb +0 -1231
  1212. data/vendor/gems/gems/haml-2.2.13/test/haml/helper_test.rb +0 -282
  1213. data/vendor/gems/gems/haml-2.2.13/test/haml/html2haml_test.rb +0 -130
  1214. data/vendor/gems/gems/haml-2.2.13/test/haml/markaby/standard.mab +0 -52
  1215. data/vendor/gems/gems/haml-2.2.13/test/haml/mocks/article.rb +0 -6
  1216. data/vendor/gems/gems/haml-2.2.13/test/haml/results/content_for_layout.xhtml +0 -12
  1217. data/vendor/gems/gems/haml-2.2.13/test/haml/results/eval_suppressed.xhtml +0 -9
  1218. data/vendor/gems/gems/haml-2.2.13/test/haml/results/filters.xhtml +0 -62
  1219. data/vendor/gems/gems/haml-2.2.13/test/haml/results/helpers.xhtml +0 -93
  1220. data/vendor/gems/gems/haml-2.2.13/test/haml/results/helpful.xhtml +0 -10
  1221. data/vendor/gems/gems/haml-2.2.13/test/haml/results/just_stuff.xhtml +0 -68
  1222. data/vendor/gems/gems/haml-2.2.13/test/haml/results/list.xhtml +0 -12
  1223. data/vendor/gems/gems/haml-2.2.13/test/haml/results/nuke_inner_whitespace.xhtml +0 -40
  1224. data/vendor/gems/gems/haml-2.2.13/test/haml/results/nuke_outer_whitespace.xhtml +0 -148
  1225. data/vendor/gems/gems/haml-2.2.13/test/haml/results/original_engine.xhtml +0 -20
  1226. data/vendor/gems/gems/haml-2.2.13/test/haml/results/partial_layout.xhtml +0 -5
  1227. data/vendor/gems/gems/haml-2.2.13/test/haml/results/partials.xhtml +0 -21
  1228. data/vendor/gems/gems/haml-2.2.13/test/haml/results/render_layout.xhtml +0 -3
  1229. data/vendor/gems/gems/haml-2.2.13/test/haml/results/silent_script.xhtml +0 -74
  1230. data/vendor/gems/gems/haml-2.2.13/test/haml/results/standard.xhtml +0 -162
  1231. data/vendor/gems/gems/haml-2.2.13/test/haml/results/tag_parsing.xhtml +0 -23
  1232. data/vendor/gems/gems/haml-2.2.13/test/haml/results/very_basic.xhtml +0 -5
  1233. data/vendor/gems/gems/haml-2.2.13/test/haml/results/whitespace_handling.xhtml +0 -89
  1234. data/vendor/gems/gems/haml-2.2.13/test/haml/rhtml/_av_partial_1.rhtml +0 -12
  1235. data/vendor/gems/gems/haml-2.2.13/test/haml/rhtml/_av_partial_2.rhtml +0 -8
  1236. data/vendor/gems/gems/haml-2.2.13/test/haml/rhtml/action_view.rhtml +0 -62
  1237. data/vendor/gems/gems/haml-2.2.13/test/haml/rhtml/standard.rhtml +0 -54
  1238. data/vendor/gems/gems/haml-2.2.13/test/haml/spec/README.md +0 -97
  1239. data/vendor/gems/gems/haml-2.2.13/test/haml/spec/lua_haml_spec.lua +0 -30
  1240. data/vendor/gems/gems/haml-2.2.13/test/haml/spec/ruby_haml_test.rb +0 -19
  1241. data/vendor/gems/gems/haml-2.2.13/test/haml/spec/tests.json +0 -488
  1242. data/vendor/gems/gems/haml-2.2.13/test/haml/template_test.rb +0 -296
  1243. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/_av_partial_1.haml +0 -9
  1244. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/_av_partial_1_ugly.haml +0 -9
  1245. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/_av_partial_2.haml +0 -5
  1246. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/_av_partial_2_ugly.haml +0 -5
  1247. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/_layout.erb +0 -3
  1248. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/_layout_for_partial.haml +0 -3
  1249. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/_partial.haml +0 -8
  1250. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/_text_area.haml +0 -3
  1251. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/action_view.haml +0 -47
  1252. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/action_view_ugly.haml +0 -47
  1253. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/breakage.haml +0 -8
  1254. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/content_for_layout.haml +0 -8
  1255. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/eval_suppressed.haml +0 -11
  1256. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/filters.haml +0 -66
  1257. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/helpers.haml +0 -95
  1258. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/helpful.haml +0 -11
  1259. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/just_stuff.haml +0 -83
  1260. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/list.haml +0 -12
  1261. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/nuke_inner_whitespace.haml +0 -32
  1262. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/nuke_outer_whitespace.haml +0 -144
  1263. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/original_engine.haml +0 -17
  1264. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/partial_layout.haml +0 -3
  1265. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/partialize.haml +0 -1
  1266. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/partials.haml +0 -12
  1267. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/render_layout.haml +0 -2
  1268. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/silent_script.haml +0 -40
  1269. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/standard.haml +0 -42
  1270. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/standard_ugly.haml +0 -42
  1271. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/tag_parsing.haml +0 -21
  1272. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/very_basic.haml +0 -4
  1273. data/vendor/gems/gems/haml-2.2.13/test/haml/templates/whitespace_handling.haml +0 -87
  1274. data/vendor/gems/gems/haml-2.2.13/test/haml/util_test.rb +0 -97
  1275. data/vendor/gems/gems/haml-2.2.13/test/linked_rails.rb +0 -21
  1276. data/vendor/gems/gems/haml-2.2.13/test/sass/css2sass_test.rb +0 -251
  1277. data/vendor/gems/gems/haml-2.2.13/test/sass/engine_test.rb +0 -914
  1278. data/vendor/gems/gems/haml-2.2.13/test/sass/functions_test.rb +0 -126
  1279. data/vendor/gems/gems/haml-2.2.13/test/sass/more_results/more1.css +0 -9
  1280. data/vendor/gems/gems/haml-2.2.13/test/sass/more_results/more1_with_line_comments.css +0 -26
  1281. data/vendor/gems/gems/haml-2.2.13/test/sass/more_results/more_import.css +0 -29
  1282. data/vendor/gems/gems/haml-2.2.13/test/sass/more_templates/_more_partial.sass +0 -2
  1283. data/vendor/gems/gems/haml-2.2.13/test/sass/more_templates/more1.sass +0 -23
  1284. data/vendor/gems/gems/haml-2.2.13/test/sass/more_templates/more_import.sass +0 -11
  1285. data/vendor/gems/gems/haml-2.2.13/test/sass/plugin_test.rb +0 -222
  1286. data/vendor/gems/gems/haml-2.2.13/test/sass/results/alt.css +0 -4
  1287. data/vendor/gems/gems/haml-2.2.13/test/sass/results/basic.css +0 -9
  1288. data/vendor/gems/gems/haml-2.2.13/test/sass/results/compact.css +0 -5
  1289. data/vendor/gems/gems/haml-2.2.13/test/sass/results/complex.css +0 -87
  1290. data/vendor/gems/gems/haml-2.2.13/test/sass/results/compressed.css +0 -1
  1291. data/vendor/gems/gems/haml-2.2.13/test/sass/results/expanded.css +0 -19
  1292. data/vendor/gems/gems/haml-2.2.13/test/sass/results/import.css +0 -29
  1293. data/vendor/gems/gems/haml-2.2.13/test/sass/results/line_numbers.css +0 -49
  1294. data/vendor/gems/gems/haml-2.2.13/test/sass/results/mixins.css +0 -95
  1295. data/vendor/gems/gems/haml-2.2.13/test/sass/results/multiline.css +0 -24
  1296. data/vendor/gems/gems/haml-2.2.13/test/sass/results/nested.css +0 -22
  1297. data/vendor/gems/gems/haml-2.2.13/test/sass/results/parent_ref.css +0 -13
  1298. data/vendor/gems/gems/haml-2.2.13/test/sass/results/script.css +0 -16
  1299. data/vendor/gems/gems/haml-2.2.13/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  1300. data/vendor/gems/gems/haml-2.2.13/test/sass/results/subdir/subdir.css +0 -3
  1301. data/vendor/gems/gems/haml-2.2.13/test/sass/results/units.css +0 -11
  1302. data/vendor/gems/gems/haml-2.2.13/test/sass/script_test.rb +0 -261
  1303. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/_partial.sass +0 -2
  1304. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/alt.sass +0 -16
  1305. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/basic.sass +0 -23
  1306. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/bork.sass +0 -2
  1307. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/bork2.sass +0 -2
  1308. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/compact.sass +0 -17
  1309. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/complex.sass +0 -307
  1310. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/compressed.sass +0 -15
  1311. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/expanded.sass +0 -17
  1312. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/import.sass +0 -11
  1313. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/importee.sass +0 -19
  1314. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/line_numbers.sass +0 -13
  1315. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/mixins.sass +0 -76
  1316. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/multiline.sass +0 -20
  1317. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/nested.sass +0 -25
  1318. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/parent_ref.sass +0 -25
  1319. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/script.sass +0 -101
  1320. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  1321. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  1322. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/subdir/subdir.sass +0 -6
  1323. data/vendor/gems/gems/haml-2.2.13/test/sass/templates/units.sass +0 -11
  1324. data/vendor/gems/gems/haml-2.2.13/test/test_helper.rb +0 -38
  1325. data/vendor/gems/gems/highline-1.5.1/CHANGELOG +0 -222
  1326. data/vendor/gems/gems/highline-1.5.1/INSTALL +0 -35
  1327. data/vendor/gems/gems/highline-1.5.1/LICENSE +0 -7
  1328. data/vendor/gems/gems/highline-1.5.1/README +0 -63
  1329. data/vendor/gems/gems/highline-1.5.1/Rakefile +0 -82
  1330. data/vendor/gems/gems/highline-1.5.1/TODO +0 -6
  1331. data/vendor/gems/gems/highline-1.5.1/examples/ansi_colors.rb +0 -38
  1332. data/vendor/gems/gems/highline-1.5.1/examples/asking_for_arrays.rb +0 -18
  1333. data/vendor/gems/gems/highline-1.5.1/examples/basic_usage.rb +0 -75
  1334. data/vendor/gems/gems/highline-1.5.1/examples/color_scheme.rb +0 -32
  1335. data/vendor/gems/gems/highline-1.5.1/examples/limit.rb +0 -12
  1336. data/vendor/gems/gems/highline-1.5.1/examples/menus.rb +0 -65
  1337. data/vendor/gems/gems/highline-1.5.1/examples/overwrite.rb +0 -19
  1338. data/vendor/gems/gems/highline-1.5.1/examples/page_and_wrap.rb +0 -322
  1339. data/vendor/gems/gems/highline-1.5.1/examples/password.rb +0 -7
  1340. data/vendor/gems/gems/highline-1.5.1/examples/trapping_eof.rb +0 -22
  1341. data/vendor/gems/gems/highline-1.5.1/examples/using_readline.rb +0 -17
  1342. data/vendor/gems/gems/highline-1.5.1/lib/highline.rb +0 -758
  1343. data/vendor/gems/gems/highline-1.5.1/lib/highline/color_scheme.rb +0 -120
  1344. data/vendor/gems/gems/highline-1.5.1/lib/highline/compatibility.rb +0 -17
  1345. data/vendor/gems/gems/highline-1.5.1/lib/highline/import.rb +0 -43
  1346. data/vendor/gems/gems/highline-1.5.1/lib/highline/menu.rb +0 -395
  1347. data/vendor/gems/gems/highline-1.5.1/lib/highline/question.rb +0 -463
  1348. data/vendor/gems/gems/highline-1.5.1/lib/highline/system_extensions.rb +0 -193
  1349. data/vendor/gems/gems/highline-1.5.1/setup.rb +0 -1360
  1350. data/vendor/gems/gems/highline-1.5.1/test/tc_color_scheme.rb +0 -56
  1351. data/vendor/gems/gems/highline-1.5.1/test/tc_highline.rb +0 -823
  1352. data/vendor/gems/gems/highline-1.5.1/test/tc_import.rb +0 -54
  1353. data/vendor/gems/gems/highline-1.5.1/test/tc_menu.rb +0 -429
  1354. data/vendor/gems/gems/highline-1.5.1/test/ts_all.rb +0 -15
  1355. data/vendor/gems/gems/json-1.2.0/.require_paths +0 -4
  1356. data/vendor/gems/gems/json-1.2.0/CHANGES +0 -136
  1357. data/vendor/gems/gems/json-1.2.0/COPYING +0 -58
  1358. data/vendor/gems/gems/json-1.2.0/GPL +0 -340
  1359. data/vendor/gems/gems/json-1.2.0/README +0 -360
  1360. data/vendor/gems/gems/json-1.2.0/Rakefile +0 -287
  1361. data/vendor/gems/gems/json-1.2.0/TODO +0 -1
  1362. data/vendor/gems/gems/json-1.2.0/VERSION +0 -1
  1363. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log +0 -52
  1364. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat +0 -1000
  1365. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat +0 -1001
  1366. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat +0 -900
  1367. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat +0 -901
  1368. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat +0 -1000
  1369. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat +0 -1001
  1370. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log +0 -261
  1371. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat +0 -1000
  1372. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat +0 -1001
  1373. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat +0 -1000
  1374. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat +0 -1001
  1375. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat +0 -1000
  1376. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat +0 -1001
  1377. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log +0 -262
  1378. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat +0 -1000
  1379. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat +0 -1001
  1380. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log +0 -82
  1381. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log +0 -34
  1382. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat +0 -900
  1383. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat +0 -901
  1384. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log +0 -81
  1385. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat +0 -1000
  1386. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat +0 -1001
  1387. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log +0 -82
  1388. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat +0 -1000
  1389. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat +0 -1001
  1390. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log +0 -82
  1391. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat +0 -1000
  1392. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat +0 -1001
  1393. data/vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log +0 -82
  1394. data/vendor/gems/gems/json-1.2.0/benchmarks/generator_benchmark.rb +0 -165
  1395. data/vendor/gems/gems/json-1.2.0/benchmarks/parser_benchmark.rb +0 -197
  1396. data/vendor/gems/gems/json-1.2.0/bin/edit_json.rb +0 -9
  1397. data/vendor/gems/gems/json-1.2.0/bin/prettify_json.rb +0 -75
  1398. data/vendor/gems/gems/json-1.2.0/data/example.json +0 -1
  1399. data/vendor/gems/gems/json-1.2.0/data/index.html +0 -38
  1400. data/vendor/gems/gems/json-1.2.0/data/prototype.js +0 -4184
  1401. data/vendor/gems/gems/json-1.2.0/ext/json/ext/generator.bundle +0 -0
  1402. data/vendor/gems/gems/json-1.2.0/ext/json/ext/generator/Makefile +0 -157
  1403. data/vendor/gems/gems/json-1.2.0/ext/json/ext/generator/extconf.rb +0 -11
  1404. data/vendor/gems/gems/json-1.2.0/ext/json/ext/generator/generator.bundle +0 -0
  1405. data/vendor/gems/gems/json-1.2.0/ext/json/ext/generator/generator.c +0 -935
  1406. data/vendor/gems/gems/json-1.2.0/ext/json/ext/generator/generator.o +0 -0
  1407. data/vendor/gems/gems/json-1.2.0/ext/json/ext/generator/mkmf.log +0 -21
  1408. data/vendor/gems/gems/json-1.2.0/ext/json/ext/generator/unicode.c +0 -180
  1409. data/vendor/gems/gems/json-1.2.0/ext/json/ext/generator/unicode.h +0 -53
  1410. data/vendor/gems/gems/json-1.2.0/ext/json/ext/generator/unicode.o +0 -0
  1411. data/vendor/gems/gems/json-1.2.0/ext/json/ext/parser.bundle +0 -0
  1412. data/vendor/gems/gems/json-1.2.0/ext/json/ext/parser/Makefile +0 -157
  1413. data/vendor/gems/gems/json-1.2.0/ext/json/ext/parser/extconf.rb +0 -11
  1414. data/vendor/gems/gems/json-1.2.0/ext/json/ext/parser/mkmf.log +0 -20
  1415. data/vendor/gems/gems/json-1.2.0/ext/json/ext/parser/parser.bundle +0 -0
  1416. data/vendor/gems/gems/json-1.2.0/ext/json/ext/parser/parser.c +0 -1880
  1417. data/vendor/gems/gems/json-1.2.0/ext/json/ext/parser/parser.o +0 -0
  1418. data/vendor/gems/gems/json-1.2.0/ext/json/ext/parser/parser.rl +0 -737
  1419. data/vendor/gems/gems/json-1.2.0/ext/json/ext/parser/unicode.c +0 -154
  1420. data/vendor/gems/gems/json-1.2.0/ext/json/ext/parser/unicode.h +0 -58
  1421. data/vendor/gems/gems/json-1.2.0/ext/json/ext/parser/unicode.o +0 -0
  1422. data/vendor/gems/gems/json-1.2.0/install.rb +0 -26
  1423. data/vendor/gems/gems/json-1.2.0/lib/json.rb +0 -10
  1424. data/vendor/gems/gems/json-1.2.0/lib/json/Array.xpm +0 -21
  1425. data/vendor/gems/gems/json-1.2.0/lib/json/FalseClass.xpm +0 -21
  1426. data/vendor/gems/gems/json-1.2.0/lib/json/Hash.xpm +0 -21
  1427. data/vendor/gems/gems/json-1.2.0/lib/json/Key.xpm +0 -73
  1428. data/vendor/gems/gems/json-1.2.0/lib/json/NilClass.xpm +0 -21
  1429. data/vendor/gems/gems/json-1.2.0/lib/json/Numeric.xpm +0 -28
  1430. data/vendor/gems/gems/json-1.2.0/lib/json/String.xpm +0 -96
  1431. data/vendor/gems/gems/json-1.2.0/lib/json/TrueClass.xpm +0 -21
  1432. data/vendor/gems/gems/json-1.2.0/lib/json/add/core.rb +0 -135
  1433. data/vendor/gems/gems/json-1.2.0/lib/json/add/rails.rb +0 -58
  1434. data/vendor/gems/gems/json-1.2.0/lib/json/common.rb +0 -371
  1435. data/vendor/gems/gems/json-1.2.0/lib/json/editor.rb +0 -1371
  1436. data/vendor/gems/gems/json-1.2.0/lib/json/ext.rb +0 -15
  1437. data/vendor/gems/gems/json-1.2.0/lib/json/json.xpm +0 -1499
  1438. data/vendor/gems/gems/json-1.2.0/lib/json/pure.rb +0 -77
  1439. data/vendor/gems/gems/json-1.2.0/lib/json/pure/generator.rb +0 -443
  1440. data/vendor/gems/gems/json-1.2.0/lib/json/pure/parser.rb +0 -303
  1441. data/vendor/gems/gems/json-1.2.0/lib/json/version.rb +0 -8
  1442. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail1.json +0 -1
  1443. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail10.json +0 -1
  1444. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail11.json +0 -1
  1445. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail12.json +0 -1
  1446. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail13.json +0 -1
  1447. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail14.json +0 -1
  1448. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail18.json +0 -1
  1449. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail19.json +0 -1
  1450. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail2.json +0 -1
  1451. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail20.json +0 -1
  1452. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail21.json +0 -1
  1453. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail22.json +0 -1
  1454. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail23.json +0 -1
  1455. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail24.json +0 -1
  1456. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail25.json +0 -1
  1457. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail27.json +0 -2
  1458. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail28.json +0 -2
  1459. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail3.json +0 -1
  1460. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail4.json +0 -1
  1461. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail5.json +0 -1
  1462. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail6.json +0 -1
  1463. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail7.json +0 -1
  1464. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail8.json +0 -1
  1465. data/vendor/gems/gems/json-1.2.0/tests/fixtures/fail9.json +0 -1
  1466. data/vendor/gems/gems/json-1.2.0/tests/fixtures/pass1.json +0 -56
  1467. data/vendor/gems/gems/json-1.2.0/tests/fixtures/pass15.json +0 -1
  1468. data/vendor/gems/gems/json-1.2.0/tests/fixtures/pass16.json +0 -1
  1469. data/vendor/gems/gems/json-1.2.0/tests/fixtures/pass17.json +0 -1
  1470. data/vendor/gems/gems/json-1.2.0/tests/fixtures/pass2.json +0 -1
  1471. data/vendor/gems/gems/json-1.2.0/tests/fixtures/pass26.json +0 -1
  1472. data/vendor/gems/gems/json-1.2.0/tests/fixtures/pass3.json +0 -6
  1473. data/vendor/gems/gems/json-1.2.0/tests/test_json.rb +0 -320
  1474. data/vendor/gems/gems/json-1.2.0/tests/test_json_addition.rb +0 -164
  1475. data/vendor/gems/gems/json-1.2.0/tests/test_json_encoding.rb +0 -67
  1476. data/vendor/gems/gems/json-1.2.0/tests/test_json_fixtures.rb +0 -34
  1477. data/vendor/gems/gems/json-1.2.0/tests/test_json_generate.rb +0 -120
  1478. data/vendor/gems/gems/json-1.2.0/tests/test_json_rails.rb +0 -146
  1479. data/vendor/gems/gems/json-1.2.0/tests/test_json_unicode.rb +0 -62
  1480. data/vendor/gems/gems/json-1.2.0/tools/fuzz.rb +0 -139
  1481. data/vendor/gems/gems/json-1.2.0/tools/server.rb +0 -61
  1482. data/vendor/gems/gems/launchy-0.3.3/HISTORY +0 -57
  1483. data/vendor/gems/gems/launchy-0.3.3/LICENSE +0 -31
  1484. data/vendor/gems/gems/launchy-0.3.3/README +0 -49
  1485. data/vendor/gems/gems/launchy-0.3.3/Rakefile +0 -62
  1486. data/vendor/gems/gems/launchy-0.3.3/bin/launchy +0 -12
  1487. data/vendor/gems/gems/launchy-0.3.3/gemspec.rb +0 -41
  1488. data/vendor/gems/gems/launchy-0.3.3/lib/launchy.rb +0 -53
  1489. data/vendor/gems/gems/launchy-0.3.3/lib/launchy/application.rb +0 -174
  1490. data/vendor/gems/gems/launchy-0.3.3/lib/launchy/browser.rb +0 -98
  1491. data/vendor/gems/gems/launchy-0.3.3/lib/launchy/command_line.rb +0 -48
  1492. data/vendor/gems/gems/launchy-0.3.3/lib/launchy/paths.rb +0 -53
  1493. data/vendor/gems/gems/launchy-0.3.3/lib/launchy/version.rb +0 -17
  1494. data/vendor/gems/gems/launchy-0.3.3/spec/application_spec.rb +0 -58
  1495. data/vendor/gems/gems/launchy-0.3.3/spec/browser_spec.rb +0 -50
  1496. data/vendor/gems/gems/launchy-0.3.3/spec/launchy_spec.rb +0 -18
  1497. data/vendor/gems/gems/launchy-0.3.3/spec/paths_spec.rb +0 -15
  1498. data/vendor/gems/gems/launchy-0.3.3/spec/spec_helper.rb +0 -5
  1499. data/vendor/gems/gems/launchy-0.3.3/spec/version_spec.rb +0 -11
  1500. data/vendor/gems/gems/launchy-0.3.3/tasks/announce.rake +0 -39
  1501. data/vendor/gems/gems/launchy-0.3.3/tasks/config.rb +0 -107
  1502. data/vendor/gems/gems/launchy-0.3.3/tasks/distribution.rake +0 -46
  1503. data/vendor/gems/gems/launchy-0.3.3/tasks/documentation.rake +0 -32
  1504. data/vendor/gems/gems/launchy-0.3.3/tasks/rspec.rake +0 -29
  1505. data/vendor/gems/gems/launchy-0.3.3/tasks/rubyforge.rake +0 -52
  1506. data/vendor/gems/gems/launchy-0.3.3/tasks/utils.rb +0 -80
  1507. data/vendor/gems/gems/polyglot-0.2.9/History.txt +0 -57
  1508. data/vendor/gems/gems/polyglot-0.2.9/License.txt +0 -20
  1509. data/vendor/gems/gems/polyglot-0.2.9/Manifest.txt +0 -7
  1510. data/vendor/gems/gems/polyglot-0.2.9/README.txt +0 -87
  1511. data/vendor/gems/gems/polyglot-0.2.9/Rakefile +0 -4
  1512. data/vendor/gems/gems/polyglot-0.2.9/lib/polyglot.rb +0 -81
  1513. data/vendor/gems/gems/polyglot-0.2.9/lib/polyglot/version.rb +0 -9
  1514. data/vendor/gems/gems/polyglot-0.2.9/test/test_helper.rb +0 -2
  1515. data/vendor/gems/gems/polyglot-0.2.9/test/test_polyglot.rb +0 -44
  1516. data/vendor/gems/gems/rack-1.0.1/COPYING +0 -18
  1517. data/vendor/gems/gems/rack-1.0.1/KNOWN-ISSUES +0 -18
  1518. data/vendor/gems/gems/rack-1.0.1/RDOX +0 -428
  1519. data/vendor/gems/gems/rack-1.0.1/README +0 -364
  1520. data/vendor/gems/gems/rack-1.0.1/Rakefile +0 -164
  1521. data/vendor/gems/gems/rack-1.0.1/SPEC +0 -164
  1522. data/vendor/gems/gems/rack-1.0.1/bin/rackup +0 -176
  1523. data/vendor/gems/gems/rack-1.0.1/contrib/rack_logo.svg +0 -111
  1524. data/vendor/gems/gems/rack-1.0.1/example/lobster.ru +0 -4
  1525. data/vendor/gems/gems/rack-1.0.1/example/protectedlobster.rb +0 -14
  1526. data/vendor/gems/gems/rack-1.0.1/example/protectedlobster.ru +0 -8
  1527. data/vendor/gems/gems/rack-1.0.1/lib/rack.rb +0 -90
  1528. data/vendor/gems/gems/rack-1.0.1/lib/rack/adapter/camping.rb +0 -22
  1529. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/abstract/handler.rb +0 -37
  1530. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/abstract/request.rb +0 -37
  1531. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/basic.rb +0 -58
  1532. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/digest/md5.rb +0 -124
  1533. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/digest/nonce.rb +0 -51
  1534. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/digest/params.rb +0 -55
  1535. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/digest/request.rb +0 -40
  1536. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/openid.rb +0 -480
  1537. data/vendor/gems/gems/rack-1.0.1/lib/rack/builder.rb +0 -63
  1538. data/vendor/gems/gems/rack-1.0.1/lib/rack/cascade.rb +0 -36
  1539. data/vendor/gems/gems/rack-1.0.1/lib/rack/chunked.rb +0 -49
  1540. data/vendor/gems/gems/rack-1.0.1/lib/rack/commonlogger.rb +0 -61
  1541. data/vendor/gems/gems/rack-1.0.1/lib/rack/conditionalget.rb +0 -47
  1542. data/vendor/gems/gems/rack-1.0.1/lib/rack/content_length.rb +0 -29
  1543. data/vendor/gems/gems/rack-1.0.1/lib/rack/content_type.rb +0 -23
  1544. data/vendor/gems/gems/rack-1.0.1/lib/rack/deflater.rb +0 -96
  1545. data/vendor/gems/gems/rack-1.0.1/lib/rack/directory.rb +0 -153
  1546. data/vendor/gems/gems/rack-1.0.1/lib/rack/file.rb +0 -88
  1547. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler.rb +0 -69
  1548. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/cgi.rb +0 -61
  1549. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/evented_mongrel.rb +0 -8
  1550. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/fastcgi.rb +0 -90
  1551. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/lsws.rb +0 -60
  1552. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/mongrel.rb +0 -87
  1553. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/scgi.rb +0 -62
  1554. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/swiftiplied_mongrel.rb +0 -8
  1555. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/thin.rb +0 -18
  1556. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/webrick.rb +0 -71
  1557. data/vendor/gems/gems/rack-1.0.1/lib/rack/head.rb +0 -19
  1558. data/vendor/gems/gems/rack-1.0.1/lib/rack/lint.rb +0 -546
  1559. data/vendor/gems/gems/rack-1.0.1/lib/rack/lobster.rb +0 -65
  1560. data/vendor/gems/gems/rack-1.0.1/lib/rack/lock.rb +0 -16
  1561. data/vendor/gems/gems/rack-1.0.1/lib/rack/methodoverride.rb +0 -27
  1562. data/vendor/gems/gems/rack-1.0.1/lib/rack/mime.rb +0 -204
  1563. data/vendor/gems/gems/rack-1.0.1/lib/rack/mock.rb +0 -163
  1564. data/vendor/gems/gems/rack-1.0.1/lib/rack/recursive.rb +0 -57
  1565. data/vendor/gems/gems/rack-1.0.1/lib/rack/reloader.rb +0 -106
  1566. data/vendor/gems/gems/rack-1.0.1/lib/rack/request.rb +0 -246
  1567. data/vendor/gems/gems/rack-1.0.1/lib/rack/response.rb +0 -183
  1568. data/vendor/gems/gems/rack-1.0.1/lib/rack/rewindable_input.rb +0 -100
  1569. data/vendor/gems/gems/rack-1.0.1/lib/rack/session/abstract/id.rb +0 -142
  1570. data/vendor/gems/gems/rack-1.0.1/lib/rack/session/cookie.rb +0 -91
  1571. data/vendor/gems/gems/rack-1.0.1/lib/rack/session/memcache.rb +0 -109
  1572. data/vendor/gems/gems/rack-1.0.1/lib/rack/session/pool.rb +0 -100
  1573. data/vendor/gems/gems/rack-1.0.1/lib/rack/showexceptions.rb +0 -349
  1574. data/vendor/gems/gems/rack-1.0.1/lib/rack/showstatus.rb +0 -106
  1575. data/vendor/gems/gems/rack-1.0.1/lib/rack/static.rb +0 -38
  1576. data/vendor/gems/gems/rack-1.0.1/lib/rack/urlmap.rb +0 -55
  1577. data/vendor/gems/gems/rack-1.0.1/lib/rack/utils.rb +0 -401
  1578. data/vendor/gems/gems/rack-1.0.1/rack.gemspec +0 -54
  1579. data/vendor/gems/gems/rack-1.0.1/test/cgi/lighttpd.conf +0 -20
  1580. data/vendor/gems/gems/rack-1.0.1/test/cgi/test +0 -9
  1581. data/vendor/gems/gems/rack-1.0.1/test/cgi/test.fcgi +0 -8
  1582. data/vendor/gems/gems/rack-1.0.1/test/cgi/test.ru +0 -7
  1583. data/vendor/gems/gems/rack-1.0.1/test/multipart/binary +0 -0
  1584. data/vendor/gems/gems/rack-1.0.1/test/multipart/empty +0 -10
  1585. data/vendor/gems/gems/rack-1.0.1/test/multipart/ie +0 -6
  1586. data/vendor/gems/gems/rack-1.0.1/test/multipart/nested +0 -10
  1587. data/vendor/gems/gems/rack-1.0.1/test/multipart/none +0 -9
  1588. data/vendor/gems/gems/rack-1.0.1/test/multipart/semicolon +0 -6
  1589. data/vendor/gems/gems/rack-1.0.1/test/multipart/text +0 -10
  1590. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_auth_basic.rb +0 -73
  1591. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_auth_digest.rb +0 -226
  1592. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_auth_openid.rb +0 -84
  1593. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_builder.rb +0 -84
  1594. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_camping.rb +0 -51
  1595. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_cascade.rb +0 -50
  1596. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_cgi.rb +0 -89
  1597. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_chunked.rb +0 -62
  1598. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_commonlogger.rb +0 -32
  1599. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_conditionalget.rb +0 -41
  1600. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_content_length.rb +0 -43
  1601. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_content_type.rb +0 -30
  1602. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_deflater.rb +0 -127
  1603. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_directory.rb +0 -61
  1604. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_fastcgi.rb +0 -89
  1605. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_file.rb +0 -75
  1606. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_handler.rb +0 -43
  1607. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_head.rb +0 -30
  1608. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_lint.rb +0 -521
  1609. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_lobster.rb +0 -45
  1610. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_lock.rb +0 -38
  1611. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_methodoverride.rb +0 -60
  1612. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_mock.rb +0 -157
  1613. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_mongrel.rb +0 -189
  1614. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_recursive.rb +0 -77
  1615. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_request.rb +0 -504
  1616. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_response.rb +0 -218
  1617. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_rewindable_input.rb +0 -118
  1618. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_session_cookie.rb +0 -82
  1619. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_session_memcache.rb +0 -240
  1620. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_session_pool.rb +0 -172
  1621. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_showexceptions.rb +0 -21
  1622. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_showstatus.rb +0 -72
  1623. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_static.rb +0 -37
  1624. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_thin.rb +0 -91
  1625. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_urlmap.rb +0 -185
  1626. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_utils.rb +0 -387
  1627. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_webrick.rb +0 -130
  1628. data/vendor/gems/gems/rack-1.0.1/test/testrequest.rb +0 -57
  1629. data/vendor/gems/gems/rack-1.0.1/test/unregistered_handler/rack/handler/unregistered.rb +0 -7
  1630. data/vendor/gems/gems/rack-1.0.1/test/unregistered_handler/rack/handler/unregistered_long_one.rb +0 -7
  1631. data/vendor/gems/gems/rack-test-0.5.2/.document +0 -4
  1632. data/vendor/gems/gems/rack-test-0.5.2/.gitignore +0 -4
  1633. data/vendor/gems/gems/rack-test-0.5.2/History.txt +0 -101
  1634. data/vendor/gems/gems/rack-test-0.5.2/MIT-LICENSE.txt +0 -19
  1635. data/vendor/gems/gems/rack-test-0.5.2/README.rdoc +0 -57
  1636. data/vendor/gems/gems/rack-test-0.5.2/Rakefile +0 -39
  1637. data/vendor/gems/gems/rack-test-0.5.2/Thorfile +0 -114
  1638. data/vendor/gems/gems/rack-test-0.5.2/lib/rack/mock_session.rb +0 -61
  1639. data/vendor/gems/gems/rack-test-0.5.2/lib/rack/test.rb +0 -276
  1640. data/vendor/gems/gems/rack-test-0.5.2/lib/rack/test/cookie_jar.rb +0 -171
  1641. data/vendor/gems/gems/rack-test-0.5.2/lib/rack/test/methods.rb +0 -80
  1642. data/vendor/gems/gems/rack-test-0.5.2/lib/rack/test/mock_digest_request.rb +0 -29
  1643. data/vendor/gems/gems/rack-test-0.5.2/lib/rack/test/uploaded_file.rb +0 -46
  1644. data/vendor/gems/gems/rack-test-0.5.2/lib/rack/test/utils.rb +0 -101
  1645. data/vendor/gems/gems/rack-test-0.5.2/rack-test.gemspec +0 -73
  1646. data/vendor/gems/gems/rack-test-0.5.2/spec/fixtures/config.ru +0 -3
  1647. data/vendor/gems/gems/rack-test-0.5.2/spec/fixtures/fake_app.rb +0 -115
  1648. data/vendor/gems/gems/rack-test-0.5.2/spec/fixtures/foo.txt +0 -1
  1649. data/vendor/gems/gems/rack-test-0.5.2/spec/rack/test/cookie_spec.rb +0 -190
  1650. data/vendor/gems/gems/rack-test-0.5.2/spec/rack/test/digest_auth_spec.rb +0 -48
  1651. data/vendor/gems/gems/rack-test-0.5.2/spec/rack/test/multipart_spec.rb +0 -87
  1652. data/vendor/gems/gems/rack-test-0.5.2/spec/rack/test/utils_spec.rb +0 -97
  1653. data/vendor/gems/gems/rack-test-0.5.2/spec/rack/test_spec.rb +0 -443
  1654. data/vendor/gems/gems/rack-test-0.5.2/spec/spec.opts +0 -2
  1655. data/vendor/gems/gems/rack-test-0.5.2/spec/spec_helper.rb +0 -52
  1656. data/vendor/gems/gems/rake-0.8.7/CHANGES +0 -440
  1657. data/vendor/gems/gems/rake-0.8.7/MIT-LICENSE +0 -21
  1658. data/vendor/gems/gems/rake-0.8.7/README +0 -196
  1659. data/vendor/gems/gems/rake-0.8.7/Rakefile +0 -430
  1660. data/vendor/gems/gems/rake-0.8.7/TODO +0 -20
  1661. data/vendor/gems/gems/rake-0.8.7/bin/rake +0 -31
  1662. data/vendor/gems/gems/rake-0.8.7/doc/command_line_usage.rdoc +0 -102
  1663. data/vendor/gems/gems/rake-0.8.7/doc/example/Rakefile1 +0 -38
  1664. data/vendor/gems/gems/rake-0.8.7/doc/example/Rakefile2 +0 -35
  1665. data/vendor/gems/gems/rake-0.8.7/doc/example/a.c +0 -6
  1666. data/vendor/gems/gems/rake-0.8.7/doc/example/b.c +0 -6
  1667. data/vendor/gems/gems/rake-0.8.7/doc/example/main.c +0 -11
  1668. data/vendor/gems/gems/rake-0.8.7/doc/glossary.rdoc +0 -51
  1669. data/vendor/gems/gems/rake-0.8.7/doc/jamis.rb +0 -591
  1670. data/vendor/gems/gems/rake-0.8.7/doc/proto_rake.rdoc +0 -127
  1671. data/vendor/gems/gems/rake-0.8.7/doc/rake.1.gz +0 -0
  1672. data/vendor/gems/gems/rake-0.8.7/doc/rakefile.rdoc +0 -534
  1673. data/vendor/gems/gems/rake-0.8.7/doc/rational.rdoc +0 -151
  1674. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.4.14.rdoc +0 -23
  1675. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.4.15.rdoc +0 -35
  1676. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.5.0.rdoc +0 -53
  1677. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.5.3.rdoc +0 -78
  1678. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.5.4.rdoc +0 -46
  1679. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.6.0.rdoc +0 -141
  1680. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.7.0.rdoc +0 -119
  1681. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.7.1.rdoc +0 -59
  1682. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.7.2.rdoc +0 -121
  1683. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.7.3.rdoc +0 -47
  1684. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.0.rdoc +0 -114
  1685. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.2.rdoc +0 -165
  1686. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.3.rdoc +0 -112
  1687. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.4.rdoc +0 -147
  1688. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.5.rdoc +0 -53
  1689. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.6.rdoc +0 -55
  1690. data/vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.7.rdoc +0 -55
  1691. data/vendor/gems/gems/rake-0.8.7/install.rb +0 -88
  1692. data/vendor/gems/gems/rake-0.8.7/lib/rake.rb +0 -2506
  1693. data/vendor/gems/gems/rake-0.8.7/lib/rake/alt_system.rb +0 -108
  1694. data/vendor/gems/gems/rake-0.8.7/lib/rake/classic_namespace.rb +0 -8
  1695. data/vendor/gems/gems/rake-0.8.7/lib/rake/clean.rb +0 -33
  1696. data/vendor/gems/gems/rake-0.8.7/lib/rake/contrib/compositepublisher.rb +0 -24
  1697. data/vendor/gems/gems/rake-0.8.7/lib/rake/contrib/ftptools.rb +0 -153
  1698. data/vendor/gems/gems/rake-0.8.7/lib/rake/contrib/publisher.rb +0 -75
  1699. data/vendor/gems/gems/rake-0.8.7/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  1700. data/vendor/gems/gems/rake-0.8.7/lib/rake/contrib/sshpublisher.rb +0 -47
  1701. data/vendor/gems/gems/rake-0.8.7/lib/rake/contrib/sys.rb +0 -209
  1702. data/vendor/gems/gems/rake-0.8.7/lib/rake/gempackagetask.rb +0 -97
  1703. data/vendor/gems/gems/rake-0.8.7/lib/rake/loaders/makefile.rb +0 -42
  1704. data/vendor/gems/gems/rake-0.8.7/lib/rake/packagetask.rb +0 -184
  1705. data/vendor/gems/gems/rake-0.8.7/lib/rake/rake_test_loader.rb +0 -5
  1706. data/vendor/gems/gems/rake-0.8.7/lib/rake/rdoctask.rb +0 -209
  1707. data/vendor/gems/gems/rake-0.8.7/lib/rake/ruby182_test_unit_fix.rb +0 -23
  1708. data/vendor/gems/gems/rake-0.8.7/lib/rake/runtest.rb +0 -23
  1709. data/vendor/gems/gems/rake-0.8.7/lib/rake/tasklib.rb +0 -23
  1710. data/vendor/gems/gems/rake-0.8.7/lib/rake/testtask.rb +0 -161
  1711. data/vendor/gems/gems/rake-0.8.7/lib/rake/win32.rb +0 -55
  1712. data/vendor/gems/gems/rake-0.8.7/test/capture_stdout.rb +0 -26
  1713. data/vendor/gems/gems/rake-0.8.7/test/check_expansion.rb +0 -5
  1714. data/vendor/gems/gems/rake-0.8.7/test/check_no_expansion.rb +0 -5
  1715. data/vendor/gems/gems/rake-0.8.7/test/contrib/test_sys.rb +0 -47
  1716. data/vendor/gems/gems/rake-0.8.7/test/data/chains/Rakefile +0 -15
  1717. data/vendor/gems/gems/rake-0.8.7/test/data/default/Rakefile +0 -19
  1718. data/vendor/gems/gems/rake-0.8.7/test/data/dryrun/Rakefile +0 -22
  1719. data/vendor/gems/gems/rake-0.8.7/test/data/file_creation_task/Rakefile +0 -33
  1720. data/vendor/gems/gems/rake-0.8.7/test/data/imports/Rakefile +0 -19
  1721. data/vendor/gems/gems/rake-0.8.7/test/data/imports/deps.mf +0 -1
  1722. data/vendor/gems/gems/rake-0.8.7/test/data/multidesc/Rakefile +0 -17
  1723. data/vendor/gems/gems/rake-0.8.7/test/data/namespace/Rakefile +0 -57
  1724. data/vendor/gems/gems/rake-0.8.7/test/data/rakelib/test1.rb +0 -3
  1725. data/vendor/gems/gems/rake-0.8.7/test/data/rbext/rakefile.rb +0 -3
  1726. data/vendor/gems/gems/rake-0.8.7/test/data/sample.mf +0 -14
  1727. data/vendor/gems/gems/rake-0.8.7/test/data/statusreturn/Rakefile +0 -8
  1728. data/vendor/gems/gems/rake-0.8.7/test/data/unittest/Rakefile +0 -1
  1729. data/vendor/gems/gems/rake-0.8.7/test/filecreation.rb +0 -32
  1730. data/vendor/gems/gems/rake-0.8.7/test/functional.rb +0 -15
  1731. data/vendor/gems/gems/rake-0.8.7/test/in_environment.rb +0 -30
  1732. data/vendor/gems/gems/rake-0.8.7/test/rake_test_setup.rb +0 -24
  1733. data/vendor/gems/gems/rake-0.8.7/test/reqfile.rb +0 -3
  1734. data/vendor/gems/gems/rake-0.8.7/test/reqfile2.rb +0 -3
  1735. data/vendor/gems/gems/rake-0.8.7/test/session_functional.rb +0 -339
  1736. data/vendor/gems/gems/rake-0.8.7/test/shellcommand.rb +0 -3
  1737. data/vendor/gems/gems/rake-0.8.7/test/test_application.rb +0 -675
  1738. data/vendor/gems/gems/rake-0.8.7/test/test_clean.rb +0 -14
  1739. data/vendor/gems/gems/rake-0.8.7/test/test_definitions.rb +0 -85
  1740. data/vendor/gems/gems/rake-0.8.7/test/test_earlytime.rb +0 -35
  1741. data/vendor/gems/gems/rake-0.8.7/test/test_extension.rb +0 -63
  1742. data/vendor/gems/gems/rake-0.8.7/test/test_file_creation_task.rb +0 -62
  1743. data/vendor/gems/gems/rake-0.8.7/test/test_file_task.rb +0 -143
  1744. data/vendor/gems/gems/rake-0.8.7/test/test_filelist.rb +0 -623
  1745. data/vendor/gems/gems/rake-0.8.7/test/test_fileutils.rb +0 -251
  1746. data/vendor/gems/gems/rake-0.8.7/test/test_ftp.rb +0 -59
  1747. data/vendor/gems/gems/rake-0.8.7/test/test_invocation_chain.rb +0 -81
  1748. data/vendor/gems/gems/rake-0.8.7/test/test_makefile_loader.rb +0 -26
  1749. data/vendor/gems/gems/rake-0.8.7/test/test_multitask.rb +0 -45
  1750. data/vendor/gems/gems/rake-0.8.7/test/test_namespace.rb +0 -55
  1751. data/vendor/gems/gems/rake-0.8.7/test/test_package_task.rb +0 -118
  1752. data/vendor/gems/gems/rake-0.8.7/test/test_pathmap.rb +0 -210
  1753. data/vendor/gems/gems/rake-0.8.7/test/test_pseudo_status.rb +0 -26
  1754. data/vendor/gems/gems/rake-0.8.7/test/test_rake.rb +0 -41
  1755. data/vendor/gems/gems/rake-0.8.7/test/test_rdoc_task.rb +0 -88
  1756. data/vendor/gems/gems/rake-0.8.7/test/test_require.rb +0 -35
  1757. data/vendor/gems/gems/rake-0.8.7/test/test_rules.rb +0 -349
  1758. data/vendor/gems/gems/rake-0.8.7/test/test_task_arguments.rb +0 -89
  1759. data/vendor/gems/gems/rake-0.8.7/test/test_task_manager.rb +0 -173
  1760. data/vendor/gems/gems/rake-0.8.7/test/test_tasklib.rb +0 -12
  1761. data/vendor/gems/gems/rake-0.8.7/test/test_tasks.rb +0 -374
  1762. data/vendor/gems/gems/rake-0.8.7/test/test_test_task.rb +0 -77
  1763. data/vendor/gems/gems/rake-0.8.7/test/test_top_level_functions.rb +0 -86
  1764. data/vendor/gems/gems/rake-0.8.7/test/test_win32.rb +0 -72
  1765. data/vendor/gems/gems/rdoc-2.4.3/.autotest +0 -14
  1766. data/vendor/gems/gems/rdoc-2.4.3/.document +0 -4
  1767. data/vendor/gems/gems/rdoc-2.4.3/History.txt +0 -260
  1768. data/vendor/gems/gems/rdoc-2.4.3/Manifest.txt +0 -126
  1769. data/vendor/gems/gems/rdoc-2.4.3/README.txt +0 -47
  1770. data/vendor/gems/gems/rdoc-2.4.3/RI.txt +0 -58
  1771. data/vendor/gems/gems/rdoc-2.4.3/Rakefile +0 -71
  1772. data/vendor/gems/gems/rdoc-2.4.3/bin/ri +0 -5
  1773. data/vendor/gems/gems/rdoc-2.4.3/lib/rdoc.rb +0 -398
  1774. data/vendor/gems/gems/rdoc-2.4.3/test/binary.dat +0 -0
  1775. data/vendor/gems/gems/rdoc-2.4.3/test/test.ja.rdoc +0 -8
  1776. data/vendor/gems/gems/rdoc-2.4.3/test/test.ja.txt +0 -8
  1777. data/vendor/gems/gems/rdoc-2.4.3/test/test_attribute_manager.rb +0 -76
  1778. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_any_method.rb +0 -10
  1779. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_code_object.rb +0 -80
  1780. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_constant.rb +0 -15
  1781. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_context.rb +0 -250
  1782. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_include.rb +0 -17
  1783. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_markup.rb +0 -626
  1784. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_markup_attribute_manager.rb +0 -243
  1785. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_markup_to_html.rb +0 -81
  1786. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_markup_to_html_crossref.rb +0 -161
  1787. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_normal_module.rb +0 -26
  1788. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_parser.rb +0 -29
  1789. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_parser_c.rb +0 -401
  1790. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_parser_perl.rb +0 -74
  1791. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_parser_ruby.rb +0 -1040
  1792. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_require.rb +0 -25
  1793. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_ri_attribute_formatter.rb +0 -44
  1794. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_ri_default_display.rb +0 -302
  1795. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_ri_driver.rb +0 -94
  1796. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_ri_formatter.rb +0 -320
  1797. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_ri_html_formatter.rb +0 -141
  1798. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_ri_overstrike_formatter.rb +0 -71
  1799. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_task.rb +0 -64
  1800. data/vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_top_level.rb +0 -85
  1801. data/vendor/gems/gems/rdoc-2.4.3/test/xref_data.rb +0 -46
  1802. data/vendor/gems/gems/rdoc-2.4.3/test/xref_test_case.rb +0 -48
  1803. data/vendor/gems/gems/rspec-1.2.9/.document +0 -7
  1804. data/vendor/gems/gems/rspec-1.2.9/History.rdoc +0 -1496
  1805. data/vendor/gems/gems/rspec-1.2.9/License.txt +0 -22
  1806. data/vendor/gems/gems/rspec-1.2.9/Manifest.txt +0 -377
  1807. data/vendor/gems/gems/rspec-1.2.9/README.rdoc +0 -55
  1808. data/vendor/gems/gems/rspec-1.2.9/Rakefile +0 -145
  1809. data/vendor/gems/gems/rspec-1.2.9/Ruby1.9.rdoc +0 -31
  1810. data/vendor/gems/gems/rspec-1.2.9/TODO.txt +0 -17
  1811. data/vendor/gems/gems/rspec-1.2.9/Upgrade.rdoc +0 -199
  1812. data/vendor/gems/gems/rspec-1.2.9/bin/autospec +0 -4
  1813. data/vendor/gems/gems/rspec-1.2.9/bin/spec +0 -5
  1814. data/vendor/gems/gems/rspec-1.2.9/cucumber.yml +0 -5
  1815. data/vendor/gems/gems/rspec-1.2.9/examples/failing/README.txt +0 -11
  1816. data/vendor/gems/gems/rspec-1.2.9/examples/failing/diffing_spec.rb +0 -36
  1817. data/vendor/gems/gems/rspec-1.2.9/examples/failing/failing_implicit_docstrings_example.rb +0 -17
  1818. data/vendor/gems/gems/rspec-1.2.9/examples/failing/failure_in_after.rb +0 -10
  1819. data/vendor/gems/gems/rspec-1.2.9/examples/failing/failure_in_before.rb +0 -10
  1820. data/vendor/gems/gems/rspec-1.2.9/examples/failing/mocking_example.rb +0 -38
  1821. data/vendor/gems/gems/rspec-1.2.9/examples/failing/mocking_with_flexmock.rb +0 -26
  1822. data/vendor/gems/gems/rspec-1.2.9/examples/failing/mocking_with_mocha.rb +0 -25
  1823. data/vendor/gems/gems/rspec-1.2.9/examples/failing/mocking_with_rr.rb +0 -27
  1824. data/vendor/gems/gems/rspec-1.2.9/examples/failing/partial_mock_example.rb +0 -18
  1825. data/vendor/gems/gems/rspec-1.2.9/examples/failing/pending_example.rb +0 -7
  1826. data/vendor/gems/gems/rspec-1.2.9/examples/failing/predicate_example.rb +0 -32
  1827. data/vendor/gems/gems/rspec-1.2.9/examples/failing/raising_example.rb +0 -47
  1828. data/vendor/gems/gems/rspec-1.2.9/examples/failing/syntax_error_example.rb +0 -7
  1829. data/vendor/gems/gems/rspec-1.2.9/examples/failing/team_spec.rb +0 -41
  1830. data/vendor/gems/gems/rspec-1.2.9/examples/failing/timeout_behaviour.rb +0 -5
  1831. data/vendor/gems/gems/rspec-1.2.9/examples/passing/custom_formatter.rb +0 -11
  1832. data/vendor/gems/gems/rspec-1.2.9/examples/passing/custom_matchers.rb +0 -54
  1833. data/vendor/gems/gems/rspec-1.2.9/examples/passing/dynamic_spec.rb +0 -7
  1834. data/vendor/gems/gems/rspec-1.2.9/examples/passing/file_accessor.rb +0 -18
  1835. data/vendor/gems/gems/rspec-1.2.9/examples/passing/file_accessor_spec.rb +0 -37
  1836. data/vendor/gems/gems/rspec-1.2.9/examples/passing/filtered_formatter.rb +0 -17
  1837. data/vendor/gems/gems/rspec-1.2.9/examples/passing/filtered_formatter_example.rb +0 -31
  1838. data/vendor/gems/gems/rspec-1.2.9/examples/passing/greeter_spec.rb +0 -30
  1839. data/vendor/gems/gems/rspec-1.2.9/examples/passing/helper_method_example.rb +0 -12
  1840. data/vendor/gems/gems/rspec-1.2.9/examples/passing/implicit_docstrings_example.rb +0 -16
  1841. data/vendor/gems/gems/rspec-1.2.9/examples/passing/io_processor.rb +0 -8
  1842. data/vendor/gems/gems/rspec-1.2.9/examples/passing/io_processor_spec.rb +0 -20
  1843. data/vendor/gems/gems/rspec-1.2.9/examples/passing/mocking_example.rb +0 -25
  1844. data/vendor/gems/gems/rspec-1.2.9/examples/passing/multi_threaded_example_group_runner.rb +0 -26
  1845. data/vendor/gems/gems/rspec-1.2.9/examples/passing/nested_classes_example.rb +0 -35
  1846. data/vendor/gems/gems/rspec-1.2.9/examples/passing/options_example.rb +0 -29
  1847. data/vendor/gems/gems/rspec-1.2.9/examples/passing/options_formatter.rb +0 -20
  1848. data/vendor/gems/gems/rspec-1.2.9/examples/passing/partial_mock_example.rb +0 -27
  1849. data/vendor/gems/gems/rspec-1.2.9/examples/passing/pending_example.rb +0 -18
  1850. data/vendor/gems/gems/rspec-1.2.9/examples/passing/predicate_example.rb +0 -25
  1851. data/vendor/gems/gems/rspec-1.2.9/examples/passing/shared_example_group_example.rb +0 -79
  1852. data/vendor/gems/gems/rspec-1.2.9/examples/passing/shared_stack_examples.rb +0 -36
  1853. data/vendor/gems/gems/rspec-1.2.9/examples/passing/simple_matcher_example.rb +0 -29
  1854. data/vendor/gems/gems/rspec-1.2.9/examples/passing/stack.rb +0 -36
  1855. data/vendor/gems/gems/rspec-1.2.9/examples/passing/stack_spec.rb +0 -63
  1856. data/vendor/gems/gems/rspec-1.2.9/examples/passing/stack_spec_with_nested_example_groups.rb +0 -66
  1857. data/vendor/gems/gems/rspec-1.2.9/examples/passing/stubbing_example.rb +0 -67
  1858. data/vendor/gems/gems/rspec-1.2.9/examples/passing/yielding_example.rb +0 -31
  1859. data/vendor/gems/gems/rspec-1.2.9/examples/ruby1.9.compatibility/access_to_constants_spec.rb +0 -85
  1860. data/vendor/gems/gems/rspec-1.2.9/features/before_and_after_blocks/before_and_after_blocks.feature +0 -167
  1861. data/vendor/gems/gems/rspec-1.2.9/features/command_line/line_number_option.feature +0 -56
  1862. data/vendor/gems/gems/rspec-1.2.9/features/command_line/line_number_option_with_example_with_no_name.feature +0 -22
  1863. data/vendor/gems/gems/rspec-1.2.9/features/example_groups/define_example_attribute.feature +0 -41
  1864. data/vendor/gems/gems/rspec-1.2.9/features/example_groups/example_group_with_should_methods.feature +0 -29
  1865. data/vendor/gems/gems/rspec-1.2.9/features/example_groups/implicit_docstrings.feature +0 -59
  1866. data/vendor/gems/gems/rspec-1.2.9/features/example_groups/nested_groups.feature +0 -32
  1867. data/vendor/gems/gems/rspec-1.2.9/features/expectations/customized_message.feature +0 -54
  1868. data/vendor/gems/gems/rspec-1.2.9/features/expectations/expect_change.feature +0 -65
  1869. data/vendor/gems/gems/rspec-1.2.9/features/expectations/expect_error.feature +0 -44
  1870. data/vendor/gems/gems/rspec-1.2.9/features/extensions/custom_example_group.feature +0 -19
  1871. data/vendor/gems/gems/rspec-1.2.9/features/formatters/custom_formatter.feature +0 -30
  1872. data/vendor/gems/gems/rspec-1.2.9/features/interop/examples_and_tests_together.feature +0 -84
  1873. data/vendor/gems/gems/rspec-1.2.9/features/interop/rspec_output.feature +0 -25
  1874. data/vendor/gems/gems/rspec-1.2.9/features/interop/test_but_not_test_unit.feature +0 -26
  1875. data/vendor/gems/gems/rspec-1.2.9/features/interop/test_case_with_should_methods.feature +0 -46
  1876. data/vendor/gems/gems/rspec-1.2.9/features/load_paths/add_lib_to_load_path.feature +0 -20
  1877. data/vendor/gems/gems/rspec-1.2.9/features/load_paths/add_spec_to_load_path.feature +0 -20
  1878. data/vendor/gems/gems/rspec-1.2.9/features/matchers/define_diffable_matcher.feature +0 -26
  1879. data/vendor/gems/gems/rspec-1.2.9/features/matchers/define_matcher.feature +0 -179
  1880. data/vendor/gems/gems/rspec-1.2.9/features/matchers/define_matcher_outside_rspec.feature +0 -38
  1881. data/vendor/gems/gems/rspec-1.2.9/features/matchers/define_matcher_with_fluent_interface.feature +0 -27
  1882. data/vendor/gems/gems/rspec-1.2.9/features/matchers/define_wrapped_matcher.feature +0 -29
  1883. data/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_flexmock.feature +0 -27
  1884. data/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_mocha.feature +0 -27
  1885. data/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_rr.feature +0 -27
  1886. data/vendor/gems/gems/rspec-1.2.9/features/mocks/mix_stubs_and_mocks.feature +0 -22
  1887. data/vendor/gems/gems/rspec-1.2.9/features/mocks/stub_implementation.feature +0 -26
  1888. data/vendor/gems/gems/rspec-1.2.9/features/pending/pending_examples.feature +0 -81
  1889. data/vendor/gems/gems/rspec-1.2.9/features/runner/specify_line_number.feature +0 -32
  1890. data/vendor/gems/gems/rspec-1.2.9/features/spec_helper/spec_helper.feature +0 -25
  1891. data/vendor/gems/gems/rspec-1.2.9/features/step_definitions/running_rspec_steps.rb +0 -43
  1892. data/vendor/gems/gems/rspec-1.2.9/features/subject/explicit_subject.feature +0 -31
  1893. data/vendor/gems/gems/rspec-1.2.9/features/subject/implicit_subject.feature +0 -43
  1894. data/vendor/gems/gems/rspec-1.2.9/features/support/env.rb +0 -82
  1895. data/vendor/gems/gems/rspec-1.2.9/features/support/matchers/smart_match.rb +0 -12
  1896. data/vendor/gems/gems/rspec-1.2.9/init.rb +0 -9
  1897. data/vendor/gems/gems/rspec-1.2.9/lib/autotest/discover.rb +0 -3
  1898. data/vendor/gems/gems/rspec-1.2.9/lib/autotest/rspec.rb +0 -47
  1899. data/vendor/gems/gems/rspec-1.2.9/lib/spec.rb +0 -8
  1900. data/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/flexmock.rb +0 -24
  1901. data/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/mocha.rb +0 -25
  1902. data/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/rr.rb +0 -22
  1903. data/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/rspec.rb +0 -21
  1904. data/vendor/gems/gems/rspec-1.2.9/lib/spec/autorun.rb +0 -3
  1905. data/vendor/gems/gems/rspec-1.2.9/lib/spec/deprecation.rb +0 -40
  1906. data/vendor/gems/gems/rspec-1.2.9/lib/spec/dsl.rb +0 -1
  1907. data/vendor/gems/gems/rspec-1.2.9/lib/spec/dsl/main.rb +0 -92
  1908. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example.rb +0 -164
  1909. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/args_and_options.rb +0 -27
  1910. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/before_and_after_hooks.rb +0 -93
  1911. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/errors.rb +0 -25
  1912. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group.rb +0 -10
  1913. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_factory.rb +0 -82
  1914. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_hierarchy.rb +0 -53
  1915. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_methods.rb +0 -282
  1916. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_proxy.rb +0 -61
  1917. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_matcher.rb +0 -43
  1918. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_methods.rb +0 -148
  1919. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_proxy.rb +0 -41
  1920. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/module_reopening_fix.rb +0 -43
  1921. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/pending.rb +0 -18
  1922. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/predicate_matchers.rb +0 -46
  1923. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/shared_example_group.rb +0 -59
  1924. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/subject.rb +0 -108
  1925. data/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations.rb +0 -35
  1926. data/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/errors.rb +0 -12
  1927. data/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/extensions.rb +0 -1
  1928. data/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/extensions/kernel.rb +0 -52
  1929. data/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/fail_with.rb +0 -45
  1930. data/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/handler.rb +0 -50
  1931. data/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test.rb +0 -44
  1932. data/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/autorunner.rb +0 -6
  1933. data/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testcase.rb +0 -56
  1934. data/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testresult.rb +0 -6
  1935. data/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testsuite_adapter.rb +0 -34
  1936. data/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/ui/console/testrunner.rb +0 -61
  1937. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers.rb +0 -195
  1938. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be.rb +0 -210
  1939. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_close.rb +0 -32
  1940. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_instance_of.rb +0 -26
  1941. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_kind_of.rb +0 -26
  1942. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/change.rb +0 -151
  1943. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/compatibility.rb +0 -14
  1944. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/dsl.rb +0 -20
  1945. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/eql.rb +0 -42
  1946. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/equal.rb +0 -53
  1947. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/errors.rb +0 -5
  1948. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/exist.rb +0 -16
  1949. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/extensions/instance_exec.rb +0 -31
  1950. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/generated_descriptions.rb +0 -36
  1951. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/has.rb +0 -35
  1952. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/have.rb +0 -151
  1953. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/include.rb +0 -44
  1954. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/match.rb +0 -21
  1955. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/match_array.rb +0 -71
  1956. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb +0 -87
  1957. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/method_missing.rb +0 -9
  1958. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/operator_matcher.rb +0 -78
  1959. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/pretty.rb +0 -37
  1960. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/raise_error.rb +0 -129
  1961. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/respond_to.rb +0 -71
  1962. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/satisfy.rb +0 -47
  1963. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/simple_matcher.rb +0 -133
  1964. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/throw_symbol.rb +0 -104
  1965. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/wrap_expectation.rb +0 -55
  1966. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks.rb +0 -200
  1967. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/argument_expectation.rb +0 -51
  1968. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/argument_matchers.rb +0 -237
  1969. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/error_generator.rb +0 -92
  1970. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/errors.rb +0 -10
  1971. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/example_methods.rb +0 -69
  1972. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/extensions.rb +0 -1
  1973. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/extensions/object.rb +0 -3
  1974. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/framework.rb +0 -15
  1975. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/message_expectation.rb +0 -329
  1976. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/methods.rb +0 -89
  1977. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/mock.rb +0 -71
  1978. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/order_group.rb +0 -29
  1979. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/proxy.rb +0 -245
  1980. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/space.rb +0 -28
  1981. data/vendor/gems/gems/rspec-1.2.9/lib/spec/rake/spectask.rb +0 -230
  1982. data/vendor/gems/gems/rspec-1.2.9/lib/spec/rake/verify_rcov.rb +0 -52
  1983. data/vendor/gems/gems/rspec-1.2.9/lib/spec/ruby.rb +0 -9
  1984. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner.rb +0 -66
  1985. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/backtrace_tweaker.rb +0 -77
  1986. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/class_and_arguments_parser.rb +0 -14
  1987. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/command_line.rb +0 -15
  1988. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/configuration.rb +0 -194
  1989. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/differs/default.rb +0 -93
  1990. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/differs/load-diff-lcs.rb +0 -12
  1991. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/drb_command_line.rb +0 -26
  1992. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/example_group_runner.rb +0 -59
  1993. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/extensions/kernel.rb +0 -9
  1994. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/base_formatter.rb +0 -139
  1995. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/base_text_formatter.rb +0 -142
  1996. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/failing_example_groups_formatter.rb +0 -25
  1997. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/failing_examples_formatter.rb +0 -20
  1998. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/html_formatter.rb +0 -338
  1999. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/nested_text_formatter.rb +0 -47
  2000. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/no_op_method_missing.rb +0 -21
  2001. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/profile_formatter.rb +0 -47
  2002. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -33
  2003. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/silent_formatter.rb +0 -10
  2004. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/snippet_extractor.rb +0 -52
  2005. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/specdoc_formatter.rb +0 -33
  2006. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/text_mate_formatter.rb +0 -16
  2007. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/heckle_runner.rb +0 -72
  2008. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/heckle_runner_unsupported.rb +0 -10
  2009. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/line_number_query.rb +0 -78
  2010. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/option_parser.rb +0 -223
  2011. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/options.rb +0 -400
  2012. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/reporter.rb +0 -171
  2013. data/vendor/gems/gems/rspec-1.2.9/lib/spec/stubs/cucumber.rb +0 -5
  2014. data/vendor/gems/gems/rspec-1.2.9/lib/spec/test/unit.rb +0 -10
  2015. data/vendor/gems/gems/rspec-1.2.9/lib/spec/version.rb +0 -14
  2016. data/vendor/gems/gems/rspec-1.2.9/resources/helpers/cmdline.rb +0 -8
  2017. data/vendor/gems/gems/rspec-1.2.9/resources/rake/examples.rake +0 -7
  2018. data/vendor/gems/gems/rspec-1.2.9/resources/rake/examples_with_rcov.rake +0 -9
  2019. data/vendor/gems/gems/rspec-1.2.9/resources/rake/failing_examples_with_html.rake +0 -9
  2020. data/vendor/gems/gems/rspec-1.2.9/resources/rake/verify_rcov.rake +0 -7
  2021. data/vendor/gems/gems/rspec-1.2.9/spec/README.jruby +0 -15
  2022. data/vendor/gems/gems/rspec-1.2.9/spec/autotest/autotest_helper.rb +0 -8
  2023. data/vendor/gems/gems/rspec-1.2.9/spec/autotest/autotest_matchers.rb +0 -38
  2024. data/vendor/gems/gems/rspec-1.2.9/spec/autotest/discover_spec.rb +0 -8
  2025. data/vendor/gems/gems/rspec-1.2.9/spec/autotest/failed_results_re_spec.rb +0 -31
  2026. data/vendor/gems/gems/rspec-1.2.9/spec/autotest/rspec_spec.rb +0 -111
  2027. data/vendor/gems/gems/rspec-1.2.9/spec/ruby_forker.rb +0 -13
  2028. data/vendor/gems/gems/rspec-1.2.9/spec/spec.opts +0 -6
  2029. data/vendor/gems/gems/rspec-1.2.9/spec/spec/dsl/main_spec.rb +0 -95
  2030. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_class_definition_spec.rb +0 -51
  2031. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_factory_spec.rb +0 -180
  2032. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_methods_spec.rb +0 -758
  2033. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_proxy_spec.rb +0 -107
  2034. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_spec.rb +0 -643
  2035. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_matcher_spec.rb +0 -86
  2036. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_methods_spec.rb +0 -162
  2037. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_proxy_spec.rb +0 -57
  2038. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/helper_method_spec.rb +0 -24
  2039. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/nested_example_group_spec.rb +0 -71
  2040. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/pending_module_spec.rb +0 -58
  2041. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/predicate_matcher_spec.rb +0 -41
  2042. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/shared_example_group_spec.rb +0 -257
  2043. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/subclassing_example_group_spec.rb +0 -25
  2044. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/subject_spec.rb +0 -103
  2045. data/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/differs/default_spec.rb +0 -194
  2046. data/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/extensions/kernel_spec.rb +0 -45
  2047. data/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/fail_with_spec.rb +0 -96
  2048. data/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/handler_spec.rb +0 -206
  2049. data/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/wrap_expectation_spec.rb +0 -30
  2050. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_that_fails.rb +0 -10
  2051. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_that_passes.rb +0 -10
  2052. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_with_errors.rb +0 -10
  2053. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +0 -13
  2054. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +0 -10
  2055. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +0 -10
  2056. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +0 -10
  2057. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +0 -22
  2058. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +0 -38
  2059. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/spec_spec.rb +0 -48
  2060. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/test_unit_spec_helper.rb +0 -18
  2061. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/testcase_spec.rb +0 -50
  2062. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +0 -9
  2063. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_close_spec.rb +0 -50
  2064. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_instance_of_spec.rb +0 -36
  2065. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_kind_of_spec.rb +0 -33
  2066. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_spec.rb +0 -311
  2067. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/change_spec.rb +0 -349
  2068. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/compatibility_spec.rb +0 -28
  2069. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/description_generation_spec.rb +0 -160
  2070. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/dsl_spec.rb +0 -34
  2071. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/eql_spec.rb +0 -33
  2072. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/equal_spec.rb +0 -57
  2073. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/exist_spec.rb +0 -65
  2074. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/has_spec.rb +0 -81
  2075. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/have_spec.rb +0 -396
  2076. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/include_spec.rb +0 -88
  2077. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/match_array_spec.rb +0 -108
  2078. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/match_spec.rb +0 -57
  2079. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matcher_methods_spec.rb +0 -63
  2080. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matcher_spec.rb +0 -228
  2081. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matchers_spec.rb +0 -2
  2082. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/operator_matcher_spec.rb +0 -191
  2083. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/raise_error_spec.rb +0 -333
  2084. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/respond_to_spec.rb +0 -116
  2085. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/satisfy_spec.rb +0 -36
  2086. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/simple_matcher_spec.rb +0 -93
  2087. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/throw_symbol_spec.rb +0 -96
  2088. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/any_number_of_times_spec.rb +0 -36
  2089. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/argument_expectation_spec.rb +0 -23
  2090. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/argument_matchers_spec.rb +0 -19
  2091. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/at_least_spec.rb +0 -97
  2092. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/at_most_spec.rb +0 -93
  2093. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_10260_spec.rb +0 -8
  2094. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_10263_spec.rb +0 -27
  2095. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_11545_spec.rb +0 -32
  2096. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_15719_spec.rb +0 -30
  2097. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_496_spec.rb +0 -19
  2098. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_600_spec.rb +0 -22
  2099. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_7611_spec.rb +0 -19
  2100. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_7805_spec.rb +0 -22
  2101. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_8165_spec.rb +0 -31
  2102. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_8302_spec.rb +0 -26
  2103. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_830_spec.rb +0 -21
  2104. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/double_spec.rb +0 -12
  2105. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/failing_argument_matchers_spec.rb +0 -95
  2106. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/hash_including_matcher_spec.rb +0 -90
  2107. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/hash_not_including_matcher_spec.rb +0 -67
  2108. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_ordering_spec.rb +0 -94
  2109. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_space_spec.rb +0 -54
  2110. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_spec.rb +0 -594
  2111. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/multiple_return_value_spec.rb +0 -113
  2112. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/nil_expectation_warning_spec.rb +0 -53
  2113. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/null_object_mock_spec.rb +0 -54
  2114. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/once_counts_spec.rb +0 -53
  2115. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/options_hash_spec.rb +0 -35
  2116. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/partial_mock_spec.rb +0 -164
  2117. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +0 -66
  2118. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/passing_argument_matchers_spec.rb +0 -145
  2119. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/precise_counts_spec.rb +0 -52
  2120. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/record_messages_spec.rb +0 -26
  2121. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_chain_spec.rb +0 -42
  2122. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_implementation_spec.rb +0 -31
  2123. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_spec.rb +0 -203
  2124. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stubbed_message_expectations_spec.rb +0 -26
  2125. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/twice_counts_spec.rb +0 -67
  2126. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/unstub_spec.rb +0 -127
  2127. data/vendor/gems/gems/rspec-1.2.9/spec/spec/package/bin_spec_spec.rb +0 -16
  2128. data/vendor/gems/gems/rspec-1.2.9/spec/spec/rake/spectask_spec.rb +0 -150
  2129. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/class_and_argument_parser_spec.rb +0 -23
  2130. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/command_line_spec.rb +0 -141
  2131. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/configuration_spec.rb +0 -320
  2132. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/drb_command_line_spec.rb +0 -107
  2133. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/empty_file.txt +0 -0
  2134. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/example_group_runner_spec.rb +0 -26
  2135. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/examples.txt +0 -2
  2136. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/failed.txt +0 -3
  2137. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/base_formatter_spec.rb +0 -30
  2138. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/base_text_formatter_spec.rb +0 -113
  2139. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +0 -45
  2140. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +0 -33
  2141. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +0 -377
  2142. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.6.html +0 -377
  2143. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.7.html +0 -377
  2144. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.9.1.html +0 -377
  2145. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatter_spec.rb +0 -118
  2146. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/nested_text_formatter_spec.rb +0 -305
  2147. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/profile_formatter_spec.rb +0 -70
  2148. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +0 -149
  2149. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/snippet_extractor_spec.rb +0 -18
  2150. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/specdoc_formatter_spec.rb +0 -159
  2151. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +0 -371
  2152. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +0 -371
  2153. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +0 -371
  2154. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +0 -371
  2155. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatter_spec.rb +0 -106
  2156. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/heckle_runner_spec.rb +0 -78
  2157. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/heckler_spec.rb +0 -20
  2158. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/line_number_query/line_number_query_fixture.rb +0 -70
  2159. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/line_number_query_spec.rb +0 -129
  2160. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +0 -51
  2161. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/option_parser_spec.rb +0 -545
  2162. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/options_spec.rb +0 -547
  2163. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_fixture.rb +0 -7
  2164. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_fixture_runner.rb +0 -7
  2165. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_spec.rb +0 -15
  2166. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +0 -105
  2167. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/reporter_spec.rb +0 -244
  2168. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_bar.rb +0 -0
  2169. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_foo.rb +0 -0
  2170. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_spec.rb +0 -1
  2171. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/custom_example_group_runner.rb +0 -14
  2172. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/utf8_encoded.rb +0 -8
  2173. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec.opts +0 -2
  2174. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec_drb.opts +0 -2
  2175. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec_spaced.opts +0 -2
  2176. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner_spec.rb +0 -13
  2177. data/vendor/gems/gems/rspec-1.2.9/spec/spec_helper.rb +0 -112
  2178. data/vendor/gems/gems/rspec-1.2.9/spec/support/macros.rb +0 -29
  2179. data/vendor/gems/gems/rspec-1.2.9/spec/support/spec_classes.rb +0 -133
  2180. data/vendor/gems/gems/sdoc-0.2.14.1/.gitignore +0 -3
  2181. data/vendor/gems/gems/sdoc-0.2.14.1/LICENSE +0 -21
  2182. data/vendor/gems/gems/sdoc-0.2.14.1/README.rdoc +0 -38
  2183. data/vendor/gems/gems/sdoc-0.2.14.1/Rakefile +0 -44
  2184. data/vendor/gems/gems/sdoc-0.2.14.1/VERSION.yml +0 -4
  2185. data/vendor/gems/gems/sdoc-0.2.14.1/bin/sdoc +0 -11
  2186. data/vendor/gems/gems/sdoc-0.2.14.1/bin/sdoc-merge +0 -12
  2187. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc.rb +0 -23
  2188. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/c_parser_fix.rb +0 -31
  2189. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/shtml.rb +0 -356
  2190. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/_context.rhtml +0 -172
  2191. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/class.rhtml +0 -40
  2192. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/file.rhtml +0 -30
  2193. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/index.rhtml +0 -14
  2194. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/apple-touch-icon.png +0 -0
  2195. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/css/main.css +0 -263
  2196. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/css/panel.css +0 -383
  2197. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/css/reset.css +0 -53
  2198. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/favicon.ico +0 -0
  2199. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/i/arrows.png +0 -0
  2200. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/i/results_bg.png +0 -0
  2201. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/i/tree_bg.png +0 -0
  2202. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/jquery-1.3.2.min.js +0 -19
  2203. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/jquery-effect.js +0 -593
  2204. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/main.js +0 -22
  2205. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/searchdoc.js +0 -628
  2206. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/panel/index.html +0 -71
  2207. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/merge/index.rhtml +0 -14
  2208. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/_context.rhtml +0 -164
  2209. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/class.rhtml +0 -46
  2210. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/file.rhtml +0 -37
  2211. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/index.rhtml +0 -14
  2212. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/apple-touch-icon.png +0 -0
  2213. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/css/main.css +0 -191
  2214. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/css/panel.css +0 -383
  2215. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/css/reset.css +0 -53
  2216. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/favicon.ico +0 -0
  2217. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/i/arrows.png +0 -0
  2218. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/i/results_bg.png +0 -0
  2219. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/i/tree_bg.png +0 -0
  2220. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/jquery-1.3.2.min.js +0 -19
  2221. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/main.js +0 -34
  2222. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/searchdoc.js +0 -628
  2223. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/panel/index.html +0 -71
  2224. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/github.rb +0 -64
  2225. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/helpers.rb +0 -26
  2226. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/merge.rb +0 -217
  2227. data/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/templatable.rb +0 -58
  2228. data/vendor/gems/gems/sdoc-0.2.14.1/sdoc.gemspec +0 -89
  2229. data/vendor/gems/gems/shotgun-0.4/COPYING +0 -18
  2230. data/vendor/gems/gems/shotgun-0.4/README +0 -46
  2231. data/vendor/gems/gems/shotgun-0.4/Rakefile +0 -56
  2232. data/vendor/gems/gems/shotgun-0.4/bin/shotgun +0 -136
  2233. data/vendor/gems/gems/shotgun-0.4/lib/shotgun.rb +0 -99
  2234. data/vendor/gems/gems/shotgun-0.4/shotgun.gemspec +0 -34
  2235. data/vendor/gems/gems/sinatra-0.9.4/AUTHORS +0 -41
  2236. data/vendor/gems/gems/sinatra-0.9.4/CHANGES +0 -385
  2237. data/vendor/gems/gems/sinatra-0.9.4/LICENSE +0 -22
  2238. data/vendor/gems/gems/sinatra-0.9.4/README.rdoc +0 -573
  2239. data/vendor/gems/gems/sinatra-0.9.4/Rakefile +0 -138
  2240. data/vendor/gems/gems/sinatra-0.9.4/compat/app_test.rb +0 -282
  2241. data/vendor/gems/gems/sinatra-0.9.4/compat/application_test.rb +0 -262
  2242. data/vendor/gems/gems/sinatra-0.9.4/compat/builder_test.rb +0 -101
  2243. data/vendor/gems/gems/sinatra-0.9.4/compat/compat_test.rb +0 -12
  2244. data/vendor/gems/gems/sinatra-0.9.4/compat/custom_error_test.rb +0 -62
  2245. data/vendor/gems/gems/sinatra-0.9.4/compat/erb_test.rb +0 -136
  2246. data/vendor/gems/gems/sinatra-0.9.4/compat/events_test.rb +0 -78
  2247. data/vendor/gems/gems/sinatra-0.9.4/compat/filter_test.rb +0 -30
  2248. data/vendor/gems/gems/sinatra-0.9.4/compat/haml_test.rb +0 -236
  2249. data/vendor/gems/gems/sinatra-0.9.4/compat/helper.rb +0 -33
  2250. data/vendor/gems/gems/sinatra-0.9.4/compat/mapped_error_test.rb +0 -72
  2251. data/vendor/gems/gems/sinatra-0.9.4/compat/pipeline_test.rb +0 -45
  2252. data/vendor/gems/gems/sinatra-0.9.4/compat/public/foo.xml +0 -1
  2253. data/vendor/gems/gems/sinatra-0.9.4/compat/sass_test.rb +0 -67
  2254. data/vendor/gems/gems/sinatra-0.9.4/compat/sessions_test.rb +0 -42
  2255. data/vendor/gems/gems/sinatra-0.9.4/compat/streaming_test.rb +0 -133
  2256. data/vendor/gems/gems/sinatra-0.9.4/compat/sym_params_test.rb +0 -19
  2257. data/vendor/gems/gems/sinatra-0.9.4/compat/template_test.rb +0 -30
  2258. data/vendor/gems/gems/sinatra-0.9.4/compat/use_in_file_templates_test.rb +0 -47
  2259. data/vendor/gems/gems/sinatra-0.9.4/compat/views/foo.builder +0 -1
  2260. data/vendor/gems/gems/sinatra-0.9.4/compat/views/foo.erb +0 -1
  2261. data/vendor/gems/gems/sinatra-0.9.4/compat/views/foo.haml +0 -1
  2262. data/vendor/gems/gems/sinatra-0.9.4/compat/views/foo.sass +0 -2
  2263. data/vendor/gems/gems/sinatra-0.9.4/compat/views/foo_layout.erb +0 -2
  2264. data/vendor/gems/gems/sinatra-0.9.4/compat/views/foo_layout.haml +0 -2
  2265. data/vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/foo.builder +0 -1
  2266. data/vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/foo.erb +0 -1
  2267. data/vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/foo.haml +0 -1
  2268. data/vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/foo.sass +0 -2
  2269. data/vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/layout.builder +0 -3
  2270. data/vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/layout.erb +0 -1
  2271. data/vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/layout.haml +0 -1
  2272. data/vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/layout.sass +0 -2
  2273. data/vendor/gems/gems/sinatra-0.9.4/compat/views/no_layout/no_layout.builder +0 -1
  2274. data/vendor/gems/gems/sinatra-0.9.4/compat/views/no_layout/no_layout.haml +0 -1
  2275. data/vendor/gems/gems/sinatra-0.9.4/lib/sinatra.rb +0 -8
  2276. data/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/base.rb +0 -1119
  2277. data/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/compat.rb +0 -266
  2278. data/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/images/404.png +0 -0
  2279. data/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/images/500.png +0 -0
  2280. data/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/main.rb +0 -35
  2281. data/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/showexceptions.rb +0 -303
  2282. data/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test.rb +0 -128
  2283. data/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/bacon.rb +0 -19
  2284. data/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/rspec.rb +0 -13
  2285. data/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/spec.rb +0 -11
  2286. data/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/unit.rb +0 -13
  2287. data/vendor/gems/gems/sinatra-0.9.4/sinatra.gemspec +0 -125
  2288. data/vendor/gems/gems/sinatra-0.9.4/test/base_test.rb +0 -160
  2289. data/vendor/gems/gems/sinatra-0.9.4/test/builder_test.rb +0 -65
  2290. data/vendor/gems/gems/sinatra-0.9.4/test/contest.rb +0 -64
  2291. data/vendor/gems/gems/sinatra-0.9.4/test/data/reload_app_file.rb +0 -3
  2292. data/vendor/gems/gems/sinatra-0.9.4/test/erb_test.rb +0 -81
  2293. data/vendor/gems/gems/sinatra-0.9.4/test/extensions_test.rb +0 -100
  2294. data/vendor/gems/gems/sinatra-0.9.4/test/filter_test.rb +0 -99
  2295. data/vendor/gems/gems/sinatra-0.9.4/test/haml_test.rb +0 -90
  2296. data/vendor/gems/gems/sinatra-0.9.4/test/helper.rb +0 -76
  2297. data/vendor/gems/gems/sinatra-0.9.4/test/helpers_test.rb +0 -503
  2298. data/vendor/gems/gems/sinatra-0.9.4/test/mapped_error_test.rb +0 -155
  2299. data/vendor/gems/gems/sinatra-0.9.4/test/middleware_test.rb +0 -68
  2300. data/vendor/gems/gems/sinatra-0.9.4/test/options_test.rb +0 -372
  2301. data/vendor/gems/gems/sinatra-0.9.4/test/render_backtrace_test.rb +0 -145
  2302. data/vendor/gems/gems/sinatra-0.9.4/test/request_test.rb +0 -18
  2303. data/vendor/gems/gems/sinatra-0.9.4/test/response_test.rb +0 -42
  2304. data/vendor/gems/gems/sinatra-0.9.4/test/result_test.rb +0 -98
  2305. data/vendor/gems/gems/sinatra-0.9.4/test/route_added_hook_test.rb +0 -59
  2306. data/vendor/gems/gems/sinatra-0.9.4/test/routing_test.rb +0 -784
  2307. data/vendor/gems/gems/sinatra-0.9.4/test/sass_test.rb +0 -79
  2308. data/vendor/gems/gems/sinatra-0.9.4/test/server_test.rb +0 -47
  2309. data/vendor/gems/gems/sinatra-0.9.4/test/sinatra_test.rb +0 -13
  2310. data/vendor/gems/gems/sinatra-0.9.4/test/static_test.rb +0 -80
  2311. data/vendor/gems/gems/sinatra-0.9.4/test/templates_test.rb +0 -122
  2312. data/vendor/gems/gems/sinatra-0.9.4/test/test_test.rb +0 -152
  2313. data/vendor/gems/gems/sinatra-0.9.4/test/views/error.builder +0 -3
  2314. data/vendor/gems/gems/sinatra-0.9.4/test/views/error.erb +0 -3
  2315. data/vendor/gems/gems/sinatra-0.9.4/test/views/error.haml +0 -3
  2316. data/vendor/gems/gems/sinatra-0.9.4/test/views/error.sass +0 -2
  2317. data/vendor/gems/gems/sinatra-0.9.4/test/views/foo/hello.test +0 -1
  2318. data/vendor/gems/gems/sinatra-0.9.4/test/views/hello.builder +0 -1
  2319. data/vendor/gems/gems/sinatra-0.9.4/test/views/hello.erb +0 -1
  2320. data/vendor/gems/gems/sinatra-0.9.4/test/views/hello.haml +0 -1
  2321. data/vendor/gems/gems/sinatra-0.9.4/test/views/hello.sass +0 -2
  2322. data/vendor/gems/gems/sinatra-0.9.4/test/views/hello.test +0 -1
  2323. data/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.builder +0 -3
  2324. data/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.erb +0 -2
  2325. data/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.haml +0 -2
  2326. data/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.test +0 -1
  2327. data/vendor/gems/gems/sinatra-content-for-0.2/.gitignore +0 -3
  2328. data/vendor/gems/gems/sinatra-content-for-0.2/LICENSE +0 -22
  2329. data/vendor/gems/gems/sinatra-content-for-0.2/README.rdoc +0 -41
  2330. data/vendor/gems/gems/sinatra-content-for-0.2/lib/sinatra/content_for.rb +0 -58
  2331. data/vendor/gems/gems/sinatra-content-for-0.2/sinatra-content-for.gemspec +0 -34
  2332. data/vendor/gems/gems/sinatra-content-for-0.2/test/content_for_test.rb +0 -156
  2333. data/vendor/gems/gems/sprockets-1.0.2/Rakefile +0 -19
  2334. data/vendor/gems/gems/sprockets-1.0.2/bin/sprocketize +0 -54
  2335. data/vendor/gems/gems/sprockets-1.0.2/ext/nph-sprockets.cgi +0 -127
  2336. data/vendor/gems/gems/sprockets-1.0.2/lib/sprockets.rb +0 -42
  2337. data/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/concatenation.rb +0 -36
  2338. data/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/environment.rb +0 -52
  2339. data/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/error.rb +0 -5
  2340. data/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/pathname.rb +0 -37
  2341. data/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/preprocessor.rb +0 -91
  2342. data/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/secretary.rb +0 -106
  2343. data/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/source_file.rb +0 -54
  2344. data/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/source_line.rb +0 -82
  2345. data/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/version.rb +0 -9
  2346. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/images/script_with_assets/one.png +0 -1
  2347. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/images/script_with_assets/two.png +0 -1
  2348. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/stylesheets/script_with_assets.css +0 -1
  2349. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/constants.yml +0 -1
  2350. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/double_slash_comments_that_are_not_requires_should_be_ignored_when_strip_comments_is_false.js +0 -8
  2351. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/double_slash_comments_that_are_not_requires_should_be_removed_by_default.js +0 -2
  2352. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/multiline_comments_should_be_removed_by_default.js +0 -4
  2353. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_file_after_it_has_already_been_required_should_do_nothing.js +0 -5
  2354. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_file_that_does_not_exist_should_raise_an_error.js +0 -1
  2355. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_single_file_should_replace_the_require_comment_with_the_file_contents.js +0 -3
  2356. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_the_current_file_should_do_nothing.js +0 -1
  2357. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/constants.yml +0 -3
  2358. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo.js +0 -1
  2359. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo/bar.js +0 -4
  2360. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo/foo.js +0 -1
  2361. data/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/script_with_assets.js +0 -3
  2362. data/vendor/gems/gems/sprockets-1.0.2/test/test_concatenation.rb +0 -28
  2363. data/vendor/gems/gems/sprockets-1.0.2/test/test_environment.rb +0 -64
  2364. data/vendor/gems/gems/sprockets-1.0.2/test/test_helper.rb +0 -55
  2365. data/vendor/gems/gems/sprockets-1.0.2/test/test_pathname.rb +0 -43
  2366. data/vendor/gems/gems/sprockets-1.0.2/test/test_preprocessor.rb +0 -107
  2367. data/vendor/gems/gems/sprockets-1.0.2/test/test_secretary.rb +0 -83
  2368. data/vendor/gems/gems/sprockets-1.0.2/test/test_source_file.rb +0 -34
  2369. data/vendor/gems/gems/sprockets-1.0.2/test/test_source_line.rb +0 -89
  2370. data/vendor/gems/gems/templater-1.0.0/History.txt +0 -3
  2371. data/vendor/gems/gems/templater-1.0.0/Manifest.txt +0 -64
  2372. data/vendor/gems/gems/templater-1.0.0/README.rdoc +0 -266
  2373. data/vendor/gems/gems/templater-1.0.0/Rakefile +0 -23
  2374. data/vendor/gems/gems/templater-1.0.0/lib/templater.rb +0 -49
  2375. data/vendor/gems/gems/templater-1.0.0/lib/templater/actions/action.rb +0 -43
  2376. data/vendor/gems/gems/templater-1.0.0/lib/templater/actions/directory.rb +0 -22
  2377. data/vendor/gems/gems/templater-1.0.0/lib/templater/actions/empty_directory.rb +0 -57
  2378. data/vendor/gems/gems/templater-1.0.0/lib/templater/actions/file.rb +0 -60
  2379. data/vendor/gems/gems/templater-1.0.0/lib/templater/actions/template.rb +0 -61
  2380. data/vendor/gems/gems/templater-1.0.0/lib/templater/capture_helpers.rb +0 -62
  2381. data/vendor/gems/gems/templater-1.0.0/lib/templater/cli/generator.rb +0 -175
  2382. data/vendor/gems/gems/templater-1.0.0/lib/templater/cli/manifold.rb +0 -59
  2383. data/vendor/gems/gems/templater-1.0.0/lib/templater/cli/parser.rb +0 -85
  2384. data/vendor/gems/gems/templater-1.0.0/lib/templater/core_ext/kernel.rb +0 -14
  2385. data/vendor/gems/gems/templater-1.0.0/lib/templater/core_ext/string.rb +0 -17
  2386. data/vendor/gems/gems/templater-1.0.0/lib/templater/description.rb +0 -78
  2387. data/vendor/gems/gems/templater-1.0.0/lib/templater/discovery.rb +0 -86
  2388. data/vendor/gems/gems/templater-1.0.0/lib/templater/generator.rb +0 -644
  2389. data/vendor/gems/gems/templater-1.0.0/lib/templater/manifold.rb +0 -98
  2390. data/vendor/gems/gems/templater-1.0.0/lib/templater/spec/helpers.rb +0 -67
  2391. data/vendor/gems/gems/templater-1.0.0/script/console +0 -10
  2392. data/vendor/gems/gems/templater-1.0.0/script/destroy +0 -14
  2393. data/vendor/gems/gems/templater-1.0.0/script/generate +0 -14
  2394. data/vendor/gems/gems/templater-1.0.0/spec/actions/directory_spec.rb +0 -21
  2395. data/vendor/gems/gems/templater-1.0.0/spec/actions/empty_directory_spec.rb +0 -108
  2396. data/vendor/gems/gems/templater-1.0.0/spec/actions/file_spec.rb +0 -112
  2397. data/vendor/gems/gems/templater-1.0.0/spec/actions/template_spec.rb +0 -141
  2398. data/vendor/gems/gems/templater-1.0.0/spec/core_ext/string_spec.rb +0 -39
  2399. data/vendor/gems/gems/templater-1.0.0/spec/generator/actions_spec.rb +0 -111
  2400. data/vendor/gems/gems/templater-1.0.0/spec/generator/arguments_spec.rb +0 -225
  2401. data/vendor/gems/gems/templater-1.0.0/spec/generator/desc_spec.rb +0 -10
  2402. data/vendor/gems/gems/templater-1.0.0/spec/generator/destination_root_spec.rb +0 -9
  2403. data/vendor/gems/gems/templater-1.0.0/spec/generator/empty_directories_spec.rb +0 -148
  2404. data/vendor/gems/gems/templater-1.0.0/spec/generator/files_spec.rb +0 -199
  2405. data/vendor/gems/gems/templater-1.0.0/spec/generator/generators_spec.rb +0 -63
  2406. data/vendor/gems/gems/templater-1.0.0/spec/generator/glob_spec.rb +0 -94
  2407. data/vendor/gems/gems/templater-1.0.0/spec/generator/invocations_spec.rb +0 -173
  2408. data/vendor/gems/gems/templater-1.0.0/spec/generator/invoke_spec.rb +0 -21
  2409. data/vendor/gems/gems/templater-1.0.0/spec/generator/options_spec.rb +0 -46
  2410. data/vendor/gems/gems/templater-1.0.0/spec/generator/render_spec.rb +0 -21
  2411. data/vendor/gems/gems/templater-1.0.0/spec/generator/source_root_spec.rb +0 -18
  2412. data/vendor/gems/gems/templater-1.0.0/spec/generator/templates_spec.rb +0 -209
  2413. data/vendor/gems/gems/templater-1.0.0/spec/manifold_spec.rb +0 -146
  2414. data/vendor/gems/gems/templater-1.0.0/spec/options_parser_spec.rb +0 -20
  2415. data/vendor/gems/gems/templater-1.0.0/spec/results/erb.rbs +0 -1
  2416. data/vendor/gems/gems/templater-1.0.0/spec/results/file.rbs +0 -1
  2417. data/vendor/gems/gems/templater-1.0.0/spec/results/random.rbs +0 -1
  2418. data/vendor/gems/gems/templater-1.0.0/spec/results/simple_erb.rbs +0 -1
  2419. data/vendor/gems/gems/templater-1.0.0/spec/spec_helper.rb +0 -65
  2420. data/vendor/gems/gems/templater-1.0.0/spec/spec_helpers_spec.rb +0 -85
  2421. data/vendor/gems/gems/templater-1.0.0/spec/templater_spec.rb +0 -7
  2422. data/vendor/gems/gems/templater-1.0.0/spec/templates/erb.rbt +0 -1
  2423. data/vendor/gems/gems/templater-1.0.0/spec/templates/glob/README +0 -1
  2424. data/vendor/gems/gems/templater-1.0.0/spec/templates/glob/arg.js +0 -3
  2425. data/vendor/gems/gems/templater-1.0.0/spec/templates/glob/hellothar.%feh% +0 -1
  2426. data/vendor/gems/gems/templater-1.0.0/spec/templates/glob/hellothar.html.%feh% +0 -1
  2427. data/vendor/gems/gems/templater-1.0.0/spec/templates/glob/subfolder/jessica_alba.jpg +0 -1
  2428. data/vendor/gems/gems/templater-1.0.0/spec/templates/glob/subfolder/monkey.rb +0 -1
  2429. data/vendor/gems/gems/templater-1.0.0/spec/templates/glob/test.rb +0 -1
  2430. data/vendor/gems/gems/templater-1.0.0/spec/templates/literals_erb.rbt +0 -1
  2431. data/vendor/gems/gems/templater-1.0.0/spec/templates/simple.rbt +0 -1
  2432. data/vendor/gems/gems/templater-1.0.0/spec/templates/simple_erb.rbt +0 -1
  2433. data/vendor/gems/gems/templater-1.0.0/templater.gemspec +0 -54
  2434. data/vendor/gems/gems/term-ansicolor-1.0.4/CHANGES +0 -22
  2435. data/vendor/gems/gems/term-ansicolor-1.0.4/COPYING +0 -340
  2436. data/vendor/gems/gems/term-ansicolor-1.0.4/README +0 -31
  2437. data/vendor/gems/gems/term-ansicolor-1.0.4/Rakefile +0 -86
  2438. data/vendor/gems/gems/term-ansicolor-1.0.4/VERSION +0 -1
  2439. data/vendor/gems/gems/term-ansicolor-1.0.4/doc-main.txt +0 -119
  2440. data/vendor/gems/gems/term-ansicolor-1.0.4/examples/cdiff.rb +0 -19
  2441. data/vendor/gems/gems/term-ansicolor-1.0.4/examples/example.rb +0 -89
  2442. data/vendor/gems/gems/term-ansicolor-1.0.4/install.rb +0 -15
  2443. data/vendor/gems/gems/term-ansicolor-1.0.4/lib/term/ansicolor.rb +0 -102
  2444. data/vendor/gems/gems/term-ansicolor-1.0.4/lib/term/ansicolor/version.rb +0 -10
  2445. data/vendor/gems/gems/term-ansicolor-1.0.4/term-ansicolor.gemspec +0 -20
  2446. data/vendor/gems/gems/thin-1.2.5/CHANGELOG +0 -268
  2447. data/vendor/gems/gems/thin-1.2.5/COPYING +0 -18
  2448. data/vendor/gems/gems/thin-1.2.5/README +0 -69
  2449. data/vendor/gems/gems/thin-1.2.5/Rakefile +0 -36
  2450. data/vendor/gems/gems/thin-1.2.5/benchmark/abc +0 -51
  2451. data/vendor/gems/gems/thin-1.2.5/benchmark/benchmarker.rb +0 -80
  2452. data/vendor/gems/gems/thin-1.2.5/benchmark/runner +0 -82
  2453. data/vendor/gems/gems/thin-1.2.5/bin/thin +0 -6
  2454. data/vendor/gems/gems/thin-1.2.5/example/adapter.rb +0 -32
  2455. data/vendor/gems/gems/thin-1.2.5/example/async_app.ru +0 -126
  2456. data/vendor/gems/gems/thin-1.2.5/example/async_chat.ru +0 -247
  2457. data/vendor/gems/gems/thin-1.2.5/example/async_tailer.ru +0 -100
  2458. data/vendor/gems/gems/thin-1.2.5/example/config.ru +0 -22
  2459. data/vendor/gems/gems/thin-1.2.5/example/monit_sockets +0 -20
  2460. data/vendor/gems/gems/thin-1.2.5/example/monit_unixsock +0 -20
  2461. data/vendor/gems/gems/thin-1.2.5/example/myapp.rb +0 -1
  2462. data/vendor/gems/gems/thin-1.2.5/example/ramaze.ru +0 -12
  2463. data/vendor/gems/gems/thin-1.2.5/example/thin.god +0 -80
  2464. data/vendor/gems/gems/thin-1.2.5/example/thin_solaris_smf.erb +0 -36
  2465. data/vendor/gems/gems/thin-1.2.5/example/thin_solaris_smf.readme.txt +0 -150
  2466. data/vendor/gems/gems/thin-1.2.5/example/vlad.rake +0 -64
  2467. data/vendor/gems/gems/thin-1.2.5/ext/thin_parser/Makefile +0 -157
  2468. data/vendor/gems/gems/thin-1.2.5/ext/thin_parser/common.rl +0 -55
  2469. data/vendor/gems/gems/thin-1.2.5/ext/thin_parser/ext_help.h +0 -14
  2470. data/vendor/gems/gems/thin-1.2.5/ext/thin_parser/extconf.rb +0 -6
  2471. data/vendor/gems/gems/thin-1.2.5/ext/thin_parser/mkmf.log +0 -12
  2472. data/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.c +0 -452
  2473. data/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.h +0 -49
  2474. data/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.o +0 -0
  2475. data/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.rl +0 -157
  2476. data/vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin.c +0 -433
  2477. data/vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin.o +0 -0
  2478. data/vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin_parser.bundle +0 -0
  2479. data/vendor/gems/gems/thin-1.2.5/lib/rack/adapter/loader.rb +0 -79
  2480. data/vendor/gems/gems/thin-1.2.5/lib/rack/adapter/rails.rb +0 -180
  2481. data/vendor/gems/gems/thin-1.2.5/lib/thin.rb +0 -46
  2482. data/vendor/gems/gems/thin-1.2.5/lib/thin/backends/base.rb +0 -141
  2483. data/vendor/gems/gems/thin-1.2.5/lib/thin/backends/swiftiply_client.rb +0 -56
  2484. data/vendor/gems/gems/thin-1.2.5/lib/thin/backends/tcp_server.rb +0 -29
  2485. data/vendor/gems/gems/thin-1.2.5/lib/thin/backends/unix_server.rb +0 -51
  2486. data/vendor/gems/gems/thin-1.2.5/lib/thin/command.rb +0 -53
  2487. data/vendor/gems/gems/thin-1.2.5/lib/thin/connection.rb +0 -222
  2488. data/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/cluster.rb +0 -178
  2489. data/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/controller.rb +0 -183
  2490. data/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/service.rb +0 -75
  2491. data/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/service.sh.erb +0 -39
  2492. data/vendor/gems/gems/thin-1.2.5/lib/thin/daemonizing.rb +0 -174
  2493. data/vendor/gems/gems/thin-1.2.5/lib/thin/headers.rb +0 -39
  2494. data/vendor/gems/gems/thin-1.2.5/lib/thin/logging.rb +0 -54
  2495. data/vendor/gems/gems/thin-1.2.5/lib/thin/request.rb +0 -157
  2496. data/vendor/gems/gems/thin-1.2.5/lib/thin/response.rb +0 -101
  2497. data/vendor/gems/gems/thin-1.2.5/lib/thin/runner.rb +0 -212
  2498. data/vendor/gems/gems/thin-1.2.5/lib/thin/server.rb +0 -247
  2499. data/vendor/gems/gems/thin-1.2.5/lib/thin/stats.html.erb +0 -216
  2500. data/vendor/gems/gems/thin-1.2.5/lib/thin/stats.rb +0 -52
  2501. data/vendor/gems/gems/thin-1.2.5/lib/thin/statuses.rb +0 -43
  2502. data/vendor/gems/gems/thin-1.2.5/lib/thin/version.rb +0 -32
  2503. data/vendor/gems/gems/thin-1.2.5/lib/thin_parser.bundle +0 -0
  2504. data/vendor/gems/gems/thin-1.2.5/spec/backends/swiftiply_client_spec.rb +0 -66
  2505. data/vendor/gems/gems/thin-1.2.5/spec/backends/tcp_server_spec.rb +0 -33
  2506. data/vendor/gems/gems/thin-1.2.5/spec/backends/unix_server_spec.rb +0 -37
  2507. data/vendor/gems/gems/thin-1.2.5/spec/command_spec.rb +0 -25
  2508. data/vendor/gems/gems/thin-1.2.5/spec/configs/cluster.yml +0 -9
  2509. data/vendor/gems/gems/thin-1.2.5/spec/configs/single.yml +0 -9
  2510. data/vendor/gems/gems/thin-1.2.5/spec/connection_spec.rb +0 -106
  2511. data/vendor/gems/gems/thin-1.2.5/spec/controllers/cluster_spec.rb +0 -267
  2512. data/vendor/gems/gems/thin-1.2.5/spec/controllers/controller_spec.rb +0 -129
  2513. data/vendor/gems/gems/thin-1.2.5/spec/controllers/service_spec.rb +0 -50
  2514. data/vendor/gems/gems/thin-1.2.5/spec/daemonizing_spec.rb +0 -192
  2515. data/vendor/gems/gems/thin-1.2.5/spec/headers_spec.rb +0 -40
  2516. data/vendor/gems/gems/thin-1.2.5/spec/logging_spec.rb +0 -46
  2517. data/vendor/gems/gems/thin-1.2.5/spec/perf/request_perf_spec.rb +0 -50
  2518. data/vendor/gems/gems/thin-1.2.5/spec/perf/response_perf_spec.rb +0 -19
  2519. data/vendor/gems/gems/thin-1.2.5/spec/perf/server_perf_spec.rb +0 -39
  2520. data/vendor/gems/gems/thin-1.2.5/spec/rack/loader_spec.rb +0 -29
  2521. data/vendor/gems/gems/thin-1.2.5/spec/rack/rails_adapter_spec.rb +0 -106
  2522. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/controllers/application.rb +0 -10
  2523. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/controllers/simple_controller.rb +0 -19
  2524. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/helpers/application_helper.rb +0 -3
  2525. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/views/simple/index.html.erb +0 -15
  2526. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/boot.rb +0 -109
  2527. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environment.rb +0 -64
  2528. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/development.rb +0 -18
  2529. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/production.rb +0 -19
  2530. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/test.rb +0 -22
  2531. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/initializers/inflections.rb +0 -10
  2532. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/initializers/mime_types.rb +0 -5
  2533. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/routes.rb +0 -35
  2534. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/404.html +0 -30
  2535. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/422.html +0 -30
  2536. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/500.html +0 -30
  2537. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.cgi +0 -10
  2538. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.fcgi +0 -24
  2539. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.rb +0 -10
  2540. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/favicon.ico +0 -0
  2541. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/images/rails.png +0 -0
  2542. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/index.html +0 -277
  2543. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/application.js +0 -2
  2544. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/controls.js +0 -963
  2545. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/dragdrop.js +0 -972
  2546. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/effects.js +0 -1120
  2547. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/prototype.js +0 -4225
  2548. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/robots.txt +0 -5
  2549. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/about +0 -3
  2550. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/console +0 -3
  2551. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/destroy +0 -3
  2552. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/generate +0 -3
  2553. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/performance/benchmarker +0 -3
  2554. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/performance/profiler +0 -3
  2555. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/performance/request +0 -3
  2556. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/plugin +0 -3
  2557. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/process/inspector +0 -3
  2558. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/process/reaper +0 -3
  2559. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/process/spawner +0 -3
  2560. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/runner +0 -3
  2561. data/vendor/gems/gems/thin-1.2.5/spec/rails_app/script/server +0 -3
  2562. data/vendor/gems/gems/thin-1.2.5/spec/request/mongrel_spec.rb +0 -39
  2563. data/vendor/gems/gems/thin-1.2.5/spec/request/parser_spec.rb +0 -215
  2564. data/vendor/gems/gems/thin-1.2.5/spec/request/persistent_spec.rb +0 -35
  2565. data/vendor/gems/gems/thin-1.2.5/spec/request/processing_spec.rb +0 -49
  2566. data/vendor/gems/gems/thin-1.2.5/spec/response_spec.rb +0 -91
  2567. data/vendor/gems/gems/thin-1.2.5/spec/runner_spec.rb +0 -168
  2568. data/vendor/gems/gems/thin-1.2.5/spec/server/builder_spec.rb +0 -44
  2569. data/vendor/gems/gems/thin-1.2.5/spec/server/pipelining_spec.rb +0 -110
  2570. data/vendor/gems/gems/thin-1.2.5/spec/server/robustness_spec.rb +0 -34
  2571. data/vendor/gems/gems/thin-1.2.5/spec/server/stopping_spec.rb +0 -55
  2572. data/vendor/gems/gems/thin-1.2.5/spec/server/swiftiply.yml +0 -6
  2573. data/vendor/gems/gems/thin-1.2.5/spec/server/swiftiply_spec.rb +0 -32
  2574. data/vendor/gems/gems/thin-1.2.5/spec/server/tcp_spec.rb +0 -57
  2575. data/vendor/gems/gems/thin-1.2.5/spec/server/threaded_spec.rb +0 -27
  2576. data/vendor/gems/gems/thin-1.2.5/spec/server/unix_socket_spec.rb +0 -26
  2577. data/vendor/gems/gems/thin-1.2.5/spec/server_spec.rb +0 -96
  2578. data/vendor/gems/gems/thin-1.2.5/spec/spec_helper.rb +0 -219
  2579. data/vendor/gems/gems/thin-1.2.5/tasks/announce.rake +0 -22
  2580. data/vendor/gems/gems/thin-1.2.5/tasks/deploy.rake +0 -13
  2581. data/vendor/gems/gems/thin-1.2.5/tasks/email.erb +0 -30
  2582. data/vendor/gems/gems/thin-1.2.5/tasks/gem.rake +0 -74
  2583. data/vendor/gems/gems/thin-1.2.5/tasks/rdoc.rake +0 -25
  2584. data/vendor/gems/gems/thin-1.2.5/tasks/site.rake +0 -15
  2585. data/vendor/gems/gems/thin-1.2.5/tasks/spec.rake +0 -43
  2586. data/vendor/gems/gems/thin-1.2.5/tasks/stats.rake +0 -28
  2587. data/vendor/gems/gems/treetop-1.4.2/LICENSE +0 -19
  2588. data/vendor/gems/gems/treetop-1.4.2/README.md +0 -164
  2589. data/vendor/gems/gems/treetop-1.4.2/Rakefile +0 -19
  2590. data/vendor/gems/gems/treetop-1.4.2/bin/tt +0 -112
  2591. data/vendor/gems/gems/treetop-1.4.2/doc/contributing_and_planned_features.markdown +0 -103
  2592. data/vendor/gems/gems/treetop-1.4.2/doc/grammar_composition.markdown +0 -65
  2593. data/vendor/gems/gems/treetop-1.4.2/doc/index.markdown +0 -90
  2594. data/vendor/gems/gems/treetop-1.4.2/doc/pitfalls_and_advanced_techniques.markdown +0 -51
  2595. data/vendor/gems/gems/treetop-1.4.2/doc/semantic_interpretation.markdown +0 -189
  2596. data/vendor/gems/gems/treetop-1.4.2/doc/site.rb +0 -112
  2597. data/vendor/gems/gems/treetop-1.4.2/doc/sitegen.rb +0 -65
  2598. data/vendor/gems/gems/treetop-1.4.2/doc/syntactic_recognition.markdown +0 -100
  2599. data/vendor/gems/gems/treetop-1.4.2/doc/using_in_ruby.markdown +0 -21
  2600. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic.rb +0 -551
  2601. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic.treetop +0 -97
  2602. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic_node_classes.rb +0 -7
  2603. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic_test.rb +0 -54
  2604. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus +0 -0
  2605. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus.rb +0 -718
  2606. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus.treetop +0 -132
  2607. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus_node_classes.rb +0 -5
  2608. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus_test.rb +0 -89
  2609. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/test_helper.rb +0 -18
  2610. data/vendor/gems/gems/treetop-1.4.2/lib/treetop.rb +0 -16
  2611. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/bootstrap_gen_1_metagrammar.rb +0 -45
  2612. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler.rb +0 -6
  2613. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/grammar_compiler.rb +0 -44
  2614. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/lexical_address_space.rb +0 -17
  2615. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/metagrammar.rb +0 -3258
  2616. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/metagrammar.treetop +0 -436
  2617. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes.rb +0 -20
  2618. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/anything_symbol.rb +0 -18
  2619. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/atomic_expression.rb +0 -14
  2620. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/character_class.rb +0 -28
  2621. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/choice.rb +0 -31
  2622. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/declaration_sequence.rb +0 -24
  2623. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/grammar.rb +0 -28
  2624. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/inline_module.rb +0 -27
  2625. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/nonterminal.rb +0 -13
  2626. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/optional.rb +0 -19
  2627. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parenthesized_expression.rb +0 -9
  2628. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parsing_expression.rb +0 -146
  2629. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parsing_rule.rb +0 -55
  2630. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/predicate.rb +0 -45
  2631. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/predicate_block.rb +0 -16
  2632. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/repetition.rb +0 -55
  2633. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/sequence.rb +0 -71
  2634. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/terminal.rb +0 -20
  2635. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/transient_prefix.rb +0 -9
  2636. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/treetop_file.rb +0 -9
  2637. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/ruby_builder.rb +0 -113
  2638. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/ruby_extensions.rb +0 -2
  2639. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/ruby_extensions/string.rb +0 -42
  2640. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime.rb +0 -5
  2641. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/compiled_parser.rb +0 -109
  2642. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list.rb +0 -4
  2643. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/head_node.rb +0 -15
  2644. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +0 -200
  2645. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/node.rb +0 -164
  2646. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/syntax_node.rb +0 -114
  2647. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_parse_failure.rb +0 -16
  2648. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_parse_failure_debug.rb +0 -21
  2649. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_syntax_node.rb +0 -17
  2650. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/version.rb +0 -9
  2651. data/vendor/gems/gems/yui-compressor-0.9.1/Rakefile +0 -21
  2652. data/vendor/gems/gems/yui-compressor-0.9.1/lib/yui/compressor.rb +0 -200
  2653. data/vendor/gems/gems/yui-compressor-0.9.1/test/compressor_test.rb +0 -94
  2654. data/vendor/gems/gems/yui-compressor-0.9.1/vendor/yuicompressor-2.4.2.jar +0 -0
  2655. data/vendor/gems/specifications/builder-2.1.2.gemspec +0 -33
  2656. data/vendor/gems/specifications/compass-0.8.17.gemspec +0 -36
  2657. data/vendor/gems/specifications/configuration-1.1.0.gemspec +0 -27
  2658. data/vendor/gems/specifications/cucumber-0.4.4.gemspec +0 -72
  2659. data/vendor/gems/specifications/daemons-1.0.10.gemspec +0 -30
  2660. data/vendor/gems/specifications/diff-lcs-1.1.2.gemspec +0 -34
  2661. data/vendor/gems/specifications/eventmachine-0.12.10.gemspec +0 -40
  2662. data/vendor/gems/specifications/extlib-0.9.13.gemspec +0 -28
  2663. data/vendor/gems/specifications/haml-2.2.13.gemspec +0 -45
  2664. data/vendor/gems/specifications/highline-1.5.1.gemspec +0 -31
  2665. data/vendor/gems/specifications/json-1.2.0.gemspec +0 -34
  2666. data/vendor/gems/specifications/launchy-0.3.3.gemspec +0 -38
  2667. data/vendor/gems/specifications/polyglot-0.2.9.gemspec +0 -34
  2668. data/vendor/gems/specifications/rack-1.0.1.gemspec +0 -53
  2669. data/vendor/gems/specifications/rack-test-0.5.2.gemspec +0 -36
  2670. data/vendor/gems/specifications/rake-0.8.7.gemspec +0 -32
  2671. data/vendor/gems/specifications/rdoc-2.4.3.gemspec +0 -47
  2672. data/vendor/gems/specifications/rspec-1.2.9.gemspec +0 -58
  2673. data/vendor/gems/specifications/sdoc-0.2.14.1.gemspec +0 -35
  2674. data/vendor/gems/specifications/shotgun-0.4.gemspec +0 -37
  2675. data/vendor/gems/specifications/sinatra-0.9.4.gemspec +0 -40
  2676. data/vendor/gems/specifications/sinatra-content-for-0.2.gemspec +0 -40
  2677. data/vendor/gems/specifications/sprockets-1.0.2.gemspec +0 -31
  2678. data/vendor/gems/specifications/templater-1.0.0.gemspec +0 -54
  2679. data/vendor/gems/specifications/term-ansicolor-1.0.4.gemspec +0 -30
  2680. data/vendor/gems/specifications/thin-1.2.5.gemspec +0 -41
  2681. data/vendor/gems/specifications/treetop-1.4.2.gemspec +0 -32
  2682. data/vendor/gems/specifications/yui-compressor-0.9.1.gemspec +0 -29
@@ -1,424 +0,0 @@
1
- /*****************************************************************************
2
-
3
- $Id$
4
-
5
- File: ed.h
6
- Date: 06Apr06
7
-
8
- Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: blackhedd
10
-
11
- This program is free software; you can redistribute it and/or modify
12
- it under the terms of either: 1) the GNU General Public License
13
- as published by the Free Software Foundation; either version 2 of the
14
- License, or (at your option) any later version; or 2) Ruby's License.
15
-
16
- See the file COPYING for complete licensing information.
17
-
18
- *****************************************************************************/
19
-
20
- #ifndef __EventableDescriptor__H_
21
- #define __EventableDescriptor__H_
22
-
23
-
24
- class EventMachine_t; // forward reference
25
- #ifdef WITH_SSL
26
- class SslBox_t; // forward reference
27
- #endif
28
-
29
- bool SetSocketNonblocking (SOCKET);
30
-
31
-
32
- /*************************
33
- class EventableDescriptor
34
- *************************/
35
-
36
- class EventableDescriptor: public Bindable_t
37
- {
38
- public:
39
- EventableDescriptor (int, EventMachine_t*);
40
- virtual ~EventableDescriptor();
41
-
42
- int GetSocket() {return MySocket;}
43
- void SetSocketInvalid() { MySocket = INVALID_SOCKET; }
44
- void Close();
45
-
46
- virtual void Read() = 0;
47
- virtual void Write() = 0;
48
- virtual void Heartbeat() = 0;
49
-
50
- // These methods tell us whether the descriptor
51
- // should be selected or polled for read/write.
52
- virtual bool SelectForRead() = 0;
53
- virtual bool SelectForWrite() = 0;
54
-
55
- // are we scheduled for a close, or in an error state, or already closed?
56
- bool ShouldDelete();
57
- // Do we have any data to write? This is used by ShouldDelete.
58
- virtual int GetOutboundDataSize() {return 0;}
59
- virtual bool IsWatchOnly(){ return false; }
60
-
61
- virtual void ScheduleClose (bool after_writing);
62
- bool IsCloseScheduled();
63
- virtual void HandleError(){ ScheduleClose (false); }
64
-
65
- void SetEventCallback (void (*cb)(const unsigned long, int, const char*, const unsigned long));
66
-
67
- virtual bool GetPeername (struct sockaddr*) {return false;}
68
- virtual bool GetSockname (struct sockaddr*) {return false;}
69
- virtual bool GetSubprocessPid (pid_t*) {return false;}
70
-
71
- virtual void StartTls() {}
72
- virtual void SetTlsParms (const char *privkey_filename, const char *certchain_filename, bool verify_peer) {}
73
-
74
- #ifdef WITH_SSL
75
- virtual X509 *GetPeerCert() {return NULL;}
76
- #endif
77
-
78
- virtual float GetCommInactivityTimeout() {return 0.0;}
79
- virtual int SetCommInactivityTimeout (float value) {return 0;}
80
- float GetPendingConnectTimeout();
81
- int SetPendingConnectTimeout (float value);
82
-
83
- #ifdef HAVE_EPOLL
84
- struct epoll_event *GetEpollEvent() { return &EpollEvent; }
85
- #endif
86
-
87
- virtual void StartProxy(const unsigned long, const unsigned long);
88
- virtual void StopProxy();
89
- virtual void SetProxiedFrom(EventableDescriptor*, const unsigned long);
90
- virtual int SendOutboundData(const char*,int){ return -1; }
91
- virtual bool IsPaused(){ return false; }
92
- virtual bool Pause(){ return false; }
93
- virtual bool Resume(){ return false; }
94
-
95
- private:
96
- bool bCloseNow;
97
- bool bCloseAfterWriting;
98
-
99
- protected:
100
- int MySocket;
101
-
102
- void (*EventCallback)(const unsigned long, int, const char*, const unsigned long);
103
- void _GenericInboundDispatch(const char*, int);
104
-
105
- Int64 CreatedAt;
106
- bool bCallbackUnbind;
107
- int UnbindReasonCode;
108
- EventableDescriptor *ProxyTarget;
109
- EventableDescriptor *ProxiedFrom;
110
-
111
- unsigned long MaxOutboundBufSize;
112
-
113
- #ifdef HAVE_EPOLL
114
- struct epoll_event EpollEvent;
115
- #endif
116
-
117
- EventMachine_t *MyEventMachine;
118
- int PendingConnectTimeout;
119
- };
120
-
121
-
122
-
123
- /*************************
124
- class LoopbreakDescriptor
125
- *************************/
126
-
127
- class LoopbreakDescriptor: public EventableDescriptor
128
- {
129
- public:
130
- LoopbreakDescriptor (int, EventMachine_t*);
131
- virtual ~LoopbreakDescriptor() {}
132
-
133
- virtual void Read();
134
- virtual void Write();
135
- virtual void Heartbeat() {}
136
-
137
- virtual bool SelectForRead() {return true;}
138
- virtual bool SelectForWrite() {return false;}
139
- };
140
-
141
-
142
- /**************************
143
- class ConnectionDescriptor
144
- **************************/
145
-
146
- class ConnectionDescriptor: public EventableDescriptor
147
- {
148
- public:
149
- ConnectionDescriptor (int, EventMachine_t*);
150
- virtual ~ConnectionDescriptor();
151
-
152
- static int SendDataToConnection (const unsigned long, const char*, int);
153
- static void CloseConnection (const unsigned long, bool);
154
- static int ReportErrorStatus (const unsigned long);
155
-
156
- int SendOutboundData (const char*, int);
157
-
158
- void SetConnectPending (bool f);
159
- virtual void ScheduleClose (bool after_writing);
160
- virtual void HandleError();
161
-
162
- void SetNotifyReadable (bool);
163
- void SetNotifyWritable (bool);
164
- void SetWatchOnly (bool);
165
-
166
- bool IsPaused(){ return bPaused; }
167
- bool Pause();
168
- bool Resume();
169
-
170
- bool IsNotifyReadable(){ return bNotifyReadable; }
171
- bool IsNotifyWritable(){ return bNotifyWritable; }
172
- virtual bool IsWatchOnly(){ return bWatchOnly; }
173
-
174
- virtual void Read();
175
- virtual void Write();
176
- virtual void Heartbeat();
177
-
178
- virtual bool SelectForRead();
179
- virtual bool SelectForWrite();
180
-
181
- // Do we have any data to write? This is used by ShouldDelete.
182
- virtual int GetOutboundDataSize() {return OutboundDataSize;}
183
-
184
- virtual void StartTls();
185
- virtual void SetTlsParms (const char *privkey_filename, const char *certchain_filename, bool verify_peer);
186
-
187
- #ifdef WITH_SSL
188
- virtual X509 *GetPeerCert();
189
- virtual bool VerifySslPeer(const char*);
190
- virtual void AcceptSslPeer();
191
- #endif
192
-
193
- void SetServerMode() {bIsServer = true;}
194
-
195
- virtual bool GetPeername (struct sockaddr*);
196
- virtual bool GetSockname (struct sockaddr*);
197
-
198
- virtual float GetCommInactivityTimeout();
199
- virtual int SetCommInactivityTimeout (float value);
200
-
201
-
202
- protected:
203
- struct OutboundPage {
204
- OutboundPage (const char *b, int l, int o=0): Buffer(b), Length(l), Offset(o) {}
205
- void Free() {if (Buffer) free ((char*)Buffer); }
206
- const char *Buffer;
207
- int Length;
208
- int Offset;
209
- };
210
-
211
- protected:
212
- bool bPaused;
213
- bool bConnectPending;
214
-
215
- bool bNotifyReadable;
216
- bool bNotifyWritable;
217
- bool bWatchOnly;
218
-
219
- bool bReadAttemptedAfterClose;
220
- bool bWriteAttemptedAfterClose;
221
-
222
- deque<OutboundPage> OutboundPages;
223
- int OutboundDataSize;
224
-
225
- #ifdef WITH_SSL
226
- SslBox_t *SslBox;
227
- std::string CertChainFilename;
228
- std::string PrivateKeyFilename;
229
- bool bHandshakeSignaled;
230
- bool bSslVerifyPeer;
231
- bool bSslPeerAccepted;
232
- #endif
233
-
234
- #ifdef HAVE_KQUEUE
235
- bool bGotExtraKqueueEvent;
236
- #endif
237
-
238
- bool bIsServer;
239
- Int64 LastIo;
240
- int InactivityTimeout;
241
-
242
- private:
243
- void _UpdateEvents();
244
- void _UpdateEvents(bool, bool);
245
- void _WriteOutboundData();
246
- void _DispatchInboundData (const char *buffer, int size);
247
- void _DispatchCiphertext();
248
- int _SendRawOutboundData (const char*, int);
249
- int _ReportErrorStatus();
250
- void _CheckHandshakeStatus();
251
-
252
- };
253
-
254
-
255
- /************************
256
- class DatagramDescriptor
257
- ************************/
258
-
259
- class DatagramDescriptor: public EventableDescriptor
260
- {
261
- public:
262
- DatagramDescriptor (int, EventMachine_t*);
263
- virtual ~DatagramDescriptor();
264
-
265
- virtual void Read();
266
- virtual void Write();
267
- virtual void Heartbeat();
268
-
269
- virtual bool SelectForRead() {return true;}
270
- virtual bool SelectForWrite();
271
-
272
- int SendOutboundData (const char*, int);
273
- int SendOutboundDatagram (const char*, int, const char*, int);
274
-
275
- // Do we have any data to write? This is used by ShouldDelete.
276
- virtual int GetOutboundDataSize() {return OutboundDataSize;}
277
-
278
- virtual bool GetPeername (struct sockaddr*);
279
- virtual bool GetSockname (struct sockaddr*);
280
-
281
- virtual float GetCommInactivityTimeout();
282
- virtual int SetCommInactivityTimeout (float value);
283
-
284
- static int SendDatagram (const unsigned long, const char*, int, const char*, int);
285
-
286
-
287
- protected:
288
- struct OutboundPage {
289
- OutboundPage (const char *b, int l, struct sockaddr_in f, int o=0): Buffer(b), Length(l), Offset(o), From(f) {}
290
- void Free() {if (Buffer) free ((char*)Buffer); }
291
- const char *Buffer;
292
- int Length;
293
- int Offset;
294
- struct sockaddr_in From;
295
- };
296
-
297
- deque<OutboundPage> OutboundPages;
298
- int OutboundDataSize;
299
-
300
- struct sockaddr_in ReturnAddress;
301
-
302
- Int64 LastIo;
303
- int InactivityTimeout;
304
- };
305
-
306
-
307
- /************************
308
- class AcceptorDescriptor
309
- ************************/
310
-
311
- class AcceptorDescriptor: public EventableDescriptor
312
- {
313
- public:
314
- AcceptorDescriptor (int, EventMachine_t*);
315
- virtual ~AcceptorDescriptor();
316
-
317
- virtual void Read();
318
- virtual void Write();
319
- virtual void Heartbeat();
320
-
321
- virtual bool SelectForRead() {return true;}
322
- virtual bool SelectForWrite() {return false;}
323
-
324
- virtual bool GetSockname (struct sockaddr*);
325
-
326
- static void StopAcceptor (const unsigned long binding);
327
- };
328
-
329
- /********************
330
- class PipeDescriptor
331
- ********************/
332
-
333
- #ifdef OS_UNIX
334
- class PipeDescriptor: public EventableDescriptor
335
- {
336
- public:
337
- PipeDescriptor (int, pid_t, EventMachine_t*);
338
- virtual ~PipeDescriptor();
339
-
340
- virtual void Read();
341
- virtual void Write();
342
- virtual void Heartbeat();
343
-
344
- virtual bool SelectForRead();
345
- virtual bool SelectForWrite();
346
-
347
- int SendOutboundData (const char*, int);
348
- virtual int GetOutboundDataSize() {return OutboundDataSize;}
349
-
350
- virtual bool GetSubprocessPid (pid_t*);
351
-
352
- protected:
353
- struct OutboundPage {
354
- OutboundPage (const char *b, int l, int o=0): Buffer(b), Length(l), Offset(o) {}
355
- void Free() {if (Buffer) free ((char*)Buffer); }
356
- const char *Buffer;
357
- int Length;
358
- int Offset;
359
- };
360
-
361
- protected:
362
- bool bReadAttemptedAfterClose;
363
- Int64 LastIo;
364
- int InactivityTimeout;
365
-
366
- deque<OutboundPage> OutboundPages;
367
- int OutboundDataSize;
368
-
369
- pid_t SubprocessPid;
370
-
371
- private:
372
- void _DispatchInboundData (const char *buffer, int size);
373
- };
374
- #endif // OS_UNIX
375
-
376
-
377
- /************************
378
- class KeyboardDescriptor
379
- ************************/
380
-
381
- class KeyboardDescriptor: public EventableDescriptor
382
- {
383
- public:
384
- KeyboardDescriptor (EventMachine_t*);
385
- virtual ~KeyboardDescriptor();
386
-
387
- virtual void Read();
388
- virtual void Write();
389
- virtual void Heartbeat();
390
-
391
- virtual bool SelectForRead() {return true;}
392
- virtual bool SelectForWrite() {return false;}
393
-
394
- protected:
395
- bool bReadAttemptedAfterClose;
396
- Int64 LastIo;
397
- int InactivityTimeout;
398
-
399
- private:
400
- void _DispatchInboundData (const char *buffer, int size);
401
- };
402
-
403
-
404
- /***********************
405
- class InotifyDescriptor
406
- ************************/
407
-
408
- class InotifyDescriptor: public EventableDescriptor
409
- {
410
- public:
411
- InotifyDescriptor (EventMachine_t*);
412
- virtual ~InotifyDescriptor();
413
-
414
- void Read();
415
- void Write();
416
-
417
- virtual void Heartbeat() {}
418
- virtual bool SelectForRead() {return true;}
419
- virtual bool SelectForWrite() {return false;}
420
- };
421
-
422
- #endif // __EventableDescriptor__H_
423
-
424
-
@@ -1,2282 +0,0 @@
1
- /*****************************************************************************
2
-
3
- $Id$
4
-
5
- File: em.cpp
6
- Date: 06Apr06
7
-
8
- Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: blackhedd
10
-
11
- This program is free software; you can redistribute it and/or modify
12
- it under the terms of either: 1) the GNU General Public License
13
- as published by the Free Software Foundation; either version 2 of the
14
- License, or (at your option) any later version; or 2) Ruby's License.
15
-
16
- See the file COPYING for complete licensing information.
17
-
18
- *****************************************************************************/
19
-
20
- // THIS ENTIRE FILE WILL EVENTUALLY BE FOR UNIX BUILDS ONLY.
21
- //#ifdef OS_UNIX
22
-
23
-
24
- #include "project.h"
25
-
26
- // Keep a global variable floating around
27
- // with the current loop time as set by the Event Machine.
28
- // This avoids the need for frequent expensive calls to time(NULL);
29
- Int64 gCurrentLoopTime;
30
-
31
- #ifdef OS_WIN32
32
- unsigned gTickCountTickover;
33
- unsigned gLastTickCount;
34
- #endif
35
-
36
-
37
- /* The numer of max outstanding timers was once a const enum defined in em.h.
38
- * Now we define it here so that users can change its value if necessary.
39
- */
40
- static unsigned int MaxOutstandingTimers = 10000;
41
-
42
-
43
- /* Internal helper to convert strings to internet addresses. IPv6-aware.
44
- * Not reentrant or threadsafe, optimized for speed.
45
- */
46
- static struct sockaddr *name2address (const char *server, int port, int *family, int *bind_size);
47
-
48
- /***************************************
49
- STATIC EventMachine_t::GetMaxTimerCount
50
- ***************************************/
51
-
52
- int EventMachine_t::GetMaxTimerCount()
53
- {
54
- return MaxOutstandingTimers;
55
- }
56
-
57
-
58
- /***************************************
59
- STATIC EventMachine_t::SetMaxTimerCount
60
- ***************************************/
61
-
62
- void EventMachine_t::SetMaxTimerCount (int count)
63
- {
64
- /* Allow a user to increase the maximum number of outstanding timers.
65
- * If this gets "too high" (a metric that is of course platform dependent),
66
- * bad things will happen like performance problems and possible overuse
67
- * of memory.
68
- * The actual timer mechanism is very efficient so it's hard to know what
69
- * the practical max, but 100,000 shouldn't be too problematical.
70
- */
71
- if (count < 100)
72
- count = 100;
73
- MaxOutstandingTimers = count;
74
- }
75
-
76
-
77
-
78
- /******************************
79
- EventMachine_t::EventMachine_t
80
- ******************************/
81
-
82
- EventMachine_t::EventMachine_t (void (*event_callback)(const unsigned long, int, const char*, const unsigned long)):
83
- HeartbeatInterval(2000000),
84
- EventCallback (event_callback),
85
- NextHeartbeatTime (0),
86
- LoopBreakerReader (-1),
87
- LoopBreakerWriter (-1),
88
- bEpoll (false),
89
- epfd (-1),
90
- bKqueue (false),
91
- kqfd (-1),
92
- inotify (NULL)
93
- {
94
- // Default time-slice is just smaller than one hundred mills.
95
- Quantum.tv_sec = 0;
96
- Quantum.tv_usec = 90000;
97
-
98
- gTerminateSignalReceived = false;
99
- // Make sure the current loop time is sane, in case we do any initializations of
100
- // objects before we start running.
101
- _UpdateTime();
102
-
103
- /* We initialize the network library here (only on Windows of course)
104
- * and initialize "loop breakers." Our destructor also does some network-level
105
- * cleanup. There's thus an implicit assumption that any given instance of EventMachine_t
106
- * will only call ::Run once. Is that a good assumption? Should we move some of these
107
- * inits and de-inits into ::Run?
108
- */
109
- #ifdef OS_WIN32
110
- WSADATA w;
111
- WSAStartup (MAKEWORD (1, 1), &w);
112
- #endif
113
-
114
- _InitializeLoopBreaker();
115
- }
116
-
117
-
118
- /*******************************
119
- EventMachine_t::~EventMachine_t
120
- *******************************/
121
-
122
- EventMachine_t::~EventMachine_t()
123
- {
124
- // Run down descriptors
125
- size_t i;
126
- for (i = 0; i < NewDescriptors.size(); i++)
127
- delete NewDescriptors[i];
128
- for (i = 0; i < Descriptors.size(); i++)
129
- delete Descriptors[i];
130
-
131
- close (LoopBreakerReader);
132
- close (LoopBreakerWriter);
133
-
134
- // Remove any file watch descriptors
135
- while(!Files.empty()) {
136
- map<int, Bindable_t*>::iterator f = Files.begin();
137
- UnwatchFile (f->first);
138
- }
139
-
140
- if (epfd != -1)
141
- close (epfd);
142
- if (kqfd != -1)
143
- close (kqfd);
144
- }
145
-
146
-
147
- /*************************
148
- EventMachine_t::_UseEpoll
149
- *************************/
150
-
151
- void EventMachine_t::_UseEpoll()
152
- {
153
- /* Temporary.
154
- * Use an internal flag to switch in epoll-based functionality until we determine
155
- * how it should be integrated properly and the extent of the required changes.
156
- * A permanent solution needs to allow the integration of additional technologies,
157
- * like kqueue and Solaris's events.
158
- */
159
-
160
- #ifdef HAVE_EPOLL
161
- bEpoll = true;
162
- #endif
163
- }
164
-
165
- /**************************
166
- EventMachine_t::_UseKqueue
167
- **************************/
168
-
169
- void EventMachine_t::_UseKqueue()
170
- {
171
- /* Temporary.
172
- * See comments under _UseEpoll.
173
- */
174
-
175
- #ifdef HAVE_KQUEUE
176
- bKqueue = true;
177
- #endif
178
- }
179
-
180
-
181
- /****************************
182
- EventMachine_t::ScheduleHalt
183
- ****************************/
184
-
185
- void EventMachine_t::ScheduleHalt()
186
- {
187
- /* This is how we stop the machine.
188
- * This can be called by clients. Signal handlers will probably
189
- * set the global flag.
190
- * For now this means there can only be one EventMachine ever running at a time.
191
- *
192
- * IMPORTANT: keep this light, fast, and async-safe. Don't do anything frisky in here,
193
- * because it may be called from signal handlers invoked from code that we don't
194
- * control. At this writing (20Sep06), EM does NOT install any signal handlers of
195
- * its own.
196
- *
197
- * We need a FAQ. And one of the questions is: how do I stop EM when Ctrl-C happens?
198
- * The answer is to call evma_stop_machine, which calls here, from a SIGINT handler.
199
- */
200
- gTerminateSignalReceived = true;
201
- }
202
-
203
-
204
-
205
- /*******************************
206
- EventMachine_t::SetTimerQuantum
207
- *******************************/
208
-
209
- void EventMachine_t::SetTimerQuantum (int interval)
210
- {
211
- /* We get a timer-quantum expressed in milliseconds.
212
- * Don't set a quantum smaller than 5 or larger than 2500.
213
- */
214
-
215
- if ((interval < 5) || (interval > 2500))
216
- throw std::runtime_error ("invalid timer-quantum");
217
-
218
- Quantum.tv_sec = interval / 1000;
219
- Quantum.tv_usec = (interval % 1000) * 1000;
220
- }
221
-
222
-
223
- /*************************************
224
- (STATIC) EventMachine_t::SetuidString
225
- *************************************/
226
-
227
- void EventMachine_t::SetuidString (const char *username)
228
- {
229
- /* This method takes a caller-supplied username and tries to setuid
230
- * to that user. There is no meaningful implementation (and no error)
231
- * on Windows. On Unix, a failure to setuid the caller-supplied string
232
- * causes a fatal abort, because presumably the program is calling here
233
- * in order to fulfill a security requirement. If we fail silently,
234
- * the user may continue to run with too much privilege.
235
- *
236
- * TODO, we need to decide on and document a way of generating C++ level errors
237
- * that can be wrapped in documented Ruby exceptions, so users can catch
238
- * and handle them. And distinguish it from errors that we WON'T let the Ruby
239
- * user catch (like security-violations and resource-overallocation).
240
- * A setuid failure here would be in the latter category.
241
- */
242
-
243
- #ifdef OS_UNIX
244
- if (!username || !*username)
245
- throw std::runtime_error ("setuid_string failed: no username specified");
246
-
247
- struct passwd *p = getpwnam (username);
248
- if (!p)
249
- throw std::runtime_error ("setuid_string failed: unknown username");
250
-
251
- if (setuid (p->pw_uid) != 0)
252
- throw std::runtime_error ("setuid_string failed: no setuid");
253
-
254
- // Success.
255
- #endif
256
- }
257
-
258
-
259
- /****************************************
260
- (STATIC) EventMachine_t::SetRlimitNofile
261
- ****************************************/
262
-
263
- int EventMachine_t::SetRlimitNofile (int nofiles)
264
- {
265
- #ifdef OS_UNIX
266
- struct rlimit rlim;
267
- getrlimit (RLIMIT_NOFILE, &rlim);
268
- if (nofiles >= 0) {
269
- rlim.rlim_cur = nofiles;
270
- if ((unsigned int)nofiles > rlim.rlim_max)
271
- rlim.rlim_max = nofiles;
272
- setrlimit (RLIMIT_NOFILE, &rlim);
273
- // ignore the error return, for now at least.
274
- // TODO, emit an error message someday when we have proper debug levels.
275
- }
276
- getrlimit (RLIMIT_NOFILE, &rlim);
277
- return rlim.rlim_cur;
278
- #endif
279
-
280
- #ifdef OS_WIN32
281
- // No meaningful implementation on Windows.
282
- return 0;
283
- #endif
284
- }
285
-
286
-
287
- /*********************************
288
- EventMachine_t::SignalLoopBreaker
289
- *********************************/
290
-
291
- void EventMachine_t::SignalLoopBreaker()
292
- {
293
- #ifdef OS_UNIX
294
- write (LoopBreakerWriter, "", 1);
295
- #endif
296
- #ifdef OS_WIN32
297
- sendto (LoopBreakerReader, "", 0, 0, (struct sockaddr*)&(LoopBreakerTarget), sizeof(LoopBreakerTarget));
298
- #endif
299
- }
300
-
301
-
302
- /**************************************
303
- EventMachine_t::_InitializeLoopBreaker
304
- **************************************/
305
-
306
- void EventMachine_t::_InitializeLoopBreaker()
307
- {
308
- /* A "loop-breaker" is a socket-descriptor that we can write to in order
309
- * to break the main select loop. Primarily useful for things running on
310
- * threads other than the main EM thread, so they can trigger processing
311
- * of events that arise exogenously to the EM.
312
- * Keep the loop-breaker pipe out of the main descriptor set, otherwise
313
- * its events will get passed on to user code.
314
- */
315
-
316
- #ifdef OS_UNIX
317
- int fd[2];
318
- if (pipe (fd))
319
- throw std::runtime_error ("no loop breaker");
320
-
321
- LoopBreakerWriter = fd[1];
322
- LoopBreakerReader = fd[0];
323
- #endif
324
-
325
- #ifdef OS_WIN32
326
- int sd = socket (AF_INET, SOCK_DGRAM, 0);
327
- if (sd == INVALID_SOCKET)
328
- throw std::runtime_error ("no loop breaker socket");
329
- SetSocketNonblocking (sd);
330
-
331
- memset (&LoopBreakerTarget, 0, sizeof(LoopBreakerTarget));
332
- LoopBreakerTarget.sin_family = AF_INET;
333
- LoopBreakerTarget.sin_addr.s_addr = inet_addr ("127.0.0.1");
334
-
335
- srand ((int)time(NULL));
336
- int i;
337
- for (i=0; i < 100; i++) {
338
- int r = (rand() % 10000) + 20000;
339
- LoopBreakerTarget.sin_port = htons (r);
340
- if (bind (sd, (struct sockaddr*)&LoopBreakerTarget, sizeof(LoopBreakerTarget)) == 0)
341
- break;
342
- }
343
-
344
- if (i == 100)
345
- throw std::runtime_error ("no loop breaker");
346
- LoopBreakerReader = sd;
347
- #endif
348
- }
349
-
350
- /***************************
351
- EventMachine_t::_UpdateTime
352
- ***************************/
353
-
354
- void EventMachine_t::_UpdateTime()
355
- {
356
- #if defined(OS_UNIX)
357
- struct timeval tv;
358
- gettimeofday (&tv, NULL);
359
- gCurrentLoopTime = (((Int64)(tv.tv_sec)) * 1000000LL) + ((Int64)(tv.tv_usec));
360
-
361
- #elif defined(OS_WIN32)
362
- unsigned tick = GetTickCount();
363
- if (tick < gLastTickCount)
364
- gTickCountTickover += 1;
365
- gLastTickCount = tick;
366
- gCurrentLoopTime = ((Int64)gTickCountTickover << 32) + (Int64)tick;
367
-
368
- #else
369
- gCurrentLoopTime = (Int64)time(NULL) * 1000000LL;
370
- #endif
371
- }
372
-
373
- /*******************
374
- EventMachine_t::Run
375
- *******************/
376
-
377
- void EventMachine_t::Run()
378
- {
379
- #ifdef OS_WIN32
380
- HookControlC (true);
381
- #endif
382
-
383
- #ifdef HAVE_EPOLL
384
- if (bEpoll) {
385
- epfd = epoll_create (MaxEpollDescriptors);
386
- if (epfd == -1) {
387
- char buf[200];
388
- snprintf (buf, sizeof(buf)-1, "unable to create epoll descriptor: %s", strerror(errno));
389
- throw std::runtime_error (buf);
390
- }
391
- int cloexec = fcntl (epfd, F_GETFD, 0);
392
- assert (cloexec >= 0);
393
- cloexec |= FD_CLOEXEC;
394
- fcntl (epfd, F_SETFD, cloexec);
395
-
396
- assert (LoopBreakerReader >= 0);
397
- LoopbreakDescriptor *ld = new LoopbreakDescriptor (LoopBreakerReader, this);
398
- assert (ld);
399
- Add (ld);
400
- }
401
- #endif
402
-
403
- #ifdef HAVE_KQUEUE
404
- if (bKqueue) {
405
- kqfd = kqueue();
406
- if (kqfd == -1) {
407
- char buf[200];
408
- snprintf (buf, sizeof(buf)-1, "unable to create kqueue descriptor: %s", strerror(errno));
409
- throw std::runtime_error (buf);
410
- }
411
- // cloexec not needed. By definition, kqueues are not carried across forks.
412
-
413
- assert (LoopBreakerReader >= 0);
414
- LoopbreakDescriptor *ld = new LoopbreakDescriptor (LoopBreakerReader, this);
415
- assert (ld);
416
- Add (ld);
417
- }
418
- #endif
419
-
420
- while (true) {
421
- _UpdateTime();
422
- if (!_RunTimers())
423
- break;
424
-
425
- /* _Add must precede _Modify because the same descriptor might
426
- * be on both lists during the same pass through the machine,
427
- * and to modify a descriptor before adding it would fail.
428
- */
429
- _AddNewDescriptors();
430
- _ModifyDescriptors();
431
-
432
- if (!_RunOnce())
433
- break;
434
- if (gTerminateSignalReceived)
435
- break;
436
- }
437
-
438
- #ifdef OS_WIN32
439
- HookControlC (false);
440
- #endif
441
- }
442
-
443
-
444
- /************************
445
- EventMachine_t::_RunOnce
446
- ************************/
447
-
448
- bool EventMachine_t::_RunOnce()
449
- {
450
- if (bEpoll)
451
- return _RunEpollOnce();
452
- else if (bKqueue)
453
- return _RunKqueueOnce();
454
- else
455
- return _RunSelectOnce();
456
- }
457
-
458
-
459
-
460
- /*****************************
461
- EventMachine_t::_RunEpollOnce
462
- *****************************/
463
-
464
- bool EventMachine_t::_RunEpollOnce()
465
- {
466
- #ifdef HAVE_EPOLL
467
- assert (epfd != -1);
468
- int s;
469
-
470
- #ifdef BUILD_FOR_RUBY
471
- TRAP_BEG;
472
- #endif
473
- s = epoll_wait (epfd, epoll_events, MaxEvents, 50);
474
- #ifdef BUILD_FOR_RUBY
475
- TRAP_END;
476
- #endif
477
-
478
- if (s > 0) {
479
- for (int i=0; i < s; i++) {
480
- EventableDescriptor *ed = (EventableDescriptor*) epoll_events[i].data.ptr;
481
-
482
- if (ed->IsWatchOnly() && ed->GetSocket() == INVALID_SOCKET)
483
- continue;
484
-
485
- assert(ed->GetSocket() != INVALID_SOCKET);
486
-
487
- if (epoll_events[i].events & EPOLLIN)
488
- ed->Read();
489
- if (epoll_events[i].events & EPOLLOUT)
490
- ed->Write();
491
- if (epoll_events[i].events & (EPOLLERR | EPOLLHUP))
492
- ed->HandleError();
493
- }
494
- }
495
- else if (s < 0) {
496
- // epoll_wait can fail on error in a handful of ways.
497
- // If this happens, then wait for a little while to avoid busy-looping.
498
- // If the error was EINTR, we probably caught SIGCHLD or something,
499
- // so keep the wait short.
500
- timeval tv = {0, ((errno == EINTR) ? 5 : 50) * 1000};
501
- EmSelect (0, NULL, NULL, NULL, &tv);
502
- }
503
-
504
- { // cleanup dying sockets
505
- // vector::pop_back works in constant time.
506
- // TODO, rip this out and only delete the descriptors we know have died,
507
- // rather than traversing the whole list.
508
- // Modified 05Jan08 per suggestions by Chris Heath. It's possible that
509
- // an EventableDescriptor will have a descriptor value of -1. That will
510
- // happen if EventableDescriptor::Close was called on it. In that case,
511
- // don't call epoll_ctl to remove the socket's filters from the epoll set.
512
- // According to the epoll docs, this happens automatically when the
513
- // descriptor is closed anyway. This is different from the case where
514
- // the socket has already been closed but the descriptor in the ED object
515
- // hasn't yet been set to INVALID_SOCKET.
516
- int i, j;
517
- int nSockets = Descriptors.size();
518
- for (i=0, j=0; i < nSockets; i++) {
519
- EventableDescriptor *ed = Descriptors[i];
520
- assert (ed);
521
- if (ed->ShouldDelete()) {
522
- if (ed->GetSocket() != INVALID_SOCKET) {
523
- assert (bEpoll); // wouldn't be in this method otherwise.
524
- assert (epfd != -1);
525
- int e = epoll_ctl (epfd, EPOLL_CTL_DEL, ed->GetSocket(), ed->GetEpollEvent());
526
- // ENOENT or EBADF are not errors because the socket may be already closed when we get here.
527
- if (e && (errno != ENOENT) && (errno != EBADF) && (errno != EPERM)) {
528
- char buf [200];
529
- snprintf (buf, sizeof(buf)-1, "unable to delete epoll event: %s", strerror(errno));
530
- throw std::runtime_error (buf);
531
- }
532
- }
533
-
534
- ModifiedDescriptors.erase (ed);
535
- delete ed;
536
- }
537
- else
538
- Descriptors [j++] = ed;
539
- }
540
- while ((size_t)j < Descriptors.size())
541
- Descriptors.pop_back();
542
-
543
- }
544
-
545
- // TODO, heartbeats.
546
- // Added 14Sep07, its absence was noted by Brian Candler. But the comment was here, indicated
547
- // that this got thought about and not done when EPOLL was originally written. Was there a reason
548
- // not to do it, or was it an oversight? Certainly, running a heartbeat on 50,000 connections every
549
- // two seconds can get to be a real bear, especially if all we're doing is timing out dead ones.
550
- // Maybe there's a better way to do this. (Or maybe it's not that expensive after all.)
551
- //
552
- { // dispatch heartbeats
553
- if (gCurrentLoopTime >= NextHeartbeatTime) {
554
- NextHeartbeatTime = gCurrentLoopTime + HeartbeatInterval;
555
-
556
- for (int i=0; i < Descriptors.size(); i++) {
557
- EventableDescriptor *ed = Descriptors[i];
558
- assert (ed);
559
- ed->Heartbeat();
560
- }
561
- }
562
- }
563
-
564
- #ifdef BUILD_FOR_RUBY
565
- if (!rb_thread_alone()) {
566
- rb_thread_schedule();
567
- }
568
- #endif
569
-
570
- return true;
571
- #else
572
- throw std::runtime_error ("epoll is not implemented on this platform");
573
- #endif
574
- }
575
-
576
-
577
- /******************************
578
- EventMachine_t::_RunKqueueOnce
579
- ******************************/
580
-
581
- bool EventMachine_t::_RunKqueueOnce()
582
- {
583
- #ifdef HAVE_KQUEUE
584
- assert (kqfd != -1);
585
- struct timespec ts = {0, 10000000}; // Too frequent. Use blocking_region
586
-
587
- int k;
588
- #ifdef BUILD_FOR_RUBY
589
- TRAP_BEG;
590
- #endif
591
- k = kevent (kqfd, NULL, 0, Karray, MaxEvents, &ts);
592
- #ifdef BUILD_FOR_RUBY
593
- TRAP_END;
594
- #endif
595
-
596
- struct kevent *ke = Karray;
597
- while (k > 0) {
598
- switch (ke->filter)
599
- {
600
- case EVFILT_VNODE:
601
- _HandleKqueueFileEvent (ke);
602
- break;
603
-
604
- case EVFILT_PROC:
605
- _HandleKqueuePidEvent (ke);
606
- break;
607
-
608
- case EVFILT_READ:
609
- case EVFILT_WRITE:
610
- EventableDescriptor *ed = (EventableDescriptor*) (ke->udata);
611
- assert (ed);
612
-
613
- if (ed->IsWatchOnly() && ed->GetSocket() == INVALID_SOCKET)
614
- break;
615
-
616
- if (ke->filter == EVFILT_READ)
617
- ed->Read();
618
- else if (ke->filter == EVFILT_WRITE)
619
- ed->Write();
620
- else
621
- cerr << "Discarding unknown kqueue event " << ke->filter << endl;
622
-
623
- break;
624
- }
625
-
626
- --k;
627
- ++ke;
628
- }
629
-
630
- { // cleanup dying sockets
631
- // vector::pop_back works in constant time.
632
- // TODO, rip this out and only delete the descriptors we know have died,
633
- // rather than traversing the whole list.
634
- // In kqueue, closing a descriptor automatically removes its event filters.
635
-
636
- int i, j;
637
- int nSockets = Descriptors.size();
638
- for (i=0, j=0; i < nSockets; i++) {
639
- EventableDescriptor *ed = Descriptors[i];
640
- assert (ed);
641
- if (ed->ShouldDelete()) {
642
- ModifiedDescriptors.erase (ed);
643
- delete ed;
644
- }
645
- else
646
- Descriptors [j++] = ed;
647
- }
648
- while ((size_t)j < Descriptors.size())
649
- Descriptors.pop_back();
650
-
651
- }
652
-
653
- { // dispatch heartbeats
654
- if (gCurrentLoopTime >= NextHeartbeatTime) {
655
- NextHeartbeatTime = gCurrentLoopTime + HeartbeatInterval;
656
-
657
- for (unsigned int i=0; i < Descriptors.size(); i++) {
658
- EventableDescriptor *ed = Descriptors[i];
659
- assert (ed);
660
- ed->Heartbeat();
661
- }
662
- }
663
- }
664
-
665
-
666
- // TODO, replace this with rb_thread_blocking_region for 1.9 builds.
667
- #ifdef BUILD_FOR_RUBY
668
- if (!rb_thread_alone()) {
669
- rb_thread_schedule();
670
- }
671
- #endif
672
-
673
- return true;
674
- #else
675
- throw std::runtime_error ("kqueue is not implemented on this platform");
676
- #endif
677
- }
678
-
679
-
680
- /*********************************
681
- EventMachine_t::_ModifyEpollEvent
682
- *********************************/
683
-
684
- void EventMachine_t::_ModifyEpollEvent (EventableDescriptor *ed)
685
- {
686
- #ifdef HAVE_EPOLL
687
- if (bEpoll) {
688
- assert (epfd != -1);
689
- assert (ed);
690
- assert (ed->GetSocket() != INVALID_SOCKET);
691
- int e = epoll_ctl (epfd, EPOLL_CTL_MOD, ed->GetSocket(), ed->GetEpollEvent());
692
- if (e) {
693
- char buf [200];
694
- snprintf (buf, sizeof(buf)-1, "unable to modify epoll event: %s", strerror(errno));
695
- throw std::runtime_error (buf);
696
- }
697
- }
698
- #endif
699
- }
700
-
701
-
702
-
703
- /**************************
704
- SelectData_t::SelectData_t
705
- **************************/
706
-
707
- SelectData_t::SelectData_t()
708
- {
709
- maxsocket = 0;
710
- FD_ZERO (&fdreads);
711
- FD_ZERO (&fdwrites);
712
- FD_ZERO (&fderrors);
713
- }
714
-
715
-
716
- #ifdef BUILD_FOR_RUBY
717
- /*****************
718
- _SelectDataSelect
719
- *****************/
720
-
721
- #ifdef HAVE_TBR
722
- static VALUE _SelectDataSelect (void *v)
723
- {
724
- SelectData_t *sd = (SelectData_t*)v;
725
- sd->nSockets = select (sd->maxsocket+1, &(sd->fdreads), &(sd->fdwrites), &(sd->fderrors), &(sd->tv));
726
- return Qnil;
727
- }
728
- #endif
729
-
730
- /*********************
731
- SelectData_t::_Select
732
- *********************/
733
-
734
- int SelectData_t::_Select()
735
- {
736
- #ifdef HAVE_TBR
737
- rb_thread_blocking_region (_SelectDataSelect, (void*)this, RUBY_UBF_IO, 0);
738
- return nSockets;
739
- #endif
740
-
741
- #ifndef HAVE_TBR
742
- return EmSelect (maxsocket+1, &fdreads, &fdwrites, &fderrors, &tv);
743
- #endif
744
- }
745
- #endif
746
-
747
-
748
-
749
- /******************************
750
- EventMachine_t::_RunSelectOnce
751
- ******************************/
752
-
753
- bool EventMachine_t::_RunSelectOnce()
754
- {
755
- // Crank the event machine once.
756
- // If there are no descriptors to process, then sleep
757
- // for a few hundred mills to avoid busy-looping.
758
- // Return T/F to indicate whether we should continue.
759
- // This is based on a select loop. Alternately provide epoll
760
- // if we know we're running on a 2.6 kernel.
761
- // epoll will be effective if we provide it as an alternative,
762
- // however it has the same problem interoperating with Ruby
763
- // threads that select does.
764
-
765
- //cerr << "X";
766
-
767
- /* This protection is now obsolete, because we will ALWAYS
768
- * have at least one descriptor (the loop-breaker) to read.
769
- */
770
- /*
771
- if (Descriptors.size() == 0) {
772
- #ifdef OS_UNIX
773
- timeval tv = {0, 200 * 1000};
774
- EmSelect (0, NULL, NULL, NULL, &tv);
775
- return true;
776
- #endif
777
- #ifdef OS_WIN32
778
- Sleep (200);
779
- return true;
780
- #endif
781
- }
782
- */
783
-
784
- SelectData_t SelectData;
785
- /*
786
- fd_set fdreads, fdwrites;
787
- FD_ZERO (&fdreads);
788
- FD_ZERO (&fdwrites);
789
-
790
- int maxsocket = 0;
791
- */
792
-
793
- // Always read the loop-breaker reader.
794
- // Changed 23Aug06, provisionally implemented for Windows with a UDP socket
795
- // running on localhost with a randomly-chosen port. (*Puke*)
796
- // Windows has a version of the Unix pipe() library function, but it doesn't
797
- // give you back descriptors that are selectable.
798
- FD_SET (LoopBreakerReader, &(SelectData.fdreads));
799
- if (SelectData.maxsocket < LoopBreakerReader)
800
- SelectData.maxsocket = LoopBreakerReader;
801
-
802
- // prepare the sockets for reading and writing
803
- size_t i;
804
- for (i = 0; i < Descriptors.size(); i++) {
805
- EventableDescriptor *ed = Descriptors[i];
806
- assert (ed);
807
- int sd = ed->GetSocket();
808
- if (ed->IsWatchOnly() && sd == INVALID_SOCKET)
809
- continue;
810
- assert (sd != INVALID_SOCKET);
811
-
812
- if (ed->SelectForRead())
813
- FD_SET (sd, &(SelectData.fdreads));
814
- if (ed->SelectForWrite())
815
- FD_SET (sd, &(SelectData.fdwrites));
816
-
817
- #ifdef OS_WIN32
818
- /* 21Sep09: on windows, a non-blocking connect() that fails does not come up as writable.
819
- Instead, it is added to the error set. See http://www.mail-archive.com/openssl-users@openssl.org/msg58500.html
820
- */
821
- FD_SET (sd, &(SelectData.fderrors));
822
- #endif
823
-
824
- if (SelectData.maxsocket < sd)
825
- SelectData.maxsocket = sd;
826
- }
827
-
828
-
829
- { // read and write the sockets
830
- //timeval tv = {1, 0}; // Solaris fails if the microseconds member is >= 1000000.
831
- //timeval tv = Quantum;
832
- SelectData.tv = Quantum;
833
- int s = SelectData._Select();
834
- //rb_thread_blocking_region(xxx,(void*)&SelectData,RUBY_UBF_IO,0);
835
- //int s = EmSelect (SelectData.maxsocket+1, &(SelectData.fdreads), &(SelectData.fdwrites), NULL, &(SelectData.tv));
836
- //int s = SelectData.nSockets;
837
- if (s > 0) {
838
- /* Changed 01Jun07. We used to handle the Loop-breaker right here.
839
- * Now we do it AFTER all the regular descriptors. There's an
840
- * incredibly important and subtle reason for this. Code on
841
- * loop breakers is sometimes used to cause the reactor core to
842
- * cycle (for example, to allow outbound network buffers to drain).
843
- * If a loop-breaker handler reschedules itself (say, after determining
844
- * that the write buffers are still too full), then it will execute
845
- * IMMEDIATELY if _ReadLoopBreaker is done here instead of after
846
- * the other descriptors are processed. That defeats the whole purpose.
847
- */
848
- for (i=0; i < Descriptors.size(); i++) {
849
- EventableDescriptor *ed = Descriptors[i];
850
- assert (ed);
851
- int sd = ed->GetSocket();
852
- if (ed->IsWatchOnly() && sd == INVALID_SOCKET)
853
- continue;
854
- assert (sd != INVALID_SOCKET);
855
-
856
- if (FD_ISSET (sd, &(SelectData.fdwrites)))
857
- ed->Write();
858
- if (FD_ISSET (sd, &(SelectData.fdreads)))
859
- ed->Read();
860
- if (FD_ISSET (sd, &(SelectData.fderrors)))
861
- ed->HandleError();
862
- }
863
-
864
- if (FD_ISSET (LoopBreakerReader, &(SelectData.fdreads)))
865
- _ReadLoopBreaker();
866
- }
867
- else if (s < 0) {
868
- // select can fail on error in a handful of ways.
869
- // If this happens, then wait for a little while to avoid busy-looping.
870
- // If the error was EINTR, we probably caught SIGCHLD or something,
871
- // so keep the wait short.
872
- timeval tv = {0, ((errno == EINTR) ? 5 : 50) * 1000};
873
- EmSelect (0, NULL, NULL, NULL, &tv);
874
- }
875
- }
876
-
877
-
878
- { // dispatch heartbeats
879
- if (gCurrentLoopTime >= NextHeartbeatTime) {
880
- NextHeartbeatTime = gCurrentLoopTime + HeartbeatInterval;
881
-
882
- for (i=0; i < Descriptors.size(); i++) {
883
- EventableDescriptor *ed = Descriptors[i];
884
- assert (ed);
885
- ed->Heartbeat();
886
- }
887
- }
888
- }
889
-
890
- { // cleanup dying sockets
891
- // vector::pop_back works in constant time.
892
- int i, j;
893
- int nSockets = Descriptors.size();
894
- for (i=0, j=0; i < nSockets; i++) {
895
- EventableDescriptor *ed = Descriptors[i];
896
- assert (ed);
897
- if (ed->ShouldDelete())
898
- delete ed;
899
- else
900
- Descriptors [j++] = ed;
901
- }
902
- while ((size_t)j < Descriptors.size())
903
- Descriptors.pop_back();
904
-
905
- }
906
-
907
- return true;
908
- }
909
-
910
-
911
- /********************************
912
- EventMachine_t::_ReadLoopBreaker
913
- ********************************/
914
-
915
- void EventMachine_t::_ReadLoopBreaker()
916
- {
917
- /* The loop breaker has selected readable.
918
- * Read it ONCE (it may block if we try to read it twice)
919
- * and send a loop-break event back to user code.
920
- */
921
- char buffer [1024];
922
- read (LoopBreakerReader, buffer, sizeof(buffer));
923
- if (EventCallback)
924
- (*EventCallback)(NULL, EM_LOOPBREAK_SIGNAL, "", 0);
925
- }
926
-
927
-
928
- /**************************
929
- EventMachine_t::_RunTimers
930
- **************************/
931
-
932
- bool EventMachine_t::_RunTimers()
933
- {
934
- // These are caller-defined timer handlers.
935
- // Return T/F to indicate whether we should continue the main loop.
936
- // We rely on the fact that multimaps sort by their keys to avoid
937
- // inspecting the whole list every time we come here.
938
- // Just keep inspecting and processing the list head until we hit
939
- // one that hasn't expired yet.
940
-
941
- while (true) {
942
- multimap<Int64,Timer_t>::iterator i = Timers.begin();
943
- if (i == Timers.end())
944
- break;
945
- if (i->first > gCurrentLoopTime)
946
- break;
947
- if (EventCallback)
948
- (*EventCallback) (NULL, EM_TIMER_FIRED, NULL, i->second.GetBinding());
949
- Timers.erase (i);
950
- }
951
- return true;
952
- }
953
-
954
-
955
-
956
- /***********************************
957
- EventMachine_t::InstallOneshotTimer
958
- ***********************************/
959
-
960
- const unsigned long EventMachine_t::InstallOneshotTimer (int milliseconds)
961
- {
962
- if (Timers.size() > MaxOutstandingTimers)
963
- return false;
964
- // Don't use the global loop-time variable here, because we might
965
- // get called before the main event machine is running.
966
-
967
- #ifdef OS_UNIX
968
- struct timeval tv;
969
- gettimeofday (&tv, NULL);
970
- Int64 fire_at = (((Int64)(tv.tv_sec)) * 1000000LL) + ((Int64)(tv.tv_usec));
971
- fire_at += ((Int64)milliseconds) * 1000LL;
972
- #endif
973
-
974
- #ifdef OS_WIN32
975
- unsigned tick = GetTickCount();
976
- if (tick < gLastTickCount)
977
- gTickCountTickover += 1;
978
- gLastTickCount = tick;
979
-
980
- Int64 fire_at = ((Int64)gTickCountTickover << 32) + (Int64)tick;
981
- fire_at += (Int64)milliseconds;
982
- #endif
983
-
984
- Timer_t t;
985
- #ifndef HAVE_MAKE_PAIR
986
- multimap<Int64,Timer_t>::iterator i = Timers.insert (multimap<Int64,Timer_t>::value_type (fire_at, t));
987
- #else
988
- multimap<Int64,Timer_t>::iterator i = Timers.insert (make_pair (fire_at, t));
989
- #endif
990
- return i->second.GetBinding();
991
- }
992
-
993
-
994
- /*******************************
995
- EventMachine_t::ConnectToServer
996
- *******************************/
997
-
998
- const unsigned long EventMachine_t::ConnectToServer (const char *bind_addr, int bind_port, const char *server, int port)
999
- {
1000
- /* We want to spend no more than a few seconds waiting for a connection
1001
- * to a remote host. So we use a nonblocking connect.
1002
- * Linux disobeys the usual rules for nonblocking connects.
1003
- * Per Stevens (UNP p.410), you expect a nonblocking connect to select
1004
- * both readable and writable on error, and not to return EINPROGRESS
1005
- * if the connect can be fulfilled immediately. Linux violates both
1006
- * of these expectations.
1007
- * Any kind of nonblocking connect on Linux returns EINPROGRESS.
1008
- * The socket will then return writable when the disposition of the
1009
- * connect is known, but it will not also be readable in case of
1010
- * error! Weirdly, it will be readable in case there is data to read!!!
1011
- * (Which can happen with protocols like SSH and SMTP.)
1012
- * I suppose if you were so inclined you could consider this logical,
1013
- * but it's not the way Unix has historically done it.
1014
- * So we ignore the readable flag and read getsockopt to see if there
1015
- * was an error connecting. A select timeout works as expected.
1016
- * In regard to getsockopt: Linux does the Berkeley-style thing,
1017
- * not the Solaris-style, and returns zero with the error code in
1018
- * the error parameter.
1019
- * Return the binding-text of the newly-created pending connection,
1020
- * or NULL if there was a problem.
1021
- */
1022
-
1023
- if (!server || !*server || !port)
1024
- throw std::runtime_error ("invalid server or port");
1025
-
1026
- int family, bind_size;
1027
- struct sockaddr bind_as, *bind_as_ptr = name2address (server, port, &family, &bind_size);
1028
- if (!bind_as_ptr)
1029
- throw std::runtime_error ("unable to resolve server address");
1030
- bind_as = *bind_as_ptr; // copy because name2address points to a static
1031
-
1032
- int sd = socket (family, SOCK_STREAM, 0);
1033
- if (sd == INVALID_SOCKET)
1034
- throw std::runtime_error ("unable to create new socket");
1035
-
1036
- /*
1037
- sockaddr_in pin;
1038
- unsigned long HostAddr;
1039
-
1040
- HostAddr = inet_addr (server);
1041
- if (HostAddr == INADDR_NONE) {
1042
- hostent *hp = gethostbyname ((char*)server); // Windows requires (char*)
1043
- if (!hp) {
1044
- // TODO: This gives the caller a fatal error. Not good.
1045
- // They can respond by catching RuntimeError (blecch).
1046
- // Possibly we need to fire an unbind event and provide
1047
- // a status code so user code can detect the cause of the
1048
- // failure.
1049
- return NULL;
1050
- }
1051
- HostAddr = ((in_addr*)(hp->h_addr))->s_addr;
1052
- }
1053
-
1054
- memset (&pin, 0, sizeof(pin));
1055
- pin.sin_family = AF_INET;
1056
- pin.sin_addr.s_addr = HostAddr;
1057
- pin.sin_port = htons (port);
1058
-
1059
- int sd = socket (AF_INET, SOCK_STREAM, 0);
1060
- if (sd == INVALID_SOCKET)
1061
- return NULL;
1062
- */
1063
-
1064
- // From here on, ALL error returns must close the socket.
1065
- // Set the new socket nonblocking.
1066
- if (!SetSocketNonblocking (sd)) {
1067
- closesocket (sd);
1068
- throw std::runtime_error ("unable to set socket as non-blocking");
1069
- }
1070
- // Disable slow-start (Nagle algorithm).
1071
- int one = 1;
1072
- setsockopt (sd, IPPROTO_TCP, TCP_NODELAY, (char*) &one, sizeof(one));
1073
- // Set reuseaddr to improve performance on restarts
1074
- setsockopt (sd, SOL_SOCKET, SO_REUSEADDR, (char*) &one, sizeof(one));
1075
-
1076
- if (bind_addr) {
1077
- int bind_to_size, bind_to_family;
1078
- struct sockaddr *bind_to = name2address (bind_addr, bind_port, &bind_to_family, &bind_to_size);
1079
- if (!bind_to) {
1080
- closesocket (sd);
1081
- throw std::runtime_error ("invalid bind address");
1082
- }
1083
- if (bind (sd, bind_to, bind_to_size) < 0) {
1084
- closesocket (sd);
1085
- throw std::runtime_error ("couldn't bind to address");
1086
- }
1087
- }
1088
-
1089
- unsigned long out = NULL;
1090
-
1091
- #ifdef OS_UNIX
1092
- //if (connect (sd, (sockaddr*)&pin, sizeof pin) == 0) {
1093
- if (connect (sd, &bind_as, bind_size) == 0) {
1094
- // This is a connect success, which Linux appears
1095
- // never to give when the socket is nonblocking,
1096
- // even if the connection is intramachine or to
1097
- // localhost.
1098
-
1099
- /* Changed this branch 08Aug06. Evidently some kernels
1100
- * (FreeBSD for example) will actually return success from
1101
- * a nonblocking connect. This is a pretty simple case,
1102
- * just set up the new connection and clear the pending flag.
1103
- * Thanks to Chris Ochs for helping track this down.
1104
- * This branch never gets taken on Linux or (oddly) OSX.
1105
- * The original behavior was to throw an unimplemented,
1106
- * which the user saw as a fatal exception. Very unfriendly.
1107
- *
1108
- * Tweaked 10Aug06. Even though the connect disposition is
1109
- * known, we still set the connect-pending flag. That way
1110
- * some needed initialization will happen in the ConnectionDescriptor.
1111
- * (To wit, the ConnectionCompleted event gets sent to the client.)
1112
- */
1113
- ConnectionDescriptor *cd = new ConnectionDescriptor (sd, this);
1114
- if (!cd)
1115
- throw std::runtime_error ("no connection allocated");
1116
- cd->SetConnectPending (true);
1117
- Add (cd);
1118
- out = cd->GetBinding();
1119
- }
1120
- else if (errno == EINPROGRESS) {
1121
- // Errno will generally always be EINPROGRESS, but on Linux
1122
- // we have to look at getsockopt to be sure what really happened.
1123
- int error;
1124
- socklen_t len;
1125
- len = sizeof(error);
1126
- int o = getsockopt (sd, SOL_SOCKET, SO_ERROR, &error, &len);
1127
- if ((o == 0) && (error == 0)) {
1128
- // Here, there's no disposition.
1129
- // Put the connection on the stack and wait for it to complete
1130
- // or time out.
1131
- ConnectionDescriptor *cd = new ConnectionDescriptor (sd, this);
1132
- if (!cd)
1133
- throw std::runtime_error ("no connection allocated");
1134
- cd->SetConnectPending (true);
1135
- Add (cd);
1136
- out = cd->GetBinding();
1137
- }
1138
- else {
1139
- /* This could be connection refused or some such thing.
1140
- * We will come here on Linux if a localhost connection fails.
1141
- * Changed 16Jul06: Originally this branch was a no-op, and
1142
- * we'd drop down to the end of the method, close the socket,
1143
- * and return NULL, which would cause the caller to GET A
1144
- * FATAL EXCEPTION. Now we keep the socket around but schedule an
1145
- * immediate close on it, so the caller will get a close-event
1146
- * scheduled on it. This was only an issue for localhost connections
1147
- * to non-listening ports. We may eventually need to revise this
1148
- * revised behavior, in case it causes problems like making it hard
1149
- * for people to know that a failure occurred.
1150
- */
1151
- ConnectionDescriptor *cd = new ConnectionDescriptor (sd, this);
1152
- if (!cd)
1153
- throw std::runtime_error ("no connection allocated");
1154
- cd->ScheduleClose (false);
1155
- Add (cd);
1156
- out = cd->GetBinding();
1157
- }
1158
- }
1159
- else {
1160
- // The error from connect was something other then EINPROGRESS.
1161
- }
1162
- #endif
1163
-
1164
- #ifdef OS_WIN32
1165
- //if (connect (sd, (sockaddr*)&pin, sizeof pin) == 0) {
1166
- if (connect (sd, &bind_as, bind_size) == 0) {
1167
- // This is a connect success, which Windows appears
1168
- // never to give when the socket is nonblocking,
1169
- // even if the connection is intramachine or to
1170
- // localhost.
1171
- throw std::runtime_error ("unimplemented");
1172
- }
1173
- else if (WSAGetLastError() == WSAEWOULDBLOCK) {
1174
- // Here, there's no disposition.
1175
- // Windows appears not to surface refused connections or
1176
- // such stuff at this point.
1177
- // Put the connection on the stack and wait for it to complete
1178
- // or time out.
1179
- ConnectionDescriptor *cd = new ConnectionDescriptor (sd, this);
1180
- if (!cd)
1181
- throw std::runtime_error ("no connection allocated");
1182
- cd->SetConnectPending (true);
1183
- Add (cd);
1184
- out = cd->GetBinding();
1185
- }
1186
- else {
1187
- // The error from connect was something other then WSAEWOULDBLOCK.
1188
- }
1189
-
1190
- #endif
1191
-
1192
- if (!out)
1193
- closesocket (sd);
1194
- return out;
1195
- }
1196
-
1197
- /***********************************
1198
- EventMachine_t::ConnectToUnixServer
1199
- ***********************************/
1200
-
1201
- const unsigned long EventMachine_t::ConnectToUnixServer (const char *server)
1202
- {
1203
- /* Connect to a Unix-domain server, which by definition is running
1204
- * on the same host.
1205
- * There is no meaningful implementation on Windows.
1206
- * There's no need to do a nonblocking connect, since the connection
1207
- * is always local and can always be fulfilled immediately.
1208
- */
1209
-
1210
- #ifdef OS_WIN32
1211
- throw std::runtime_error ("unix-domain connection unavailable on this platform");
1212
- return NULL;
1213
- #endif
1214
-
1215
- // The whole rest of this function is only compiled on Unix systems.
1216
- #ifdef OS_UNIX
1217
-
1218
- unsigned long out = NULL;
1219
-
1220
- if (!server || !*server)
1221
- return NULL;
1222
-
1223
- sockaddr_un pun;
1224
- memset (&pun, 0, sizeof(pun));
1225
- pun.sun_family = AF_LOCAL;
1226
-
1227
- // You ordinarily expect the server name field to be at least 1024 bytes long,
1228
- // but on Linux it can be MUCH shorter.
1229
- if (strlen(server) >= sizeof(pun.sun_path))
1230
- throw std::runtime_error ("unix-domain server name is too long");
1231
-
1232
-
1233
- strcpy (pun.sun_path, server);
1234
-
1235
- int fd = socket (AF_LOCAL, SOCK_STREAM, 0);
1236
- if (fd == INVALID_SOCKET)
1237
- return NULL;
1238
-
1239
- // From here on, ALL error returns must close the socket.
1240
- // NOTE: At this point, the socket is still a blocking socket.
1241
- if (connect (fd, (struct sockaddr*)&pun, sizeof(pun)) != 0) {
1242
- closesocket (fd);
1243
- return NULL;
1244
- }
1245
-
1246
- // Set the newly-connected socket nonblocking.
1247
- if (!SetSocketNonblocking (fd)) {
1248
- closesocket (fd);
1249
- return NULL;
1250
- }
1251
-
1252
- // Set up a connection descriptor and add it to the event-machine.
1253
- // Observe, even though we know the connection status is connect-success,
1254
- // we still set the "pending" flag, so some needed initializations take
1255
- // place.
1256
- ConnectionDescriptor *cd = new ConnectionDescriptor (fd, this);
1257
- if (!cd)
1258
- throw std::runtime_error ("no connection allocated");
1259
- cd->SetConnectPending (true);
1260
- Add (cd);
1261
- out = cd->GetBinding();
1262
-
1263
- if (!out)
1264
- closesocket (fd);
1265
-
1266
- return out;
1267
- #endif
1268
- }
1269
-
1270
- /************************
1271
- EventMachine_t::AttachFD
1272
- ************************/
1273
-
1274
- const unsigned long EventMachine_t::AttachFD (int fd, bool watch_mode)
1275
- {
1276
- #ifdef OS_UNIX
1277
- if (fcntl(fd, F_GETFL, 0) < 0)
1278
- throw std::runtime_error ("invalid file descriptor");
1279
- #endif
1280
-
1281
- #ifdef OS_WIN32
1282
- // TODO: add better check for invalid file descriptors (see ioctlsocket or getsockopt)
1283
- if (fd == INVALID_SOCKET)
1284
- throw std::runtime_error ("invalid file descriptor");
1285
- #endif
1286
-
1287
- {// Check for duplicate descriptors
1288
- size_t i;
1289
- for (i = 0; i < Descriptors.size(); i++) {
1290
- EventableDescriptor *ed = Descriptors[i];
1291
- assert (ed);
1292
- if (ed->GetSocket() == fd)
1293
- throw std::runtime_error ("adding existing descriptor");
1294
- }
1295
-
1296
- for (i = 0; i < NewDescriptors.size(); i++) {
1297
- EventableDescriptor *ed = NewDescriptors[i];
1298
- assert (ed);
1299
- if (ed->GetSocket() == fd)
1300
- throw std::runtime_error ("adding existing new descriptor");
1301
- }
1302
- }
1303
-
1304
- if (!watch_mode)
1305
- SetSocketNonblocking(fd);
1306
-
1307
- ConnectionDescriptor *cd = new ConnectionDescriptor (fd, this);
1308
- if (!cd)
1309
- throw std::runtime_error ("no connection allocated");
1310
-
1311
- cd->SetWatchOnly(watch_mode);
1312
- cd->SetConnectPending (false);
1313
-
1314
- Add (cd);
1315
-
1316
- const unsigned long out = cd->GetBinding();
1317
- return out;
1318
- }
1319
-
1320
- /************************
1321
- EventMachine_t::DetachFD
1322
- ************************/
1323
-
1324
- int EventMachine_t::DetachFD (EventableDescriptor *ed)
1325
- {
1326
- if (!ed)
1327
- throw std::runtime_error ("detaching bad descriptor");
1328
-
1329
- int fd = ed->GetSocket();
1330
-
1331
- #ifdef HAVE_EPOLL
1332
- if (bEpoll) {
1333
- if (ed->GetSocket() != INVALID_SOCKET) {
1334
- assert (epfd != -1);
1335
- int e = epoll_ctl (epfd, EPOLL_CTL_DEL, ed->GetSocket(), ed->GetEpollEvent());
1336
- // ENOENT or EBADF are not errors because the socket may be already closed when we get here.
1337
- if (e && (errno != ENOENT) && (errno != EBADF)) {
1338
- char buf [200];
1339
- snprintf (buf, sizeof(buf)-1, "unable to delete epoll event: %s", strerror(errno));
1340
- throw std::runtime_error (buf);
1341
- }
1342
- }
1343
- }
1344
- #endif
1345
-
1346
- #ifdef HAVE_KQUEUE
1347
- if (bKqueue) {
1348
- // remove any read/write events for this fd
1349
- struct kevent k;
1350
- EV_SET (&k, ed->GetSocket(), EVFILT_READ | EVFILT_WRITE, EV_DELETE, 0, 0, ed);
1351
- int t = kevent (kqfd, &k, 1, NULL, 0, NULL);
1352
- if (t < 0 && (errno != ENOENT) && (errno != EBADF)) {
1353
- char buf [200];
1354
- snprintf (buf, sizeof(buf)-1, "unable to delete kqueue event: %s", strerror(errno));
1355
- throw std::runtime_error (buf);
1356
- }
1357
- }
1358
- #endif
1359
-
1360
- // Prevent the descriptor from being modified, in case DetachFD was called from a timer or next_tick
1361
- ModifiedDescriptors.erase (ed);
1362
-
1363
- // Set MySocket = INVALID_SOCKET so ShouldDelete() is true (and the descriptor gets deleted and removed),
1364
- // and also to prevent anyone from calling close() on the detached fd
1365
- ed->SetSocketInvalid();
1366
-
1367
- return fd;
1368
- }
1369
-
1370
- /************
1371
- name2address
1372
- ************/
1373
-
1374
- struct sockaddr *name2address (const char *server, int port, int *family, int *bind_size)
1375
- {
1376
- // THIS IS NOT RE-ENTRANT OR THREADSAFE. Optimize for speed.
1377
- // Check the more-common cases first.
1378
- // Return NULL if no resolution.
1379
-
1380
- static struct sockaddr_in in4;
1381
- #ifndef __CYGWIN__
1382
- static struct sockaddr_in6 in6;
1383
- #endif
1384
- struct hostent *hp;
1385
-
1386
- if (!server || !*server)
1387
- server = "0.0.0.0";
1388
-
1389
- memset (&in4, 0, sizeof(in4));
1390
- if ( (in4.sin_addr.s_addr = inet_addr (server)) != INADDR_NONE) {
1391
- if (family)
1392
- *family = AF_INET;
1393
- if (bind_size)
1394
- *bind_size = sizeof(in4);
1395
- in4.sin_family = AF_INET;
1396
- in4.sin_port = htons (port);
1397
- return (struct sockaddr*)&in4;
1398
- }
1399
-
1400
- #if defined(OS_UNIX) && !defined(__CYGWIN__)
1401
- memset (&in6, 0, sizeof(in6));
1402
- if (inet_pton (AF_INET6, server, in6.sin6_addr.s6_addr) > 0) {
1403
- if (family)
1404
- *family = AF_INET6;
1405
- if (bind_size)
1406
- *bind_size = sizeof(in6);
1407
- in6.sin6_family = AF_INET6;
1408
- in6.sin6_port = htons (port);
1409
- return (struct sockaddr*)&in6;
1410
- }
1411
- #endif
1412
-
1413
- #ifdef OS_WIN32
1414
- // TODO, must complete this branch. Windows doesn't have inet_pton.
1415
- // A possible approach is to make a getaddrinfo call with the supplied
1416
- // server address, constraining the hints to ipv6 and seeing if we
1417
- // get any addresses.
1418
- // For the time being, Ipv6 addresses aren't supported on Windows.
1419
- #endif
1420
-
1421
- hp = gethostbyname ((char*)server); // Windows requires the cast.
1422
- if (hp) {
1423
- in4.sin_addr.s_addr = ((in_addr*)(hp->h_addr))->s_addr;
1424
- if (family)
1425
- *family = AF_INET;
1426
- if (bind_size)
1427
- *bind_size = sizeof(in4);
1428
- in4.sin_family = AF_INET;
1429
- in4.sin_port = htons (port);
1430
- return (struct sockaddr*)&in4;
1431
- }
1432
-
1433
- return NULL;
1434
- }
1435
-
1436
-
1437
- /*******************************
1438
- EventMachine_t::CreateTcpServer
1439
- *******************************/
1440
-
1441
- const unsigned long EventMachine_t::CreateTcpServer (const char *server, int port)
1442
- {
1443
- /* Create a TCP-acceptor (server) socket and add it to the event machine.
1444
- * Return the binding of the new acceptor to the caller.
1445
- * This binding will be referenced when the new acceptor sends events
1446
- * to indicate accepted connections.
1447
- */
1448
-
1449
-
1450
- int family, bind_size;
1451
- struct sockaddr *bind_here = name2address (server, port, &family, &bind_size);
1452
- if (!bind_here)
1453
- return NULL;
1454
-
1455
- unsigned long output_binding = NULL;
1456
-
1457
- //struct sockaddr_in sin;
1458
-
1459
- int sd_accept = socket (family, SOCK_STREAM, 0);
1460
- if (sd_accept == INVALID_SOCKET) {
1461
- goto fail;
1462
- }
1463
-
1464
- /*
1465
- memset (&sin, 0, sizeof(sin));
1466
- sin.sin_family = AF_INET;
1467
- sin.sin_addr.s_addr = INADDR_ANY;
1468
- sin.sin_port = htons (port);
1469
-
1470
- if (server && *server) {
1471
- sin.sin_addr.s_addr = inet_addr (server);
1472
- if (sin.sin_addr.s_addr == INADDR_NONE) {
1473
- hostent *hp = gethostbyname ((char*)server); // Windows requires the cast.
1474
- if (hp == NULL) {
1475
- //__warning ("hostname not resolved: ", server);
1476
- goto fail;
1477
- }
1478
- sin.sin_addr.s_addr = ((in_addr*)(hp->h_addr))->s_addr;
1479
- }
1480
- }
1481
- */
1482
-
1483
- { // set reuseaddr to improve performance on restarts.
1484
- int oval = 1;
1485
- if (setsockopt (sd_accept, SOL_SOCKET, SO_REUSEADDR, (char*)&oval, sizeof(oval)) < 0) {
1486
- //__warning ("setsockopt failed while creating listener","");
1487
- goto fail;
1488
- }
1489
- }
1490
-
1491
- { // set CLOEXEC. Only makes sense on Unix
1492
- #ifdef OS_UNIX
1493
- int cloexec = fcntl (sd_accept, F_GETFD, 0);
1494
- assert (cloexec >= 0);
1495
- cloexec |= FD_CLOEXEC;
1496
- fcntl (sd_accept, F_SETFD, cloexec);
1497
- #endif
1498
- }
1499
-
1500
-
1501
- //if (bind (sd_accept, (struct sockaddr*)&sin, sizeof(sin))) {
1502
- if (bind (sd_accept, bind_here, bind_size)) {
1503
- //__warning ("binding failed");
1504
- goto fail;
1505
- }
1506
-
1507
- if (listen (sd_accept, 100)) {
1508
- //__warning ("listen failed");
1509
- goto fail;
1510
- }
1511
-
1512
- {
1513
- // Set the acceptor non-blocking.
1514
- // THIS IS CRUCIALLY IMPORTANT because we read it in a select loop.
1515
- if (!SetSocketNonblocking (sd_accept)) {
1516
- //int val = fcntl (sd_accept, F_GETFL, 0);
1517
- //if (fcntl (sd_accept, F_SETFL, val | O_NONBLOCK) == -1) {
1518
- goto fail;
1519
- }
1520
- }
1521
-
1522
- { // Looking good.
1523
- AcceptorDescriptor *ad = new AcceptorDescriptor (sd_accept, this);
1524
- if (!ad)
1525
- throw std::runtime_error ("unable to allocate acceptor");
1526
- Add (ad);
1527
- output_binding = ad->GetBinding();
1528
- }
1529
-
1530
- return output_binding;
1531
-
1532
- fail:
1533
- if (sd_accept != INVALID_SOCKET)
1534
- closesocket (sd_accept);
1535
- return NULL;
1536
- }
1537
-
1538
-
1539
- /**********************************
1540
- EventMachine_t::OpenDatagramSocket
1541
- **********************************/
1542
-
1543
- const unsigned long EventMachine_t::OpenDatagramSocket (const char *address, int port)
1544
- {
1545
- unsigned long output_binding = NULL;
1546
-
1547
- int sd = socket (AF_INET, SOCK_DGRAM, 0);
1548
- if (sd == INVALID_SOCKET)
1549
- goto fail;
1550
- // from here on, early returns must close the socket!
1551
-
1552
-
1553
- struct sockaddr_in sin;
1554
- memset (&sin, 0, sizeof(sin));
1555
- sin.sin_family = AF_INET;
1556
- sin.sin_port = htons (port);
1557
-
1558
-
1559
- if (address && *address) {
1560
- sin.sin_addr.s_addr = inet_addr (address);
1561
- if (sin.sin_addr.s_addr == INADDR_NONE) {
1562
- hostent *hp = gethostbyname ((char*)address); // Windows requires the cast.
1563
- if (hp == NULL)
1564
- goto fail;
1565
- sin.sin_addr.s_addr = ((in_addr*)(hp->h_addr))->s_addr;
1566
- }
1567
- }
1568
- else
1569
- sin.sin_addr.s_addr = htonl (INADDR_ANY);
1570
-
1571
-
1572
- // Set the new socket nonblocking.
1573
- {
1574
- if (!SetSocketNonblocking (sd))
1575
- //int val = fcntl (sd, F_GETFL, 0);
1576
- //if (fcntl (sd, F_SETFL, val | O_NONBLOCK) == -1)
1577
- goto fail;
1578
- }
1579
-
1580
- if (bind (sd, (struct sockaddr*)&sin, sizeof(sin)) != 0)
1581
- goto fail;
1582
-
1583
- { // Looking good.
1584
- DatagramDescriptor *ds = new DatagramDescriptor (sd, this);
1585
- if (!ds)
1586
- throw std::runtime_error ("unable to allocate datagram-socket");
1587
- Add (ds);
1588
- output_binding = ds->GetBinding();
1589
- }
1590
-
1591
- return output_binding;
1592
-
1593
- fail:
1594
- if (sd != INVALID_SOCKET)
1595
- closesocket (sd);
1596
- return NULL;
1597
- }
1598
-
1599
-
1600
-
1601
- /*******************
1602
- EventMachine_t::Add
1603
- *******************/
1604
-
1605
- void EventMachine_t::Add (EventableDescriptor *ed)
1606
- {
1607
- if (!ed)
1608
- throw std::runtime_error ("added bad descriptor");
1609
- ed->SetEventCallback (EventCallback);
1610
- NewDescriptors.push_back (ed);
1611
- }
1612
-
1613
-
1614
- /*******************************
1615
- EventMachine_t::ArmKqueueWriter
1616
- *******************************/
1617
-
1618
- void EventMachine_t::ArmKqueueWriter (EventableDescriptor *ed)
1619
- {
1620
- #ifdef HAVE_KQUEUE
1621
- if (bKqueue) {
1622
- if (!ed)
1623
- throw std::runtime_error ("added bad descriptor");
1624
- struct kevent k;
1625
- EV_SET (&k, ed->GetSocket(), EVFILT_WRITE, EV_ADD | EV_ONESHOT, 0, 0, ed);
1626
- int t = kevent (kqfd, &k, 1, NULL, 0, NULL);
1627
- if (t < 0) {
1628
- char buf [200];
1629
- snprintf (buf, sizeof(buf)-1, "arm kqueue writer failed on %d: %s", ed->GetSocket(), strerror(errno));
1630
- throw std::runtime_error (buf);
1631
- }
1632
- }
1633
- #endif
1634
- }
1635
-
1636
- /*******************************
1637
- EventMachine_t::ArmKqueueReader
1638
- *******************************/
1639
-
1640
- void EventMachine_t::ArmKqueueReader (EventableDescriptor *ed)
1641
- {
1642
- #ifdef HAVE_KQUEUE
1643
- if (bKqueue) {
1644
- if (!ed)
1645
- throw std::runtime_error ("added bad descriptor");
1646
- struct kevent k;
1647
- EV_SET (&k, ed->GetSocket(), EVFILT_READ, EV_ADD, 0, 0, ed);
1648
- int t = kevent (kqfd, &k, 1, NULL, 0, NULL);
1649
- if (t < 0) {
1650
- char buf [200];
1651
- snprintf (buf, sizeof(buf)-1, "arm kqueue reader failed on %d: %s", ed->GetSocket(), strerror(errno));
1652
- throw std::runtime_error (buf);
1653
- }
1654
- }
1655
- #endif
1656
- }
1657
-
1658
- /**********************************
1659
- EventMachine_t::_AddNewDescriptors
1660
- **********************************/
1661
-
1662
- void EventMachine_t::_AddNewDescriptors()
1663
- {
1664
- /* Avoid adding descriptors to the main descriptor list
1665
- * while we're actually traversing the list.
1666
- * Any descriptors that are added as a result of processing timers
1667
- * or acceptors should go on a temporary queue and then added
1668
- * while we're not traversing the main list.
1669
- * Also, it (rarely) happens that a newly-created descriptor
1670
- * is immediately scheduled to close. It might be a good
1671
- * idea not to bother scheduling these for I/O but if
1672
- * we do that, we might bypass some important processing.
1673
- */
1674
-
1675
- for (size_t i = 0; i < NewDescriptors.size(); i++) {
1676
- EventableDescriptor *ed = NewDescriptors[i];
1677
- if (ed == NULL)
1678
- throw std::runtime_error ("adding bad descriptor");
1679
-
1680
- #if HAVE_EPOLL
1681
- if (bEpoll) {
1682
- assert (epfd != -1);
1683
- int e = epoll_ctl (epfd, EPOLL_CTL_ADD, ed->GetSocket(), ed->GetEpollEvent());
1684
- if (e) {
1685
- char buf [200];
1686
- snprintf (buf, sizeof(buf)-1, "unable to add new descriptor: %s", strerror(errno));
1687
- throw std::runtime_error (buf);
1688
- }
1689
- }
1690
- #endif
1691
-
1692
- #if HAVE_KQUEUE
1693
- /*
1694
- if (bKqueue) {
1695
- // INCOMPLETE. Some descriptors don't want to be readable.
1696
- assert (kqfd != -1);
1697
- struct kevent k;
1698
- EV_SET (&k, ed->GetSocket(), EVFILT_READ, EV_ADD, 0, 0, ed);
1699
- int t = kevent (kqfd, &k, 1, NULL, 0, NULL);
1700
- assert (t == 0);
1701
- }
1702
- */
1703
- #endif
1704
-
1705
- Descriptors.push_back (ed);
1706
- }
1707
- NewDescriptors.clear();
1708
- }
1709
-
1710
-
1711
- /**********************************
1712
- EventMachine_t::_ModifyDescriptors
1713
- **********************************/
1714
-
1715
- void EventMachine_t::_ModifyDescriptors()
1716
- {
1717
- /* For implementations which don't level check every descriptor on
1718
- * every pass through the machine, as select does.
1719
- * If we're not selecting, then descriptors need a way to signal to the
1720
- * machine that their readable or writable status has changed.
1721
- * That's what the ::Modify call is for. We do it this way to avoid
1722
- * modifying descriptors during the loop traversal, where it can easily
1723
- * happen that an object (like a UDP socket) gets data written on it by
1724
- * the application during #post_init. That would take place BEFORE the
1725
- * descriptor even gets added to the epoll descriptor, so the modify
1726
- * operation will crash messily.
1727
- * Another really messy possibility is for a descriptor to put itself
1728
- * on the Modified list, and then get deleted before we get here.
1729
- * Remember, deletes happen after the I/O traversal and before the
1730
- * next pass through here. So we have to make sure when we delete a
1731
- * descriptor to remove it from the Modified list.
1732
- */
1733
-
1734
- #ifdef HAVE_EPOLL
1735
- if (bEpoll) {
1736
- set<EventableDescriptor*>::iterator i = ModifiedDescriptors.begin();
1737
- while (i != ModifiedDescriptors.end()) {
1738
- assert (*i);
1739
- _ModifyEpollEvent (*i);
1740
- ++i;
1741
- }
1742
- }
1743
- #endif
1744
-
1745
- ModifiedDescriptors.clear();
1746
- }
1747
-
1748
-
1749
- /**********************
1750
- EventMachine_t::Modify
1751
- **********************/
1752
-
1753
- void EventMachine_t::Modify (EventableDescriptor *ed)
1754
- {
1755
- if (!ed)
1756
- throw std::runtime_error ("modified bad descriptor");
1757
- ModifiedDescriptors.insert (ed);
1758
- }
1759
-
1760
-
1761
- /***********************************
1762
- EventMachine_t::_OpenFileForWriting
1763
- ***********************************/
1764
-
1765
- const unsigned long EventMachine_t::_OpenFileForWriting (const char *filename)
1766
- {
1767
- /*
1768
- * Return the binding-text of the newly-opened file,
1769
- * or NULL if there was a problem.
1770
- */
1771
-
1772
- if (!filename || !*filename)
1773
- return NULL;
1774
-
1775
- int fd = open (filename, O_CREAT|O_TRUNC|O_WRONLY|O_NONBLOCK, 0644);
1776
-
1777
- FileStreamDescriptor *fsd = new FileStreamDescriptor (fd, this);
1778
- if (!fsd)
1779
- throw std::runtime_error ("no file-stream allocated");
1780
- Add (fsd);
1781
- return fsd->GetBinding();
1782
-
1783
- }
1784
-
1785
-
1786
- /**************************************
1787
- EventMachine_t::CreateUnixDomainServer
1788
- **************************************/
1789
-
1790
- const unsigned long EventMachine_t::CreateUnixDomainServer (const char *filename)
1791
- {
1792
- /* Create a UNIX-domain acceptor (server) socket and add it to the event machine.
1793
- * Return the binding of the new acceptor to the caller.
1794
- * This binding will be referenced when the new acceptor sends events
1795
- * to indicate accepted connections.
1796
- * THERE IS NO MEANINGFUL IMPLEMENTATION ON WINDOWS.
1797
- */
1798
-
1799
- #ifdef OS_WIN32
1800
- throw std::runtime_error ("unix-domain server unavailable on this platform");
1801
- #endif
1802
-
1803
- // The whole rest of this function is only compiled on Unix systems.
1804
- #ifdef OS_UNIX
1805
- unsigned long output_binding = NULL;
1806
-
1807
- struct sockaddr_un s_sun;
1808
-
1809
- int sd_accept = socket (AF_LOCAL, SOCK_STREAM, 0);
1810
- if (sd_accept == INVALID_SOCKET) {
1811
- goto fail;
1812
- }
1813
-
1814
- if (!filename || !*filename)
1815
- goto fail;
1816
- unlink (filename);
1817
-
1818
- bzero (&s_sun, sizeof(s_sun));
1819
- s_sun.sun_family = AF_LOCAL;
1820
- strncpy (s_sun.sun_path, filename, sizeof(s_sun.sun_path)-1);
1821
-
1822
- // don't bother with reuseaddr for a local socket.
1823
-
1824
- { // set CLOEXEC. Only makes sense on Unix
1825
- #ifdef OS_UNIX
1826
- int cloexec = fcntl (sd_accept, F_GETFD, 0);
1827
- assert (cloexec >= 0);
1828
- cloexec |= FD_CLOEXEC;
1829
- fcntl (sd_accept, F_SETFD, cloexec);
1830
- #endif
1831
- }
1832
-
1833
- if (bind (sd_accept, (struct sockaddr*)&s_sun, sizeof(s_sun))) {
1834
- //__warning ("binding failed");
1835
- goto fail;
1836
- }
1837
-
1838
- if (listen (sd_accept, 100)) {
1839
- //__warning ("listen failed");
1840
- goto fail;
1841
- }
1842
-
1843
- {
1844
- // Set the acceptor non-blocking.
1845
- // THIS IS CRUCIALLY IMPORTANT because we read it in a select loop.
1846
- if (!SetSocketNonblocking (sd_accept)) {
1847
- //int val = fcntl (sd_accept, F_GETFL, 0);
1848
- //if (fcntl (sd_accept, F_SETFL, val | O_NONBLOCK) == -1) {
1849
- goto fail;
1850
- }
1851
- }
1852
-
1853
- { // Looking good.
1854
- AcceptorDescriptor *ad = new AcceptorDescriptor (sd_accept, this);
1855
- if (!ad)
1856
- throw std::runtime_error ("unable to allocate acceptor");
1857
- Add (ad);
1858
- output_binding = ad->GetBinding();
1859
- }
1860
-
1861
- return output_binding;
1862
-
1863
- fail:
1864
- if (sd_accept != INVALID_SOCKET)
1865
- closesocket (sd_accept);
1866
- return NULL;
1867
- #endif // OS_UNIX
1868
- }
1869
-
1870
-
1871
- /*********************
1872
- EventMachine_t::Popen
1873
- *********************/
1874
- #if OBSOLETE
1875
- const char *EventMachine_t::Popen (const char *cmd, const char *mode)
1876
- {
1877
- #ifdef OS_WIN32
1878
- throw std::runtime_error ("popen is currently unavailable on this platform");
1879
- #endif
1880
-
1881
- // The whole rest of this function is only compiled on Unix systems.
1882
- // Eventually we need this functionality (or a full-duplex equivalent) on Windows.
1883
- #ifdef OS_UNIX
1884
- const char *output_binding = NULL;
1885
-
1886
- FILE *fp = popen (cmd, mode);
1887
- if (!fp)
1888
- return NULL;
1889
-
1890
- // From here, all early returns must pclose the stream.
1891
-
1892
- // According to the pipe(2) manpage, descriptors returned from pipe have both
1893
- // CLOEXEC and NONBLOCK clear. Do NOT set CLOEXEC. DO set nonblocking.
1894
- if (!SetSocketNonblocking (fileno (fp))) {
1895
- pclose (fp);
1896
- return NULL;
1897
- }
1898
-
1899
- { // Looking good.
1900
- PipeDescriptor *pd = new PipeDescriptor (fp, this);
1901
- if (!pd)
1902
- throw std::runtime_error ("unable to allocate pipe");
1903
- Add (pd);
1904
- output_binding = pd->GetBinding();
1905
- }
1906
-
1907
- return output_binding;
1908
- #endif
1909
- }
1910
- #endif // OBSOLETE
1911
-
1912
- /**************************
1913
- EventMachine_t::Socketpair
1914
- **************************/
1915
-
1916
- const unsigned long EventMachine_t::Socketpair (char * const*cmd_strings)
1917
- {
1918
- #ifdef OS_WIN32
1919
- throw std::runtime_error ("socketpair is currently unavailable on this platform");
1920
- #endif
1921
-
1922
- // The whole rest of this function is only compiled on Unix systems.
1923
- // Eventually we need this functionality (or a full-duplex equivalent) on Windows.
1924
- #ifdef OS_UNIX
1925
- // Make sure the incoming array of command strings is sane.
1926
- if (!cmd_strings)
1927
- return NULL;
1928
- int j;
1929
- for (j=0; j < 100 && cmd_strings[j]; j++)
1930
- ;
1931
- if ((j==0) || (j==100))
1932
- return NULL;
1933
-
1934
- unsigned long output_binding = NULL;
1935
-
1936
- int sv[2];
1937
- if (socketpair (AF_LOCAL, SOCK_STREAM, 0, sv) < 0)
1938
- return NULL;
1939
- // from here, all early returns must close the pair of sockets.
1940
-
1941
- // Set the parent side of the socketpair nonblocking.
1942
- // We don't care about the child side, and most child processes will expect their
1943
- // stdout to be blocking. Thanks to Duane Johnson and Bill Kelly for pointing this out.
1944
- // Obviously DON'T set CLOEXEC.
1945
- if (!SetSocketNonblocking (sv[0])) {
1946
- close (sv[0]);
1947
- close (sv[1]);
1948
- return NULL;
1949
- }
1950
-
1951
- pid_t f = fork();
1952
- if (f > 0) {
1953
- close (sv[1]);
1954
- PipeDescriptor *pd = new PipeDescriptor (sv[0], f, this);
1955
- if (!pd)
1956
- throw std::runtime_error ("unable to allocate pipe");
1957
- Add (pd);
1958
- output_binding = pd->GetBinding();
1959
- }
1960
- else if (f == 0) {
1961
- close (sv[0]);
1962
- dup2 (sv[1], STDIN_FILENO);
1963
- close (sv[1]);
1964
- dup2 (STDIN_FILENO, STDOUT_FILENO);
1965
- execvp (cmd_strings[0], cmd_strings+1);
1966
- exit (-1); // end the child process if the exec doesn't work.
1967
- }
1968
- else
1969
- throw std::runtime_error ("no fork");
1970
-
1971
- return output_binding;
1972
- #endif
1973
- }
1974
-
1975
-
1976
- /****************************
1977
- EventMachine_t::OpenKeyboard
1978
- ****************************/
1979
-
1980
- const unsigned long EventMachine_t::OpenKeyboard()
1981
- {
1982
- KeyboardDescriptor *kd = new KeyboardDescriptor (this);
1983
- if (!kd)
1984
- throw std::runtime_error ("no keyboard-object allocated");
1985
- Add (kd);
1986
- return kd->GetBinding();
1987
- }
1988
-
1989
-
1990
- /**********************************
1991
- EventMachine_t::GetConnectionCount
1992
- **********************************/
1993
-
1994
- int EventMachine_t::GetConnectionCount ()
1995
- {
1996
- return Descriptors.size() + NewDescriptors.size();
1997
- }
1998
-
1999
-
2000
- /************************
2001
- EventMachine_t::WatchPid
2002
- ************************/
2003
-
2004
- const unsigned long EventMachine_t::WatchPid (int pid)
2005
- {
2006
- #ifdef HAVE_KQUEUE
2007
- if (!bKqueue)
2008
- throw std::runtime_error("must enable kqueue");
2009
-
2010
- struct kevent event;
2011
- int kqres;
2012
-
2013
- EV_SET(&event, pid, EVFILT_PROC, EV_ADD, NOTE_EXIT | NOTE_FORK, 0, 0);
2014
-
2015
- // Attempt to register the event
2016
- kqres = kevent(kqfd, &event, 1, NULL, 0, NULL);
2017
- if (kqres == -1) {
2018
- char errbuf[200];
2019
- sprintf(errbuf, "failed to register file watch descriptor with kqueue: %s", strerror(errno));
2020
- throw std::runtime_error(errbuf);
2021
- }
2022
- #endif
2023
-
2024
- #ifdef HAVE_KQUEUE
2025
- Bindable_t* b = new Bindable_t();
2026
- Pids.insert(make_pair (pid, b));
2027
-
2028
- return b->GetBinding();
2029
- #endif
2030
-
2031
- throw std::runtime_error("no pid watching support on this system");
2032
- }
2033
-
2034
- /**************************
2035
- EventMachine_t::UnwatchPid
2036
- **************************/
2037
-
2038
- void EventMachine_t::UnwatchPid (int pid)
2039
- {
2040
- Bindable_t *b = Pids[pid];
2041
- assert(b);
2042
- Pids.erase(pid);
2043
-
2044
- #ifdef HAVE_KQUEUE
2045
- struct kevent k;
2046
-
2047
- EV_SET(&k, pid, EVFILT_PROC, EV_DELETE, 0, 0, 0);
2048
- /*int t =*/ kevent (kqfd, &k, 1, NULL, 0, NULL);
2049
- // t==-1 if the process already exited; ignore this for now
2050
- #endif
2051
-
2052
- if (EventCallback)
2053
- (*EventCallback)(b->GetBinding(), EM_CONNECTION_UNBOUND, NULL, 0);
2054
-
2055
- delete b;
2056
- }
2057
-
2058
- void EventMachine_t::UnwatchPid (const unsigned long sig)
2059
- {
2060
- for(map<int, Bindable_t*>::iterator i=Pids.begin(); i != Pids.end(); i++)
2061
- {
2062
- if (i->second->GetBinding() == sig) {
2063
- UnwatchPid (i->first);
2064
- return;
2065
- }
2066
- }
2067
-
2068
- throw std::runtime_error("attempted to remove invalid pid signature");
2069
- }
2070
-
2071
-
2072
- /*************************
2073
- EventMachine_t::WatchFile
2074
- *************************/
2075
-
2076
- const unsigned long EventMachine_t::WatchFile (const char *fpath)
2077
- {
2078
- struct stat sb;
2079
- int sres;
2080
- int wd = -1;
2081
-
2082
- sres = stat(fpath, &sb);
2083
-
2084
- if (sres == -1) {
2085
- char errbuf[300];
2086
- sprintf(errbuf, "error registering file %s for watching: %s", fpath, strerror(errno));
2087
- throw std::runtime_error(errbuf);
2088
- }
2089
-
2090
- #ifdef HAVE_INOTIFY
2091
- if (!inotify) {
2092
- inotify = new InotifyDescriptor(this);
2093
- assert (inotify);
2094
- Add(inotify);
2095
- }
2096
-
2097
- wd = inotify_add_watch(inotify->GetSocket(), fpath, IN_MODIFY | IN_DELETE_SELF | IN_MOVE_SELF);
2098
- if (wd == -1) {
2099
- char errbuf[300];
2100
- sprintf(errbuf, "failed to open file %s for registering with inotify: %s", fpath, strerror(errno));
2101
- throw std::runtime_error(errbuf);
2102
- }
2103
- #endif
2104
-
2105
- #ifdef HAVE_KQUEUE
2106
- if (!bKqueue)
2107
- throw std::runtime_error("must enable kqueue");
2108
-
2109
- // With kqueue we have to open the file first and use the resulting fd to register for events
2110
- wd = open(fpath, O_RDONLY);
2111
- if (wd == -1) {
2112
- char errbuf[300];
2113
- sprintf(errbuf, "failed to open file %s for registering with kqueue: %s", fpath, strerror(errno));
2114
- throw std::runtime_error(errbuf);
2115
- }
2116
- _RegisterKqueueFileEvent(wd);
2117
- #endif
2118
-
2119
- if (wd != -1) {
2120
- Bindable_t* b = new Bindable_t();
2121
- Files.insert(make_pair (wd, b));
2122
-
2123
- return b->GetBinding();
2124
- }
2125
-
2126
- throw std::runtime_error("no file watching support on this system"); // is this the right thing to do?
2127
- }
2128
-
2129
-
2130
- /***************************
2131
- EventMachine_t::UnwatchFile
2132
- ***************************/
2133
-
2134
- void EventMachine_t::UnwatchFile (int wd)
2135
- {
2136
- Bindable_t *b = Files[wd];
2137
- assert(b);
2138
- Files.erase(wd);
2139
-
2140
- #ifdef HAVE_INOTIFY
2141
- inotify_rm_watch(inotify->GetSocket(), wd);
2142
- #elif HAVE_KQUEUE
2143
- // With kqueue, closing the monitored fd automatically clears all registered events for it
2144
- close(wd);
2145
- #endif
2146
-
2147
- if (EventCallback)
2148
- (*EventCallback)(b->GetBinding(), EM_CONNECTION_UNBOUND, NULL, 0);
2149
-
2150
- delete b;
2151
- }
2152
-
2153
- void EventMachine_t::UnwatchFile (const unsigned long sig)
2154
- {
2155
- for(map<int, Bindable_t*>::iterator i=Files.begin(); i != Files.end(); i++)
2156
- {
2157
- if (i->second->GetBinding() == sig) {
2158
- UnwatchFile (i->first);
2159
- return;
2160
- }
2161
- }
2162
- throw std::runtime_error("attempted to remove invalid watch signature");
2163
- }
2164
-
2165
-
2166
- /***********************************
2167
- EventMachine_t::_ReadInotify_Events
2168
- ************************************/
2169
-
2170
- void EventMachine_t::_ReadInotifyEvents()
2171
- {
2172
- #ifdef HAVE_INOTIFY
2173
- struct inotify_event event;
2174
-
2175
- assert(EventCallback);
2176
-
2177
- while (read(inotify->GetSocket(), &event, INOTIFY_EVENT_SIZE) > 0) {
2178
- assert(event.len == 0);
2179
- if (event.mask & IN_MODIFY)
2180
- (*EventCallback)(Files [event.wd]->GetBinding(), EM_CONNECTION_READ, "modified", 8);
2181
- if (event.mask & IN_MOVE_SELF)
2182
- (*EventCallback)(Files [event.wd]->GetBinding(), EM_CONNECTION_READ, "moved", 5);
2183
- if (event.mask & IN_DELETE_SELF) {
2184
- (*EventCallback)(Files [event.wd]->GetBinding(), EM_CONNECTION_READ, "deleted", 7);
2185
- UnwatchFile ((int)event.wd);
2186
- }
2187
- }
2188
- #endif
2189
- }
2190
-
2191
-
2192
- /*************************************
2193
- EventMachine_t::_HandleKqueuePidEvent
2194
- *************************************/
2195
-
2196
- #ifdef HAVE_KQUEUE
2197
- void EventMachine_t::_HandleKqueuePidEvent(struct kevent *event)
2198
- {
2199
- assert(EventCallback);
2200
-
2201
- if (event->fflags & NOTE_FORK)
2202
- (*EventCallback)(Pids [(int) event->ident]->GetBinding(), EM_CONNECTION_READ, "fork", 4);
2203
- if (event->fflags & NOTE_EXIT) {
2204
- (*EventCallback)(Pids [(int) event->ident]->GetBinding(), EM_CONNECTION_READ, "exit", 4);
2205
- // stop watching the pid if it died
2206
- UnwatchPid ((int)event->ident);
2207
- }
2208
- }
2209
- #endif
2210
-
2211
-
2212
- /**************************************
2213
- EventMachine_t::_HandleKqueueFileEvent
2214
- ***************************************/
2215
-
2216
- #ifdef HAVE_KQUEUE
2217
- void EventMachine_t::_HandleKqueueFileEvent(struct kevent *event)
2218
- {
2219
- assert(EventCallback);
2220
-
2221
- if (event->fflags & NOTE_WRITE)
2222
- (*EventCallback)(Files [(int) event->ident]->GetBinding(), EM_CONNECTION_READ, "modified", 8);
2223
- if (event->fflags & NOTE_RENAME)
2224
- (*EventCallback)(Files [(int) event->ident]->GetBinding(), EM_CONNECTION_READ, "moved", 5);
2225
- if (event->fflags & NOTE_DELETE) {
2226
- (*EventCallback)(Files [(int) event->ident]->GetBinding(), EM_CONNECTION_READ, "deleted", 7);
2227
- UnwatchFile ((int)event->ident);
2228
- }
2229
- }
2230
- #endif
2231
-
2232
-
2233
- /****************************************
2234
- EventMachine_t::_RegisterKqueueFileEvent
2235
- *****************************************/
2236
-
2237
- #ifdef HAVE_KQUEUE
2238
- void EventMachine_t::_RegisterKqueueFileEvent(int fd)
2239
- {
2240
- struct kevent newevent;
2241
- int kqres;
2242
-
2243
- // Setup the event with our fd and proper flags
2244
- EV_SET(&newevent, fd, EVFILT_VNODE, EV_ADD | EV_CLEAR, NOTE_DELETE | NOTE_RENAME | NOTE_WRITE, 0, 0);
2245
-
2246
- // Attempt to register the event
2247
- kqres = kevent(kqfd, &newevent, 1, NULL, 0, NULL);
2248
- if (kqres == -1) {
2249
- char errbuf[200];
2250
- sprintf(errbuf, "failed to register file watch descriptor with kqueue: %s", strerror(errno));
2251
- close(fd);
2252
- throw std::runtime_error(errbuf);
2253
- }
2254
- }
2255
- #endif
2256
-
2257
-
2258
- /************************************
2259
- EventMachine_t::GetHeartbeatInterval
2260
- *************************************/
2261
-
2262
- float EventMachine_t::GetHeartbeatInterval()
2263
- {
2264
- return ((float)HeartbeatInterval / 1000000);
2265
- }
2266
-
2267
-
2268
- /************************************
2269
- EventMachine_t::SetHeartbeatInterval
2270
- *************************************/
2271
-
2272
- int EventMachine_t::SetHeartbeatInterval(float interval)
2273
- {
2274
- int iv = (int)(interval * 1000000);
2275
- if (iv > 0) {
2276
- HeartbeatInterval = iv;
2277
- return 1;
2278
- }
2279
- return 0;
2280
- }
2281
- //#endif // OS_UNIX
2282
-