poolparty 1.2.2 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1244) hide show
  1. data/README.rdoc +202 -0
  2. data/Rakefile +5 -19
  3. data/VERSION.yml +2 -2
  4. data/bin/cloud +49 -47
  5. data/bin/cloud-bootstrap +21 -22
  6. data/bin/cloud-compile +33 -0
  7. data/bin/cloud-configure +25 -33
  8. data/bin/cloud-console +33 -9
  9. data/bin/cloud-contract +31 -11
  10. data/bin/cloud-expand +30 -18
  11. data/bin/cloud-list +41 -15
  12. data/bin/cloud-osxcopy +21 -12
  13. data/bin/cloud-show +31 -21
  14. data/bin/cloud-ssh +20 -15
  15. data/bin/cloud-start +40 -20
  16. data/bin/cloud-terminate +28 -21
  17. data/bin/cloud-thrift +77 -0
  18. data/bin/cloud-verify +36 -28
  19. data/bin/install-poolparty +11 -207
  20. data/config/jeweler.rb +11 -13
  21. data/examples/basic.rb +19 -9
  22. data/examples/custom_bootstrap.sh +7 -0
  23. data/examples/eucalyptus.rb +63 -0
  24. data/examples/eucalyptus_test_run.sh +31 -0
  25. data/examples/knock.sh +27 -0
  26. data/examples/monitored_cloud.rb +22 -0
  27. data/examples/simple.rb +17 -0
  28. data/examples/ssh_garden.rb +21 -0
  29. data/examples/thrift/erlang/Emakefile +5 -0
  30. data/examples/thrift/erlang/Makefile +26 -0
  31. data/examples/thrift/erlang/deps/thrift/COPYING +24 -0
  32. data/examples/thrift/erlang/deps/thrift/LICENSE +24 -0
  33. data/examples/thrift/erlang/deps/thrift/Makefile +18 -0
  34. data/examples/thrift/erlang/deps/thrift/README +31 -0
  35. data/examples/thrift/erlang/deps/thrift/build/beamver +59 -0
  36. data/examples/thrift/erlang/deps/thrift/build/buildtargets.mk +14 -0
  37. data/examples/thrift/erlang/deps/thrift/build/colors.mk +24 -0
  38. data/examples/thrift/erlang/deps/thrift/build/docs.mk +12 -0
  39. data/examples/thrift/erlang/deps/thrift/build/mime.types +98 -0
  40. data/examples/thrift/erlang/deps/thrift/build/otp.mk +146 -0
  41. data/examples/thrift/erlang/deps/thrift/build/otp_subdir.mk +85 -0
  42. data/examples/thrift/erlang/deps/thrift/build/raw_test.mk +29 -0
  43. data/examples/thrift/erlang/deps/thrift/ebin/thrift.app +44 -0
  44. data/examples/thrift/erlang/deps/thrift/ebin/thrift.appup +1 -0
  45. data/examples/thrift/erlang/deps/thrift/include/thrift_constants.hrl +40 -0
  46. data/examples/thrift/erlang/deps/thrift/include/thrift_protocol.hrl +12 -0
  47. data/examples/thrift/erlang/deps/thrift/src/Makefile +116 -0
  48. data/examples/thrift/erlang/deps/thrift/src/test_handler.erl +7 -0
  49. data/examples/thrift/erlang/deps/thrift/src/test_service.erl +10 -0
  50. data/examples/thrift/erlang/deps/thrift/src/thrift.app.src +44 -0
  51. data/examples/thrift/erlang/deps/thrift/src/thrift.appup.src +1 -0
  52. data/examples/thrift/erlang/deps/thrift/src/thrift_app.erl +55 -0
  53. data/examples/thrift/erlang/deps/thrift/src/thrift_base64_transport.erl +45 -0
  54. data/examples/thrift/erlang/deps/thrift/src/thrift_binary_protocol.erl +318 -0
  55. data/examples/thrift/erlang/deps/thrift/src/thrift_buffered_transport.erl +168 -0
  56. data/examples/thrift/erlang/deps/thrift/src/thrift_client.erl +328 -0
  57. data/examples/thrift/erlang/deps/thrift/src/thrift_disk_log_transport.erl +106 -0
  58. data/examples/thrift/erlang/deps/thrift/src/thrift_file_transport.erl +69 -0
  59. data/examples/thrift/erlang/deps/thrift/src/thrift_framed_transport.erl +196 -0
  60. data/examples/thrift/erlang/deps/thrift/src/thrift_http_transport.erl +169 -0
  61. data/examples/thrift/erlang/deps/thrift/src/thrift_processor.erl +174 -0
  62. data/examples/thrift/erlang/deps/thrift/src/thrift_protocol.erl +326 -0
  63. data/examples/thrift/erlang/deps/thrift/src/thrift_server.erl +171 -0
  64. data/examples/thrift/erlang/deps/thrift/src/thrift_service.erl +6 -0
  65. data/examples/thrift/erlang/deps/thrift/src/thrift_socket_server.erl +245 -0
  66. data/examples/thrift/erlang/deps/thrift/src/thrift_socket_transport.erl +100 -0
  67. data/examples/thrift/erlang/deps/thrift/src/thrift_sup.erl +53 -0
  68. data/examples/thrift/erlang/deps/thrift/src/thrift_transport.erl +38 -0
  69. data/examples/thrift/erlang/deps/thrift/vsn.mk +1 -0
  70. data/examples/thrift/erlang/include/commandInterface_thrift.hrl +5 -0
  71. data/examples/thrift/erlang/include/poolparty_constants.hrl +9 -0
  72. data/examples/thrift/erlang/include/poolparty_types.hrl +8 -0
  73. data/examples/thrift/erlang/src/commandInterface_thrift.erl +29 -0
  74. data/examples/thrift/erlang/src/poolparty_types.erl +30 -0
  75. data/examples/thrift/erlang/src/thrift_example.erl +32 -0
  76. data/examples/thrift/thrift_example.py +28 -0
  77. data/examples/thrift/thrift_example.rb +36 -0
  78. data/lib/cloud_providers/cloud_provider.rb +85 -0
  79. data/lib/cloud_providers/cloud_provider_instance.rb +274 -0
  80. data/lib/cloud_providers/connections.rb +99 -0
  81. data/lib/cloud_providers/ec2/ec2.rb +197 -0
  82. data/lib/cloud_providers/ec2/ec2_helpers.rb +45 -0
  83. data/lib/cloud_providers/ec2/ec2_instance.rb +120 -0
  84. data/lib/cloud_providers/ec2/ec2_response.rb +79 -0
  85. data/lib/cloud_providers/ssh/ssh.rb +68 -0
  86. data/lib/cloud_providers/ssh/ssh_instance.rb +41 -0
  87. data/lib/cloud_providers/vmware/vmware.rb +127 -0
  88. data/lib/cloud_providers/vmware/vmware_instance.rb +56 -0
  89. data/lib/cloud_providers.rb +19 -0
  90. data/lib/core/array.rb +54 -0
  91. data/lib/core/hash.rb +80 -0
  92. data/lib/core/integer.rb +11 -0
  93. data/lib/core/module.rb +14 -0
  94. data/lib/core/object.rb +92 -0
  95. data/lib/core/proc.rb +55 -0
  96. data/lib/core/string.rb +150 -0
  97. data/lib/core/symbol.rb +29 -0
  98. data/lib/core/time.rb +62 -0
  99. data/lib/dependency_resolver.rb +11 -0
  100. data/lib/dependency_resolvers/base.rb +122 -0
  101. data/lib/dependency_resolvers/chef/resources/chef_attributes_file.rb +51 -0
  102. data/lib/dependency_resolvers/chef/resources/chef_recipe.rb +51 -0
  103. data/lib/dependency_resolvers/chef/resources/http_request.rb +39 -0
  104. data/lib/dependency_resolvers/chef/resources/remote_directory.rb +54 -0
  105. data/lib/dependency_resolvers/chef/resources/remote_file.rb +69 -0
  106. data/lib/dependency_resolvers/chef/resources/route.rb +52 -0
  107. data/lib/dependency_resolvers/chef/resources/script.rb +62 -0
  108. data/lib/dependency_resolvers/chef.rb +237 -0
  109. data/lib/dependency_resolvers/proxy_object.rb +90 -0
  110. data/lib/keypair.rb +93 -0
  111. data/lib/mixins/askable.rb +154 -0
  112. data/lib/mixins/callbacks.rb +56 -0
  113. data/lib/mixins/delayed.rb +65 -0
  114. data/lib/mixins/pinger.rb +31 -0
  115. data/lib/mixins/printing.rb +35 -0
  116. data/lib/mixins/searchable_paths.rb +87 -0
  117. data/lib/poolparty/base.rb +232 -0
  118. data/lib/poolparty/cloud.rb +246 -0
  119. data/lib/poolparty/default.rb +32 -0
  120. data/lib/poolparty/dsl_base.rb +36 -0
  121. data/lib/poolparty/installer.rb +107 -0
  122. data/lib/poolparty/installers/ec2.rb +30 -0
  123. data/lib/poolparty/installers/vmware.rb +149 -0
  124. data/lib/poolparty/monitor.rb +61 -0
  125. data/lib/poolparty/plugin.rb +12 -0
  126. data/lib/poolparty/plugins/apache.rb +204 -0
  127. data/lib/poolparty/plugins/apache2/apache2.conf.erb +630 -0
  128. data/lib/poolparty/plugins/apache2/base.conf.erb +171 -0
  129. data/lib/poolparty/plugins/apache2/default-site.conf.erb +41 -0
  130. data/lib/poolparty/plugins/apache2/passenger_site.rb +83 -0
  131. data/lib/poolparty/plugins/apache2/php5.rb +41 -0
  132. data/lib/poolparty/plugins/apache2/virtual_host.rb +59 -0
  133. data/lib/poolparty/plugins/git/git_repository.rb +83 -0
  134. data/lib/poolparty/plugins/git.rb +12 -60
  135. data/lib/poolparty/plugins/rails/app.rb +29 -0
  136. data/lib/poolparty/plugins/rails.rb +25 -0
  137. data/lib/poolparty/pool.rb +154 -0
  138. data/lib/poolparty/pool_party_error.rb +19 -0
  139. data/lib/poolparty/pool_party_log.rb +47 -0
  140. data/lib/poolparty/resource.rb +279 -0
  141. data/lib/poolparty/resources/conditional.rb +65 -0
  142. data/lib/poolparty/resources/cron.rb +33 -20
  143. data/lib/poolparty/resources/directory.rb +28 -14
  144. data/lib/poolparty/resources/exec.rb +35 -21
  145. data/lib/poolparty/resources/file.rb +39 -31
  146. data/lib/poolparty/resources/gem_package.rb +55 -0
  147. data/lib/poolparty/resources/group.rb +46 -0
  148. data/lib/poolparty/resources/line.rb +50 -0
  149. data/lib/poolparty/resources/link.rb +49 -0
  150. data/lib/poolparty/resources/mount.rb +23 -11
  151. data/lib/poolparty/resources/package.rb +25 -11
  152. data/lib/poolparty/resources/service.rb +29 -12
  153. data/lib/poolparty/resources/user.rb +56 -6
  154. data/lib/poolparty/resources/variable.rb +29 -3
  155. data/lib/poolparty.rb +52 -126
  156. data/lib/proto/command_interface_handler.rb +31 -0
  157. data/lib/proto/gen-erl/commandInterface_thrift.erl +29 -0
  158. data/lib/proto/gen-erl/commandInterface_thrift.hrl +5 -0
  159. data/lib/proto/gen-erl/poolparty_constants.hrl +9 -0
  160. data/lib/proto/gen-erl/poolparty_types.erl +30 -0
  161. data/lib/proto/gen-erl/poolparty_types.hrl +8 -0
  162. data/lib/proto/gen-py/cloudthrift/CommandInterface-remote +79 -0
  163. data/lib/proto/gen-py/cloudthrift/CommandInterface.py +251 -0
  164. data/lib/proto/gen-py/cloudthrift/CommandInterface.pyc +0 -0
  165. data/lib/proto/gen-py/cloudthrift/__init__.py +1 -0
  166. data/lib/proto/gen-py/cloudthrift/__init__.pyc +0 -0
  167. data/lib/proto/gen-py/cloudthrift/constants.py +9 -0
  168. data/lib/proto/gen-py/cloudthrift/constants.pyc +0 -0
  169. data/lib/proto/gen-py/cloudthrift/ttypes.py +160 -0
  170. data/lib/proto/gen-py/cloudthrift/ttypes.pyc +0 -0
  171. data/lib/proto/gen-py/thrift/TSCons.py +33 -0
  172. data/lib/proto/gen-py/thrift/Thrift.py +123 -0
  173. data/lib/proto/gen-py/thrift/Thrift.pyc +0 -0
  174. data/lib/proto/gen-py/thrift/__init__.py +20 -0
  175. data/lib/proto/gen-py/thrift/__init__.pyc +0 -0
  176. data/lib/proto/gen-py/thrift/protocol/TBinaryProtocol.py +259 -0
  177. data/lib/proto/gen-py/thrift/protocol/TBinaryProtocol.pyc +0 -0
  178. data/lib/proto/gen-py/thrift/protocol/TProtocol.py +205 -0
  179. data/lib/proto/gen-py/thrift/protocol/TProtocol.pyc +0 -0
  180. data/lib/proto/gen-py/thrift/protocol/__init__.py +20 -0
  181. data/lib/proto/gen-py/thrift/protocol/__init__.pyc +0 -0
  182. data/lib/proto/gen-py/thrift/protocol/fastbinary.c +1203 -0
  183. data/lib/proto/gen-py/thrift/server/THttpServer.py +63 -0
  184. data/lib/proto/gen-py/thrift/server/TNonblockingServer.py +309 -0
  185. data/lib/proto/gen-py/thrift/server/TServer.py +270 -0
  186. data/lib/proto/gen-py/thrift/server/__init__.py +20 -0
  187. data/lib/proto/gen-py/thrift/transport/THttpClient.py +100 -0
  188. data/lib/proto/gen-py/thrift/transport/TSocket.py +149 -0
  189. data/lib/proto/gen-py/thrift/transport/TSocket.pyc +0 -0
  190. data/lib/proto/gen-py/thrift/transport/TTransport.py +326 -0
  191. data/lib/proto/gen-py/thrift/transport/TTransport.pyc +0 -0
  192. data/lib/proto/gen-py/thrift/transport/TTwisted.py +181 -0
  193. data/lib/proto/gen-py/thrift/transport/__init__.py +20 -0
  194. data/lib/proto/gen-py/thrift/transport/__init__.pyc +0 -0
  195. data/lib/proto/gen-rb/command_interface.rb +84 -0
  196. data/lib/proto/gen-rb/poolparty_constants.rb +10 -0
  197. data/lib/proto/gen-rb/poolparty_types.rb +45 -0
  198. data/lib/proto/poolparty.thrift +17 -0
  199. data/lib/provision/bootstrap_scripts/build_centos.sh +70 -0
  200. data/lib/provision/bootstrap_scripts/build_ubuntu.sh +75 -0
  201. data/lib/provision/bootstrap_scripts/determine_os.sh +21 -0
  202. data/lib/provision/bootstrapper.rb +44 -0
  203. data/lib/provision/configure_scripts/configure_centos.erb +7 -0
  204. data/lib/provision/configure_scripts/configure_ubuntu.erb +7 -0
  205. data/tasks/development.rake +6 -6
  206. data/tasks/poolparty.rake +41 -1
  207. data/tasks/test.rake +40 -0
  208. data/test/fixtures/bad_perms_test_key +27 -0
  209. data/test/fixtures/chef/recipes/sudo/attributes/sudoers.rb +30 -0
  210. data/test/fixtures/chef/recipes/sudo/recipes/default.rb +33 -0
  211. data/test/fixtures/chef/recipes/sudo/templates/default/sudoers.erb +22 -0
  212. data/test/fixtures/clouds/fake_clouds.rb +9 -0
  213. data/test/fixtures/clouds/simple_cloud.rb +13 -0
  214. data/test/fixtures/clouds/ssh_cloud.rb +11 -0
  215. data/test/fixtures/clouds/vmware_cloud.rb +16 -0
  216. data/test/fixtures/ec2/ec2-describe-instances_response_body.xml +70 -0
  217. data/test/fixtures/ec2/ec2-run-instances_response_body.xml +35 -0
  218. data/test/fixtures/ec2/ec2-terminate-instances_response_body.xml +16 -0
  219. data/test/fixtures/keys/test_key +27 -0
  220. data/test/fixtures/keys/test_pub_key +8 -0
  221. data/test/fixtures/resources/fake_plugin.rb +19 -0
  222. data/test/fixtures/resources/fake_resource.rb +18 -0
  223. data/test/fixtures/resources/random_proc_file.rb +7 -0
  224. data/test/fixtures/templates/apache_conf.erb +2 -0
  225. data/test/lib/cloud_providers/cloud_provider_instance_test.rb +68 -0
  226. data/test/lib/cloud_providers/cloud_provider_test.rb +25 -0
  227. data/test/lib/cloud_providers/connections_test.rb +71 -0
  228. data/test/lib/cloud_providers/ec2/ec2_helpers_test.rb +29 -0
  229. data/test/lib/cloud_providers/ec2/ec2_instance_test.rb +59 -0
  230. data/test/lib/cloud_providers/ec2/ec2_response_test.rb +41 -0
  231. data/test/lib/cloud_providers/ec2/ec2_test.rb +116 -0
  232. data/test/lib/cloud_providers/ssh/ssh_test.rb +61 -0
  233. data/test/lib/cloud_providers/vmware/vmware_test.rb +46 -0
  234. data/test/lib/core/array_test.rb +53 -0
  235. data/test/lib/core/hash_test.rb +41 -0
  236. data/test/lib/core/integer_test.rb +19 -0
  237. data/test/lib/core/module_test.rb +38 -0
  238. data/test/lib/core/object_test.rb +57 -0
  239. data/test/lib/core/proc_test.rb +26 -0
  240. data/test/lib/core/string_test.rb +73 -0
  241. data/test/lib/core/symbol_test.rb +26 -0
  242. data/test/lib/core/time_test.rb +51 -0
  243. data/test/lib/dependency_resolvers/base_test.rb +42 -0
  244. data/test/lib/dependency_resolvers/chef/resources/chef_recipe_test.rb +21 -0
  245. data/test/lib/dependency_resolvers/chef/resources/http_request_test.rb +29 -0
  246. data/test/lib/dependency_resolvers/chef/resources/remote_directory_test.rb +45 -0
  247. data/test/lib/dependency_resolvers/chef/resources/remote_file_test.rb +36 -0
  248. data/test/lib/dependency_resolvers/chef/resources/route_test.rb +37 -0
  249. data/test/lib/dependency_resolvers/chef/resources/script_test.rb +49 -0
  250. data/test/lib/dependency_resolvers/chef_test.rb +144 -0
  251. data/test/lib/dependency_resolvers/proxy_object_test.rb +75 -0
  252. data/test/lib/mixins/callbacks_test.rb +48 -0
  253. data/test/lib/mixins/delayed_test.rb +50 -0
  254. data/test/lib/mixins/searchable_paths_test.rb +83 -0
  255. data/test/lib/poolparty/base_test.rb +34 -0
  256. data/test/lib/poolparty/cloud_test.rb +139 -0
  257. data/test/lib/poolparty/default_test.rb +17 -0
  258. data/test/lib/poolparty/dsl_base_test.rb +30 -0
  259. data/test/lib/poolparty/installers/vmware_installer_test.rb +16 -0
  260. data/test/lib/poolparty/keypair_test.rb +42 -0
  261. data/test/lib/poolparty/monitor_test.rb +30 -0
  262. data/test/lib/poolparty/plugins/apache2/php5_test.rb +26 -0
  263. data/test/lib/poolparty/plugins/apache2/virtual_host_test.rb +28 -0
  264. data/test/lib/poolparty/plugins/apache_test.rb +35 -0
  265. data/test/lib/poolparty/pool_party_error_test.rb +20 -0
  266. data/test/lib/poolparty/pool_party_log_test.rb +17 -0
  267. data/test/lib/poolparty/pool_test.rb +26 -0
  268. data/test/lib/poolparty/resource_test.rb +145 -0
  269. data/test/lib/poolparty/resources/conditional_test.rb +49 -0
  270. data/test/lib/poolparty/resources/cron_test.rb +31 -0
  271. data/test/lib/poolparty/resources/directory_test.rb +21 -0
  272. data/test/lib/poolparty/resources/exec_test.rb +62 -0
  273. data/test/lib/poolparty/resources/file_test.rb +38 -0
  274. data/test/lib/poolparty/resources/group_test.rb +21 -0
  275. data/test/lib/poolparty/resources/line_test.rb +20 -0
  276. data/test/lib/poolparty/resources/link_test.rb +27 -0
  277. data/test/lib/poolparty/resources/mount_test.rb +32 -0
  278. data/test/lib/poolparty/resources/package_test.rb +28 -0
  279. data/test/lib/poolparty/resources/service_test.rb +31 -0
  280. data/test/lib/poolparty/resources/user_test.rb +33 -0
  281. data/test/lib/poolparty/resources/variable_test.rb +20 -0
  282. data/test/lib/provision/base_test.rb +16 -0
  283. data/test/lib/provision/bootstrapper_test.rb +44 -0
  284. data/test/test_helper.rb +25 -3
  285. data/test/test_methods.rb +72 -0
  286. data/vendor/gems/colors/README.rdoc +52 -0
  287. data/vendor/gems/colors/Rakefile +56 -0
  288. data/vendor/gems/colors/VERSION.yml +4 -0
  289. data/vendor/gems/colors/colors.gemspec +29 -0
  290. data/vendor/gems/colors/lib/colors.rb +45 -0
  291. data/vendor/gems/colors/test/colors_test.rb +26 -0
  292. data/vendor/gems/colors/test/test_helper.rb +10 -0
  293. data/vendor/gems/context/History.txt +10 -0
  294. data/vendor/gems/context/License.txt +20 -0
  295. data/vendor/gems/context/Manifest.txt +26 -0
  296. data/vendor/gems/context/PostInstall.txt +0 -0
  297. data/vendor/gems/context/README.rdoc +158 -0
  298. data/vendor/gems/context/Rakefile +4 -0
  299. data/vendor/gems/context/config/hoe.rb +73 -0
  300. data/vendor/gems/context/config/requirements.rb +15 -0
  301. data/vendor/gems/context/context.gemspec +44 -0
  302. data/vendor/gems/context/countloc.rb +65 -0
  303. data/vendor/gems/context/coverage/-Library-Ruby-Gems-1_8-gems-rcov-0_8_1_2_0-lib-rcov_rb.html +1598 -0
  304. data/vendor/gems/context/coverage/index.html +441 -0
  305. data/vendor/gems/context/coverage/lib-context-context_rb.html +669 -0
  306. data/vendor/gems/context/coverage/lib-context-core_ext-string_rb.html +627 -0
  307. data/vendor/gems/context/coverage/lib-context-lifecycle_rb.html +683 -0
  308. data/vendor/gems/context/coverage/lib-context-shared_behavior_rb.html +708 -0
  309. data/vendor/gems/context/coverage/lib-context-suite_rb.html +649 -0
  310. data/vendor/gems/context/coverage/lib-context-test_rb.html +637 -0
  311. data/vendor/gems/context/coverage/lib-context-version_rb.html +619 -0
  312. data/vendor/gems/context/coverage/lib-context_rb.html +623 -0
  313. data/vendor/gems/context/lib/context/context.rb +64 -0
  314. data/vendor/gems/context/lib/context/core_ext/rails_hacks.rb +10 -0
  315. data/vendor/gems/context/lib/context/core_ext/string.rb +17 -0
  316. data/vendor/gems/context/lib/context/lifecycle.rb +103 -0
  317. data/vendor/gems/context/lib/context/shared_behavior.rb +98 -0
  318. data/vendor/gems/context/lib/context/suite.rb +39 -0
  319. data/vendor/gems/context/lib/context/test.rb +37 -0
  320. data/vendor/gems/context/lib/context/version.rb +9 -0
  321. data/vendor/gems/context/lib/context.rb +19 -0
  322. data/vendor/gems/context/test/test_context.rb +57 -0
  323. data/vendor/gems/context/test/test_core_ext.rb +21 -0
  324. data/vendor/gems/context/test/test_helper.rb +2 -0
  325. data/vendor/gems/context/test/test_lifecycle.rb +224 -0
  326. data/vendor/gems/context/test/test_nested_lifecycle.rb +44 -0
  327. data/vendor/gems/context/test/test_shared.rb +116 -0
  328. data/vendor/gems/context/test/test_test.rb +23 -0
  329. data/vendor/gems/daemons/LICENSE +29 -0
  330. data/vendor/gems/daemons/README +223 -0
  331. data/vendor/gems/daemons/Rakefile +84 -0
  332. data/vendor/gems/daemons/Releases +126 -0
  333. data/vendor/gems/daemons/TODO +6 -0
  334. data/vendor/gems/daemons/examples/call/call.rb +56 -0
  335. data/vendor/gems/daemons/examples/call/call_monitor.rb +55 -0
  336. data/vendor/gems/daemons/examples/daemonize/daemonize.rb +20 -0
  337. data/vendor/gems/daemons/examples/run/ctrl_crash.rb +17 -0
  338. data/vendor/gems/daemons/examples/run/ctrl_exec.rb +16 -0
  339. data/vendor/gems/daemons/examples/run/ctrl_exit.rb +15 -0
  340. data/vendor/gems/daemons/examples/run/ctrl_keep_pid_files.rb +17 -0
  341. data/vendor/gems/daemons/examples/run/ctrl_monitor.rb +16 -0
  342. data/vendor/gems/daemons/examples/run/ctrl_multiple.rb +16 -0
  343. data/vendor/gems/daemons/examples/run/ctrl_normal.rb +12 -0
  344. data/vendor/gems/daemons/examples/run/ctrl_ontop.rb +16 -0
  345. data/vendor/gems/daemons/examples/run/ctrl_optionparser.rb +43 -0
  346. data/vendor/gems/daemons/examples/run/ctrl_proc.rb +25 -0
  347. data/vendor/gems/daemons/examples/run/ctrl_proc.rb.output +101 -0
  348. data/vendor/gems/daemons/examples/run/ctrl_proc_multiple.rb +22 -0
  349. data/vendor/gems/daemons/examples/run/ctrl_proc_multiple.rb.output +2 -0
  350. data/vendor/gems/daemons/examples/run/ctrl_proc_simple.rb +17 -0
  351. data/vendor/gems/daemons/examples/run/myserver.rb +12 -0
  352. data/vendor/gems/daemons/examples/run/myserver_crashing.rb +14 -0
  353. data/vendor/gems/daemons/examples/run/myserver_crashing.rb.output +30 -0
  354. data/vendor/gems/daemons/examples/run/myserver_exiting.rb +8 -0
  355. data/vendor/gems/daemons/lib/daemons/application.rb +372 -0
  356. data/vendor/gems/daemons/lib/daemons/application_group.rb +152 -0
  357. data/vendor/gems/daemons/lib/daemons/cmdline.rb +117 -0
  358. data/vendor/gems/daemons/lib/daemons/controller.rb +134 -0
  359. data/vendor/gems/daemons/lib/daemons/daemonize.rb +263 -0
  360. data/vendor/gems/daemons/lib/daemons/exceptions.rb +28 -0
  361. data/vendor/gems/daemons/lib/daemons/monitor.rb +127 -0
  362. data/vendor/gems/daemons/lib/daemons/pid.rb +101 -0
  363. data/vendor/gems/daemons/lib/daemons/pidfile.rb +111 -0
  364. data/vendor/gems/daemons/lib/daemons/pidmem.rb +10 -0
  365. data/vendor/gems/daemons/lib/daemons.rb +283 -0
  366. data/vendor/gems/daemons/setup.rb +1360 -0
  367. data/vendor/gems/dslify/LICENSE +20 -0
  368. data/vendor/gems/dslify/README.rdoc +33 -0
  369. data/vendor/gems/dslify/Rakefile +56 -56
  370. data/vendor/gems/dslify/VERSION.yml +4 -0
  371. data/vendor/gems/dslify/dslify.gemspec +9 -20
  372. data/vendor/gems/dslify/lib/dslify.rb +79 -5
  373. data/vendor/gems/dslify/test/dslify_test.rb +283 -0
  374. data/vendor/gems/dslify/test/test_helper.rb +7 -0
  375. data/vendor/gems/fakeweb/CHANGELOG +163 -0
  376. data/vendor/gems/fakeweb/LICENSE.txt +281 -0
  377. data/vendor/gems/fakeweb/README.rdoc +193 -0
  378. data/vendor/gems/fakeweb/Rakefile +76 -0
  379. data/vendor/gems/fakeweb/fakeweb.gemspec +21 -0
  380. data/vendor/gems/fakeweb/lib/fake_web/ext/net_http.rb +71 -0
  381. data/vendor/gems/fakeweb/lib/fake_web/registry.rb +103 -0
  382. data/vendor/gems/fakeweb/lib/fake_web/responder.rb +113 -0
  383. data/vendor/gems/fakeweb/lib/fake_web/response.rb +10 -0
  384. data/vendor/gems/fakeweb/lib/fake_web/stub_socket.rb +15 -0
  385. data/vendor/gems/fakeweb/lib/fake_web/utility.rb +22 -0
  386. data/vendor/gems/fakeweb/lib/fake_web.rb +172 -0
  387. data/vendor/gems/fakeweb/lib/fakeweb.rb +2 -0
  388. data/vendor/gems/fakeweb/test/fixtures/google_response_from_curl +12 -0
  389. data/vendor/gems/fakeweb/test/fixtures/google_response_with_transfer_encoding +17 -0
  390. data/vendor/gems/fakeweb/test/fixtures/google_response_without_transfer_encoding +11 -0
  391. data/vendor/gems/fakeweb/test/fixtures/test_example.txt +1 -0
  392. data/vendor/gems/fakeweb/test/fixtures/test_txt_file +3 -0
  393. data/vendor/gems/fakeweb/test/test_allow_net_connect.rb +85 -0
  394. data/vendor/gems/fakeweb/test/test_deprecations.rb +54 -0
  395. data/vendor/gems/fakeweb/test/test_fake_authentication.rb +92 -0
  396. data/vendor/gems/fakeweb/test/test_fake_web.rb +518 -0
  397. data/vendor/gems/fakeweb/test/test_fake_web_open_uri.rb +58 -0
  398. data/vendor/gems/fakeweb/test/test_helper.rb +74 -0
  399. data/vendor/gems/fakeweb/test/test_missing_open_uri.rb +25 -0
  400. data/vendor/gems/fakeweb/test/test_precedence.rb +51 -0
  401. data/vendor/gems/fakeweb/test/test_query_string.rb +45 -0
  402. data/vendor/gems/fakeweb/test/test_regexes.rb +103 -0
  403. data/vendor/gems/fakeweb/test/test_response_headers.rb +73 -0
  404. data/vendor/gems/fakeweb/test/test_trailing_slashes.rb +53 -0
  405. data/vendor/gems/fakeweb/test/test_utility.rb +70 -0
  406. data/vendor/gems/git-style-binaries/README.markdown +280 -0
  407. data/vendor/gems/git-style-binaries/Rakefile +64 -0
  408. data/vendor/gems/git-style-binaries/VERSION.yml +4 -0
  409. data/vendor/gems/git-style-binaries/doc/EXAMPLES +1 -0
  410. data/vendor/gems/git-style-binaries/doc/gsb-screencast.png +0 -0
  411. data/vendor/gems/git-style-binaries/doc/poolparty-binaries.screenplay +412 -0
  412. data/vendor/gems/git-style-binaries/git-style-binaries.gemspec +78 -0
  413. data/vendor/gems/git-style-binaries/lib/ext/colorize.rb +198 -0
  414. data/vendor/gems/git-style-binaries/lib/ext/core.rb +16 -0
  415. data/vendor/gems/git-style-binaries/lib/git-style-binary/autorunner.rb +21 -0
  416. data/vendor/gems/git-style-binaries/lib/git-style-binary/command.rb +204 -0
  417. data/vendor/gems/git-style-binaries/lib/git-style-binary/commands/help.rb +32 -0
  418. data/vendor/gems/git-style-binaries/lib/git-style-binary/helpers/name_resolver.rb +78 -0
  419. data/vendor/gems/git-style-binaries/lib/git-style-binary/helpers/pager.rb +37 -0
  420. data/vendor/gems/git-style-binaries/lib/git-style-binary/parser.rb +223 -0
  421. data/vendor/gems/git-style-binaries/lib/git-style-binary.rb +88 -0
  422. data/vendor/gems/git-style-binaries/test/fixtures/flickr +4 -0
  423. data/vendor/gems/git-style-binaries/test/fixtures/flickr-download +17 -0
  424. data/vendor/gems/git-style-binaries/test/fixtures/wordpress +42 -0
  425. data/vendor/gems/git-style-binaries/test/fixtures/wordpress-categories +18 -0
  426. data/vendor/gems/git-style-binaries/test/fixtures/wordpress-list +18 -0
  427. data/vendor/gems/git-style-binaries/test/fixtures/wordpress-post +26 -0
  428. data/vendor/gems/git-style-binaries/test/git-style-binary/command_test.rb +17 -0
  429. data/vendor/gems/git-style-binaries/test/git_style_binary_test.rb +21 -0
  430. data/vendor/gems/git-style-binaries/test/running_binaries_test.rb +224 -0
  431. data/vendor/gems/git-style-binaries/test/shoulda_macros/matching_stdio.rb +13 -0
  432. data/vendor/gems/git-style-binaries/test/test_helper.rb +28 -0
  433. data/vendor/gems/gratr/Grater.xcf +0 -0
  434. data/vendor/gems/gratr/README +335 -0
  435. data/vendor/gems/gratr/Rakefile +220 -0
  436. data/vendor/gems/gratr/examples/graph_self.rb +54 -0
  437. data/vendor/gems/gratr/examples/module_graph.jpg +0 -0
  438. data/vendor/gems/gratr/examples/module_graph.rb +12 -0
  439. data/vendor/gems/gratr/examples/self_graph.dot +117 -0
  440. data/vendor/gems/gratr/examples/self_graph.jpg +0 -0
  441. data/vendor/gems/gratr/examples/visualize.dot +58 -0
  442. data/vendor/gems/gratr/examples/visualize.jpg +0 -0
  443. data/vendor/gems/gratr/examples/visualize.rb +11 -0
  444. data/vendor/gems/gratr/install.rb +49 -0
  445. data/vendor/gems/gratr/lib/gratr/adjacency_graph.rb +230 -0
  446. data/vendor/gems/gratr/lib/gratr/base.rb +34 -0
  447. data/vendor/gems/gratr/lib/gratr/biconnected.rb +116 -0
  448. data/vendor/gems/gratr/lib/gratr/chinese_postman.rb +123 -0
  449. data/vendor/gems/gratr/lib/gratr/common.rb +73 -0
  450. data/vendor/gems/gratr/lib/gratr/comparability.rb +92 -0
  451. data/vendor/gems/gratr/lib/gratr/digraph.rb +115 -0
  452. data/vendor/gems/gratr/lib/gratr/digraph_distance.rb +185 -0
  453. data/vendor/gems/gratr/lib/gratr/dot.rb +95 -0
  454. data/vendor/gems/gratr/lib/gratr/edge.rb +145 -0
  455. data/vendor/gems/gratr/lib/gratr/graph.rb +315 -0
  456. data/vendor/gems/gratr/lib/gratr/graph_api.rb +82 -0
  457. data/vendor/gems/gratr/lib/gratr/import.rb +44 -0
  458. data/vendor/gems/gratr/lib/gratr/labels.rb +103 -0
  459. data/vendor/gems/gratr/lib/gratr/maximum_flow.rb +107 -0
  460. data/vendor/gems/gratr/lib/gratr/rdot.rb +332 -0
  461. data/vendor/gems/gratr/lib/gratr/search.rb +422 -0
  462. data/vendor/gems/gratr/lib/gratr/strong_components.rb +127 -0
  463. data/vendor/gems/gratr/lib/gratr/undirected_graph.rb +153 -0
  464. data/vendor/gems/gratr/lib/gratr.rb +42 -0
  465. data/vendor/gems/gratr/lib/priority-queue/benchmark/dijkstra.rb +171 -0
  466. data/vendor/gems/gratr/lib/priority-queue/compare_comments.rb +49 -0
  467. data/vendor/gems/gratr/lib/priority-queue/ext/priority_queue/CPriorityQueue/extconf.rb +2 -0
  468. data/vendor/gems/gratr/lib/priority-queue/lib/priority_queue/c_priority_queue.rb +1 -0
  469. data/vendor/gems/gratr/lib/priority-queue/lib/priority_queue/poor_priority_queue.rb +46 -0
  470. data/vendor/gems/gratr/lib/priority-queue/lib/priority_queue/ruby_priority_queue.rb +525 -0
  471. data/vendor/gems/gratr/lib/priority-queue/lib/priority_queue.rb +14 -0
  472. data/vendor/gems/gratr/lib/priority-queue/setup.rb +1551 -0
  473. data/vendor/gems/gratr/lib/priority-queue/test/priority_queue_test.rb +371 -0
  474. data/vendor/gems/gratr/tests/TestBiconnected.rb +53 -0
  475. data/vendor/gems/gratr/tests/TestChinesePostman.rb +53 -0
  476. data/vendor/gems/gratr/tests/TestComplement.rb +54 -0
  477. data/vendor/gems/gratr/tests/TestDigraph.rb +333 -0
  478. data/vendor/gems/gratr/tests/TestDigraphDistance.rb +138 -0
  479. data/vendor/gems/gratr/tests/TestDot.rb +75 -0
  480. data/vendor/gems/gratr/tests/TestEdge.rb +171 -0
  481. data/vendor/gems/gratr/tests/TestInspection.rb +57 -0
  482. data/vendor/gems/gratr/tests/TestMultiEdge.rb +57 -0
  483. data/vendor/gems/gratr/tests/TestNeighborhood.rb +64 -0
  484. data/vendor/gems/gratr/tests/TestProperties.rb +160 -0
  485. data/vendor/gems/gratr/tests/TestSearch.rb +277 -0
  486. data/vendor/gems/gratr/tests/TestStrongComponents.rb +85 -0
  487. data/vendor/gems/gratr/tests/TestTriagulated.rb +137 -0
  488. data/vendor/gems/gratr/tests/TestUndirectedGraph.rb +219 -0
  489. data/vendor/gems/json/CHANGES +93 -0
  490. data/vendor/gems/json/GPL +340 -0
  491. data/vendor/gems/json/README +78 -0
  492. data/vendor/gems/json/RUBY +58 -0
  493. data/vendor/gems/json/Rakefile +309 -0
  494. data/vendor/gems/json/TODO +1 -0
  495. data/vendor/gems/json/VERSION +1 -0
  496. data/vendor/gems/json/benchmarks/benchmark.txt +133 -0
  497. data/vendor/gems/json/benchmarks/benchmark_generator.rb +48 -0
  498. data/vendor/gems/json/benchmarks/benchmark_parser.rb +26 -0
  499. data/vendor/gems/json/benchmarks/benchmark_rails.rb +26 -0
  500. data/vendor/gems/json/bin/edit_json.rb +10 -0
  501. data/vendor/gems/json/bin/prettify_json.rb +76 -0
  502. data/vendor/gems/json/data/example.json +1 -0
  503. data/vendor/gems/json/data/index.html +38 -0
  504. data/vendor/gems/json/data/prototype.js +4184 -0
  505. data/vendor/gems/json/ext/json/ext/generator/extconf.rb +9 -0
  506. data/vendor/gems/json/ext/json/ext/generator/generator.c +885 -0
  507. data/vendor/gems/json/ext/json/ext/generator/unicode.c +182 -0
  508. data/vendor/gems/json/ext/json/ext/generator/unicode.h +53 -0
  509. data/vendor/gems/json/ext/json/ext/parser/Makefile +181 -0
  510. data/vendor/gems/json/ext/json/ext/parser/extconf.rb +9 -0
  511. data/vendor/gems/json/ext/json/ext/parser/gem_make.out +14 -0
  512. data/vendor/gems/json/ext/json/ext/parser/parser.c +1769 -0
  513. data/vendor/gems/json/ext/json/ext/parser/parser.rl +637 -0
  514. data/vendor/gems/json/ext/json/ext/parser/unicode.c +154 -0
  515. data/vendor/gems/json/ext/json/ext/parser/unicode.h +58 -0
  516. data/vendor/gems/json/ext/json/ext/parser/unicode.o +0 -0
  517. data/vendor/gems/json/install.rb +26 -0
  518. data/vendor/gems/json/lib/json/Array.xpm +21 -0
  519. data/vendor/gems/json/lib/json/FalseClass.xpm +21 -0
  520. data/vendor/gems/json/lib/json/Hash.xpm +21 -0
  521. data/vendor/gems/json/lib/json/Key.xpm +73 -0
  522. data/vendor/gems/json/lib/json/NilClass.xpm +21 -0
  523. data/vendor/gems/json/lib/json/Numeric.xpm +28 -0
  524. data/vendor/gems/json/lib/json/String.xpm +96 -0
  525. data/vendor/gems/json/lib/json/TrueClass.xpm +21 -0
  526. data/vendor/gems/json/lib/json/add/core.rb +135 -0
  527. data/vendor/gems/json/lib/json/add/rails.rb +58 -0
  528. data/vendor/gems/json/lib/json/common.rb +354 -0
  529. data/vendor/gems/json/lib/json/editor.rb +1362 -0
  530. data/vendor/gems/json/lib/json/ext.rb +13 -0
  531. data/vendor/gems/json/lib/json/json.xpm +1499 -0
  532. data/vendor/gems/json/lib/json/pure/generator.rb +394 -0
  533. data/vendor/gems/json/lib/json/pure/parser.rb +259 -0
  534. data/vendor/gems/json/lib/json/pure.rb +75 -0
  535. data/vendor/gems/json/lib/json/version.rb +9 -0
  536. data/vendor/gems/json/lib/json.rb +235 -0
  537. data/vendor/gems/json/tests/fixtures/fail1.json +1 -0
  538. data/vendor/gems/json/tests/fixtures/fail10.json +1 -0
  539. data/vendor/gems/json/tests/fixtures/fail11.json +1 -0
  540. data/vendor/gems/json/tests/fixtures/fail12.json +1 -0
  541. data/vendor/gems/json/tests/fixtures/fail13.json +1 -0
  542. data/vendor/gems/json/tests/fixtures/fail14.json +1 -0
  543. data/vendor/gems/json/tests/fixtures/fail18.json +1 -0
  544. data/vendor/gems/json/tests/fixtures/fail19.json +1 -0
  545. data/vendor/gems/json/tests/fixtures/fail2.json +1 -0
  546. data/vendor/gems/json/tests/fixtures/fail20.json +1 -0
  547. data/vendor/gems/json/tests/fixtures/fail21.json +1 -0
  548. data/vendor/gems/json/tests/fixtures/fail22.json +1 -0
  549. data/vendor/gems/json/tests/fixtures/fail23.json +1 -0
  550. data/vendor/gems/json/tests/fixtures/fail24.json +1 -0
  551. data/vendor/gems/json/tests/fixtures/fail25.json +1 -0
  552. data/vendor/gems/json/tests/fixtures/fail27.json +2 -0
  553. data/vendor/gems/json/tests/fixtures/fail28.json +2 -0
  554. data/vendor/gems/json/tests/fixtures/fail3.json +1 -0
  555. data/vendor/gems/json/tests/fixtures/fail4.json +1 -0
  556. data/vendor/gems/json/tests/fixtures/fail5.json +1 -0
  557. data/vendor/gems/json/tests/fixtures/fail6.json +1 -0
  558. data/vendor/gems/json/tests/fixtures/fail7.json +1 -0
  559. data/vendor/gems/json/tests/fixtures/fail8.json +1 -0
  560. data/vendor/gems/json/tests/fixtures/fail9.json +1 -0
  561. data/vendor/gems/json/tests/fixtures/pass1.json +56 -0
  562. data/vendor/gems/json/tests/fixtures/pass15.json +1 -0
  563. data/vendor/gems/json/tests/fixtures/pass16.json +1 -0
  564. data/vendor/gems/json/tests/fixtures/pass17.json +1 -0
  565. data/vendor/gems/json/tests/fixtures/pass2.json +1 -0
  566. data/vendor/gems/json/tests/fixtures/pass26.json +1 -0
  567. data/vendor/gems/json/tests/fixtures/pass3.json +6 -0
  568. data/vendor/gems/json/tests/runner.rb +25 -0
  569. data/vendor/gems/json/tests/test_json.rb +293 -0
  570. data/vendor/gems/json/tests/test_json_addition.rb +161 -0
  571. data/vendor/gems/json/tests/test_json_fixtures.rb +30 -0
  572. data/vendor/gems/json/tests/test_json_generate.rb +100 -0
  573. data/vendor/gems/json/tests/test_json_rails.rb +118 -0
  574. data/vendor/gems/json/tests/test_json_unicode.rb +61 -0
  575. data/vendor/gems/json/tools/fuzz.rb +140 -0
  576. data/vendor/gems/json/tools/server.rb +62 -0
  577. data/vendor/gems/parenting/Rakefile +17 -1
  578. data/vendor/gems/parenting/lib/parenting/parenting.rb +24 -8
  579. data/vendor/gems/right_aws/History.txt +246 -0
  580. data/vendor/gems/right_aws/Manifest.txt +34 -0
  581. data/vendor/gems/right_aws/README.txt +166 -0
  582. data/vendor/gems/right_aws/Rakefile +112 -0
  583. data/vendor/gems/right_aws/lib/acf/right_acf_interface.rb +379 -0
  584. data/vendor/gems/right_aws/lib/awsbase/benchmark_fix.rb +39 -0
  585. data/vendor/gems/right_aws/lib/awsbase/right_awsbase.rb +797 -0
  586. data/vendor/gems/right_aws/lib/awsbase/support.rb +111 -0
  587. data/vendor/gems/right_aws/lib/ec2/right_ec2.rb +1737 -0
  588. data/vendor/gems/right_aws/lib/right_aws.rb +69 -0
  589. data/vendor/gems/right_aws/lib/s3/right_s3.rb +1094 -0
  590. data/vendor/gems/right_aws/lib/s3/right_s3_interface.rb +1175 -0
  591. data/vendor/gems/right_aws/lib/sdb/active_sdb.rb +930 -0
  592. data/vendor/gems/right_aws/lib/sdb/right_sdb_interface.rb +698 -0
  593. data/vendor/gems/right_aws/lib/sqs/right_sqs.rb +388 -0
  594. data/vendor/gems/right_aws/lib/sqs/right_sqs_gen2.rb +286 -0
  595. data/vendor/gems/right_aws/lib/sqs/right_sqs_gen2_interface.rb +444 -0
  596. data/vendor/gems/right_aws/lib/sqs/right_sqs_interface.rb +596 -0
  597. data/vendor/gems/right_aws/test/acf/test_helper.rb +2 -0
  598. data/vendor/gems/right_aws/test/acf/test_right_acf.rb +146 -0
  599. data/vendor/gems/right_aws/test/ec2/test_helper.rb +2 -0
  600. data/vendor/gems/right_aws/test/ec2/test_right_ec2.rb +108 -0
  601. data/vendor/gems/right_aws/test/http_connection.rb +87 -0
  602. data/vendor/gems/right_aws/test/s3/test_helper.rb +2 -0
  603. data/vendor/gems/right_aws/test/s3/test_right_s3.rb +419 -0
  604. data/vendor/gems/right_aws/test/s3/test_right_s3_stubbed.rb +95 -0
  605. data/vendor/gems/right_aws/test/sdb/test_active_sdb.rb +299 -0
  606. data/vendor/gems/right_aws/test/sdb/test_helper.rb +3 -0
  607. data/vendor/gems/right_aws/test/sdb/test_right_sdb.rb +247 -0
  608. data/vendor/gems/right_aws/test/sqs/test_helper.rb +2 -0
  609. data/vendor/gems/right_aws/test/sqs/test_right_sqs.rb +291 -0
  610. data/vendor/gems/right_aws/test/sqs/test_right_sqs_gen2.rb +209 -0
  611. data/vendor/gems/right_aws/test/test_credentials.rb +37 -0
  612. data/vendor/gems/right_aws/test/ts_right_aws.rb +14 -0
  613. data/vendor/gems/right_http_connection/History.txt +59 -0
  614. data/vendor/gems/right_http_connection/Manifest.txt +7 -0
  615. data/vendor/gems/right_http_connection/README.txt +54 -0
  616. data/vendor/gems/right_http_connection/Rakefile +103 -0
  617. data/vendor/gems/right_http_connection/lib/net_fix.rb +160 -0
  618. data/vendor/gems/right_http_connection/lib/right_http_connection.rb +442 -0
  619. data/vendor/gems/right_http_connection/right_http_connection.gemspec +31 -0
  620. data/vendor/gems/right_http_connection/setup.rb +1585 -0
  621. data/vendor/gems/shoulda/CONTRIBUTION_GUIDELINES.rdoc +10 -0
  622. data/vendor/gems/shoulda/MIT-LICENSE +22 -0
  623. data/vendor/gems/shoulda/README.rdoc +171 -0
  624. data/vendor/gems/shoulda/Rakefile +72 -0
  625. data/vendor/gems/shoulda/bin/convert_to_should_syntax +42 -0
  626. data/vendor/gems/shoulda/init.rb +1 -0
  627. data/vendor/gems/shoulda/lib/shoulda/action_controller/macros.rb +240 -0
  628. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/assign_to_matcher.rb +109 -0
  629. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/filter_param_matcher.rb +57 -0
  630. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/render_with_layout_matcher.rb +81 -0
  631. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/respond_with_content_type_matcher.rb +74 -0
  632. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/respond_with_matcher.rb +81 -0
  633. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/route_matcher.rb +93 -0
  634. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/set_session_matcher.rb +87 -0
  635. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/set_the_flash_matcher.rb +85 -0
  636. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers.rb +37 -0
  637. data/vendor/gems/shoulda/lib/shoulda/action_controller.rb +26 -0
  638. data/vendor/gems/shoulda/lib/shoulda/action_mailer/assertions.rb +38 -0
  639. data/vendor/gems/shoulda/lib/shoulda/action_mailer.rb +10 -0
  640. data/vendor/gems/shoulda/lib/shoulda/action_view/macros.rb +61 -0
  641. data/vendor/gems/shoulda/lib/shoulda/action_view.rb +10 -0
  642. data/vendor/gems/shoulda/lib/shoulda/active_record/assertions.rb +69 -0
  643. data/vendor/gems/shoulda/lib/shoulda/active_record/helpers.rb +27 -0
  644. data/vendor/gems/shoulda/lib/shoulda/active_record/macros.rb +512 -0
  645. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/allow_mass_assignment_of_matcher.rb +83 -0
  646. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/allow_value_matcher.rb +102 -0
  647. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/association_matcher.rb +226 -0
  648. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/ensure_inclusion_of_matcher.rb +87 -0
  649. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/ensure_length_of_matcher.rb +141 -0
  650. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/have_db_column_matcher.rb +169 -0
  651. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/have_db_index_matcher.rb +112 -0
  652. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/have_named_scope_matcher.rb +128 -0
  653. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/have_readonly_attribute_matcher.rb +59 -0
  654. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/validate_acceptance_of_matcher.rb +41 -0
  655. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/validate_format_of_matcher.rb +67 -0
  656. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/validate_numericality_of_matcher.rb +39 -0
  657. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/validate_presence_of_matcher.rb +60 -0
  658. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/validate_uniqueness_of_matcher.rb +148 -0
  659. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/validation_matcher.rb +57 -0
  660. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers.rb +43 -0
  661. data/vendor/gems/shoulda/lib/shoulda/active_record.rb +16 -0
  662. data/vendor/gems/shoulda/lib/shoulda/assertions.rb +71 -0
  663. data/vendor/gems/shoulda/lib/shoulda/autoload_macros.rb +46 -0
  664. data/vendor/gems/shoulda/lib/shoulda/context.rb +402 -0
  665. data/vendor/gems/shoulda/lib/shoulda/helpers.rb +8 -0
  666. data/vendor/gems/shoulda/lib/shoulda/macros.rb +133 -0
  667. data/vendor/gems/shoulda/lib/shoulda/private_helpers.rb +13 -0
  668. data/vendor/gems/shoulda/lib/shoulda/proc_extensions.rb +14 -0
  669. data/vendor/gems/shoulda/lib/shoulda/rails.rb +13 -0
  670. data/vendor/gems/shoulda/lib/shoulda/rspec.rb +11 -0
  671. data/vendor/gems/shoulda/lib/shoulda/tasks/list_tests.rake +29 -0
  672. data/vendor/gems/shoulda/lib/shoulda/tasks/yaml_to_shoulda.rake +28 -0
  673. data/vendor/gems/shoulda/lib/shoulda/tasks.rb +3 -0
  674. data/vendor/gems/shoulda/lib/shoulda/test_unit.rb +22 -0
  675. data/vendor/gems/shoulda/lib/shoulda.rb +9 -0
  676. data/vendor/gems/shoulda/rails/init.rb +7 -0
  677. data/vendor/gems/shoulda/shoulda.gemspec +31 -0
  678. data/vendor/gems/shoulda/tasks/shoulda.rake +1 -0
  679. data/vendor/gems/shoulda/test/README +36 -0
  680. data/vendor/gems/shoulda/test/fail_macros.rb +39 -0
  681. data/vendor/gems/shoulda/test/fixtures/addresses.yml +3 -0
  682. data/vendor/gems/shoulda/test/fixtures/friendships.yml +0 -0
  683. data/vendor/gems/shoulda/test/fixtures/posts.yml +5 -0
  684. data/vendor/gems/shoulda/test/fixtures/products.yml +0 -0
  685. data/vendor/gems/shoulda/test/fixtures/taggings.yml +0 -0
  686. data/vendor/gems/shoulda/test/fixtures/tags.yml +9 -0
  687. data/vendor/gems/shoulda/test/fixtures/users.yml +6 -0
  688. data/vendor/gems/shoulda/test/functional/posts_controller_test.rb +121 -0
  689. data/vendor/gems/shoulda/test/functional/users_controller_test.rb +19 -0
  690. data/vendor/gems/shoulda/test/matchers/active_record/allow_mass_assignment_of_matcher_test.rb +68 -0
  691. data/vendor/gems/shoulda/test/matchers/active_record/allow_value_matcher_test.rb +64 -0
  692. data/vendor/gems/shoulda/test/matchers/active_record/association_matcher_test.rb +263 -0
  693. data/vendor/gems/shoulda/test/matchers/active_record/ensure_inclusion_of_matcher_test.rb +80 -0
  694. data/vendor/gems/shoulda/test/matchers/active_record/ensure_length_of_matcher_test.rb +158 -0
  695. data/vendor/gems/shoulda/test/matchers/active_record/have_db_column_matcher_test.rb +169 -0
  696. data/vendor/gems/shoulda/test/matchers/active_record/have_db_index_matcher_test.rb +91 -0
  697. data/vendor/gems/shoulda/test/matchers/active_record/have_named_scope_matcher_test.rb +65 -0
  698. data/vendor/gems/shoulda/test/matchers/active_record/have_readonly_attributes_matcher_test.rb +29 -0
  699. data/vendor/gems/shoulda/test/matchers/active_record/validate_acceptance_of_matcher_test.rb +44 -0
  700. data/vendor/gems/shoulda/test/matchers/active_record/validate_format_of_matcher_test.rb +39 -0
  701. data/vendor/gems/shoulda/test/matchers/active_record/validate_numericality_of_matcher_test.rb +52 -0
  702. data/vendor/gems/shoulda/test/matchers/active_record/validate_presence_of_matcher_test.rb +86 -0
  703. data/vendor/gems/shoulda/test/matchers/active_record/validate_uniqueness_of_matcher_test.rb +147 -0
  704. data/vendor/gems/shoulda/test/matchers/controller/assign_to_matcher_test.rb +35 -0
  705. data/vendor/gems/shoulda/test/matchers/controller/filter_param_matcher_test.rb +32 -0
  706. data/vendor/gems/shoulda/test/matchers/controller/render_with_layout_matcher_test.rb +33 -0
  707. data/vendor/gems/shoulda/test/matchers/controller/respond_with_content_type_matcher_test.rb +32 -0
  708. data/vendor/gems/shoulda/test/matchers/controller/respond_with_matcher_test.rb +106 -0
  709. data/vendor/gems/shoulda/test/matchers/controller/route_matcher_test.rb +58 -0
  710. data/vendor/gems/shoulda/test/matchers/controller/set_session_matcher_test.rb +38 -0
  711. data/vendor/gems/shoulda/test/matchers/controller/set_the_flash_matcher.rb +41 -0
  712. data/vendor/gems/shoulda/test/model_builder.rb +106 -0
  713. data/vendor/gems/shoulda/test/other/autoload_macro_test.rb +18 -0
  714. data/vendor/gems/shoulda/test/other/context_test.rb +189 -0
  715. data/vendor/gems/shoulda/test/other/convert_to_should_syntax_test.rb +63 -0
  716. data/vendor/gems/shoulda/test/other/helpers_test.rb +340 -0
  717. data/vendor/gems/shoulda/test/other/private_helpers_test.rb +32 -0
  718. data/vendor/gems/shoulda/test/other/should_test.rb +271 -0
  719. data/vendor/gems/shoulda/test/rails_root/app/controllers/application_controller.rb +25 -0
  720. data/vendor/gems/shoulda/test/rails_root/app/controllers/posts_controller.rb +87 -0
  721. data/vendor/gems/shoulda/test/rails_root/app/controllers/users_controller.rb +84 -0
  722. data/vendor/gems/shoulda/test/rails_root/app/helpers/application_helper.rb +3 -0
  723. data/vendor/gems/shoulda/test/rails_root/app/helpers/posts_helper.rb +2 -0
  724. data/vendor/gems/shoulda/test/rails_root/app/helpers/users_helper.rb +2 -0
  725. data/vendor/gems/shoulda/test/rails_root/app/models/address.rb +7 -0
  726. data/vendor/gems/shoulda/test/rails_root/app/models/flea.rb +3 -0
  727. data/vendor/gems/shoulda/test/rails_root/app/models/friendship.rb +4 -0
  728. data/vendor/gems/shoulda/test/rails_root/app/models/pets/cat.rb +7 -0
  729. data/vendor/gems/shoulda/test/rails_root/app/models/pets/dog.rb +10 -0
  730. data/vendor/gems/shoulda/test/rails_root/app/models/post.rb +12 -0
  731. data/vendor/gems/shoulda/test/rails_root/app/models/product.rb +12 -0
  732. data/vendor/gems/shoulda/test/rails_root/app/models/profile.rb +2 -0
  733. data/vendor/gems/shoulda/test/rails_root/app/models/registration.rb +2 -0
  734. data/vendor/gems/shoulda/test/rails_root/app/models/tag.rb +8 -0
  735. data/vendor/gems/shoulda/test/rails_root/app/models/tagging.rb +4 -0
  736. data/vendor/gems/shoulda/test/rails_root/app/models/treat.rb +3 -0
  737. data/vendor/gems/shoulda/test/rails_root/app/models/user.rb +32 -0
  738. data/vendor/gems/shoulda/test/rails_root/app/views/layouts/posts.rhtml +19 -0
  739. data/vendor/gems/shoulda/test/rails_root/app/views/layouts/users.rhtml +17 -0
  740. data/vendor/gems/shoulda/test/rails_root/app/views/layouts/wide.html.erb +1 -0
  741. data/vendor/gems/shoulda/test/rails_root/app/views/posts/edit.rhtml +27 -0
  742. data/vendor/gems/shoulda/test/rails_root/app/views/posts/index.rhtml +25 -0
  743. data/vendor/gems/shoulda/test/rails_root/app/views/posts/new.rhtml +26 -0
  744. data/vendor/gems/shoulda/test/rails_root/app/views/posts/show.rhtml +18 -0
  745. data/vendor/gems/shoulda/test/rails_root/app/views/users/edit.rhtml +22 -0
  746. data/vendor/gems/shoulda/test/rails_root/app/views/users/index.rhtml +22 -0
  747. data/vendor/gems/shoulda/test/rails_root/app/views/users/new.rhtml +21 -0
  748. data/vendor/gems/shoulda/test/rails_root/app/views/users/show.rhtml +13 -0
  749. data/vendor/gems/shoulda/test/rails_root/config/boot.rb +110 -0
  750. data/vendor/gems/shoulda/test/rails_root/config/database.yml +4 -0
  751. data/vendor/gems/shoulda/test/rails_root/config/environment.rb +18 -0
  752. data/vendor/gems/shoulda/test/rails_root/config/environments/test.rb +0 -0
  753. data/vendor/gems/shoulda/test/rails_root/config/initializers/new_rails_defaults.rb +15 -0
  754. data/vendor/gems/shoulda/test/rails_root/config/initializers/shoulda.rb +8 -0
  755. data/vendor/gems/shoulda/test/rails_root/config/routes.rb +6 -0
  756. data/vendor/gems/shoulda/test/rails_root/db/migrate/001_create_users.rb +19 -0
  757. data/vendor/gems/shoulda/test/rails_root/db/migrate/002_create_posts.rb +13 -0
  758. data/vendor/gems/shoulda/test/rails_root/db/migrate/003_create_taggings.rb +12 -0
  759. data/vendor/gems/shoulda/test/rails_root/db/migrate/004_create_tags.rb +11 -0
  760. data/vendor/gems/shoulda/test/rails_root/db/migrate/005_create_dogs.rb +12 -0
  761. data/vendor/gems/shoulda/test/rails_root/db/migrate/006_create_addresses.rb +14 -0
  762. data/vendor/gems/shoulda/test/rails_root/db/migrate/007_create_fleas.rb +11 -0
  763. data/vendor/gems/shoulda/test/rails_root/db/migrate/008_create_dogs_fleas.rb +12 -0
  764. data/vendor/gems/shoulda/test/rails_root/db/migrate/009_create_products.rb +17 -0
  765. data/vendor/gems/shoulda/test/rails_root/db/migrate/010_create_friendships.rb +14 -0
  766. data/vendor/gems/shoulda/test/rails_root/db/migrate/011_create_treats.rb +12 -0
  767. data/vendor/gems/shoulda/test/rails_root/db/migrate/20090506203502_create_profiles.rb +12 -0
  768. data/vendor/gems/shoulda/test/rails_root/db/migrate/20090506203536_create_registrations.rb +14 -0
  769. data/vendor/gems/shoulda/test/rails_root/db/migrate/20090513104502_create_cats.rb +12 -0
  770. data/vendor/gems/shoulda/test/rails_root/db/schema.rb +0 -0
  771. data/vendor/gems/shoulda/test/rails_root/public/404.html +30 -0
  772. data/vendor/gems/shoulda/test/rails_root/public/422.html +30 -0
  773. data/vendor/gems/shoulda/test/rails_root/public/500.html +30 -0
  774. data/vendor/gems/shoulda/test/rails_root/script/console +3 -0
  775. data/vendor/gems/shoulda/test/rails_root/script/generate +3 -0
  776. data/vendor/gems/shoulda/test/rails_root/test/shoulda_macros/custom_macro.rb +6 -0
  777. data/vendor/gems/shoulda/test/rails_root/vendor/gems/gem_with_macro-0.0.1/shoulda_macros/gem_macro.rb +6 -0
  778. data/vendor/gems/shoulda/test/rails_root/vendor/plugins/plugin_with_macro/shoulda_macros/plugin_macro.rb +6 -0
  779. data/vendor/gems/shoulda/test/rspec_test.rb +207 -0
  780. data/vendor/gems/shoulda/test/test_helper.rb +28 -0
  781. data/vendor/gems/shoulda/test/unit/address_test.rb +10 -0
  782. data/vendor/gems/shoulda/test/unit/cat_test.rb +7 -0
  783. data/vendor/gems/shoulda/test/unit/dog_test.rb +9 -0
  784. data/vendor/gems/shoulda/test/unit/flea_test.rb +6 -0
  785. data/vendor/gems/shoulda/test/unit/friendship_test.rb +6 -0
  786. data/vendor/gems/shoulda/test/unit/post_test.rb +19 -0
  787. data/vendor/gems/shoulda/test/unit/product_test.rb +23 -0
  788. data/vendor/gems/shoulda/test/unit/tag_test.rb +15 -0
  789. data/vendor/gems/shoulda/test/unit/tagging_test.rb +6 -0
  790. data/vendor/gems/shoulda/test/unit/user_test.rb +80 -0
  791. data/vendor/gems/thrift/CHANGELOG +1 -0
  792. data/vendor/gems/thrift/Makefile.am +47 -0
  793. data/vendor/gems/thrift/Manifest +81 -0
  794. data/vendor/gems/thrift/README +43 -0
  795. data/vendor/gems/thrift/Rakefile +104 -0
  796. data/vendor/gems/thrift/benchmark/Benchmark.thrift +24 -0
  797. data/vendor/gems/thrift/benchmark/benchmark.rb +271 -0
  798. data/vendor/gems/thrift/benchmark/client.rb +74 -0
  799. data/vendor/gems/thrift/benchmark/server.rb +82 -0
  800. data/vendor/gems/thrift/benchmark/thin_server.rb +44 -0
  801. data/vendor/gems/thrift/ext/binary_protocol_accelerated.c +474 -0
  802. data/vendor/gems/thrift/ext/binary_protocol_accelerated.h +20 -0
  803. data/vendor/gems/thrift/ext/compact_protocol.c +665 -0
  804. data/vendor/gems/thrift/ext/compact_protocol.h +20 -0
  805. data/vendor/gems/thrift/ext/constants.h +95 -0
  806. data/vendor/gems/thrift/ext/extconf.rb +26 -0
  807. data/vendor/gems/thrift/ext/macros.h +41 -0
  808. data/vendor/gems/thrift/ext/memory_buffer.c +76 -0
  809. data/vendor/gems/thrift/ext/memory_buffer.h +20 -0
  810. data/vendor/gems/thrift/ext/protocol.c +185 -0
  811. data/vendor/gems/thrift/ext/protocol.h +20 -0
  812. data/vendor/gems/thrift/ext/struct.c +606 -0
  813. data/vendor/gems/thrift/ext/struct.h +67 -0
  814. data/vendor/gems/thrift/ext/thrift_native.c +194 -0
  815. data/vendor/gems/thrift/lib/thrift/client.rb +62 -0
  816. data/vendor/gems/thrift/lib/thrift/core_ext/fixnum.rb +29 -0
  817. data/vendor/gems/thrift/lib/thrift/core_ext.rb +23 -0
  818. data/vendor/gems/thrift/lib/thrift/exceptions.rb +82 -0
  819. data/vendor/gems/thrift/lib/thrift/processor.rb +57 -0
  820. data/vendor/gems/thrift/lib/thrift/protocol/base_protocol.rb +290 -0
  821. data/vendor/gems/thrift/lib/thrift/protocol/binary_protocol.rb +225 -0
  822. data/vendor/gems/thrift/lib/thrift/protocol/binary_protocol_accelerated.rb +35 -0
  823. data/vendor/gems/thrift/lib/thrift/protocol/compact_protocol.rb +422 -0
  824. data/vendor/gems/thrift/lib/thrift/serializer/deserializer.rb +33 -0
  825. data/vendor/gems/thrift/lib/thrift/serializer/serializer.rb +34 -0
  826. data/vendor/gems/thrift/lib/thrift/server/base_server.rb +31 -0
  827. data/vendor/gems/thrift/lib/thrift/server/mongrel_http_server.rb +58 -0
  828. data/vendor/gems/thrift/lib/thrift/server/nonblocking_server.rb +296 -0
  829. data/vendor/gems/thrift/lib/thrift/server/simple_server.rb +43 -0
  830. data/vendor/gems/thrift/lib/thrift/server/thread_pool_server.rb +75 -0
  831. data/vendor/gems/thrift/lib/thrift/server/threaded_server.rb +47 -0
  832. data/vendor/gems/thrift/lib/thrift/struct.rb +298 -0
  833. data/vendor/gems/thrift/lib/thrift/thrift_native.rb +24 -0
  834. data/vendor/gems/thrift/lib/thrift/transport/base_server_transport.rb +37 -0
  835. data/vendor/gems/thrift/lib/thrift/transport/base_transport.rb +70 -0
  836. data/vendor/gems/thrift/lib/thrift/transport/buffered_transport.rb +77 -0
  837. data/vendor/gems/thrift/lib/thrift/transport/framed_transport.rb +90 -0
  838. data/vendor/gems/thrift/lib/thrift/transport/http_client_transport.rb +45 -0
  839. data/vendor/gems/thrift/lib/thrift/transport/io_stream_transport.rb +39 -0
  840. data/vendor/gems/thrift/lib/thrift/transport/memory_buffer_transport.rb +96 -0
  841. data/vendor/gems/thrift/lib/thrift/transport/server_socket.rb +63 -0
  842. data/vendor/gems/thrift/lib/thrift/transport/socket.rb +136 -0
  843. data/vendor/gems/thrift/lib/thrift/transport/unix_server_socket.rb +60 -0
  844. data/vendor/gems/thrift/lib/thrift/transport/unix_socket.rb +40 -0
  845. data/vendor/gems/thrift/lib/thrift/types.rb +101 -0
  846. data/vendor/gems/thrift/lib/thrift.rb +59 -0
  847. data/vendor/gems/thrift/script/proto_benchmark.rb +121 -0
  848. data/vendor/gems/thrift/script/read_struct.rb +43 -0
  849. data/vendor/gems/thrift/script/write_struct.rb +30 -0
  850. data/vendor/gems/thrift/setup.rb +1585 -0
  851. data/vendor/gems/thrift/spec/ThriftSpec.thrift +84 -0
  852. data/vendor/gems/thrift/spec/base_protocol_spec.rb +160 -0
  853. data/vendor/gems/thrift/spec/base_transport_spec.rb +351 -0
  854. data/vendor/gems/thrift/spec/binary_protocol_accelerated_spec.rb +41 -0
  855. data/vendor/gems/thrift/spec/binary_protocol_spec.rb +63 -0
  856. data/vendor/gems/thrift/spec/binary_protocol_spec_shared.rb +375 -0
  857. data/vendor/gems/thrift/spec/client_spec.rb +100 -0
  858. data/vendor/gems/thrift/spec/compact_protocol_spec.rb +117 -0
  859. data/vendor/gems/thrift/spec/exception_spec.rb +142 -0
  860. data/vendor/gems/thrift/spec/http_client_spec.rb +49 -0
  861. data/vendor/gems/thrift/spec/mongrel_http_server_spec.rb +117 -0
  862. data/vendor/gems/thrift/spec/nonblocking_server_spec.rb +265 -0
  863. data/vendor/gems/thrift/spec/processor_spec.rb +83 -0
  864. data/vendor/gems/thrift/spec/serializer_spec.rb +69 -0
  865. data/vendor/gems/thrift/spec/server_socket_spec.rb +80 -0
  866. data/vendor/gems/thrift/spec/server_spec.rb +160 -0
  867. data/vendor/gems/thrift/spec/socket_spec.rb +61 -0
  868. data/vendor/gems/thrift/spec/socket_spec_shared.rb +104 -0
  869. data/vendor/gems/thrift/spec/spec_helper.rb +60 -0
  870. data/vendor/gems/thrift/spec/struct_spec.rb +252 -0
  871. data/vendor/gems/thrift/spec/types_spec.rb +116 -0
  872. data/vendor/gems/thrift/spec/unix_socket_spec.rb +108 -0
  873. data/vendor/gems/trollop/FAQ.txt +84 -0
  874. data/vendor/gems/trollop/History.txt +101 -0
  875. data/vendor/gems/trollop/Manifest.txt +7 -0
  876. data/vendor/gems/trollop/README.txt +40 -0
  877. data/vendor/gems/trollop/Rakefile +36 -0
  878. data/vendor/gems/trollop/lib/trollop.rb +739 -0
  879. data/vendor/gems/trollop/release-script.txt +13 -0
  880. data/vendor/gems/trollop/test/test_trollop.rb +1048 -0
  881. data/vendor/gems/trollop/www/index.html +172 -0
  882. metadata +901 -433
  883. data/History.txt +0 -38
  884. data/PostInstall.txt +0 -19
  885. data/README.txt +0 -66
  886. data/bin/cloud-describe +0 -28
  887. data/bin/cloud-handle-load +0 -27
  888. data/bin/cloud-provision +0 -30
  889. data/bin/cloud-rsync +0 -28
  890. data/bin/cloud-setup-dev +0 -25
  891. data/bin/cloud-spec +0 -40
  892. data/bin/server-butterfly +0 -25
  893. data/bin/server-cloud-elections +0 -37
  894. data/bin/server-ensure-provisioning +0 -33
  895. data/bin/server-fire-cmd +0 -14
  896. data/bin/server-get-load +0 -15
  897. data/bin/server-list-active +0 -31
  898. data/bin/server-manage-election +0 -67
  899. data/bin/server-monitor.ru +0 -42
  900. data/bin/server-query-agent +0 -15
  901. data/bin/server-rerun +0 -23
  902. data/bin/server-send-command +0 -18
  903. data/bin/server-show-stats +0 -17
  904. data/bin/server-write-new-nodes +0 -26
  905. data/examples/fairchild.rb +0 -28
  906. data/examples/fairchild_chef.rb +0 -19
  907. data/examples/maize.rb +0 -37
  908. data/examples/paparazzi.conf.erb +0 -21
  909. data/examples/plugin_without_plugin_directory.rb +0 -12
  910. data/examples/poolparty.rb +0 -12
  911. data/generators/poolspec/USAGE +0 -5
  912. data/generators/poolspec/poolspec_generator.rb +0 -58
  913. data/generators/poolspec/templates/pool_spec_template.erb +0 -9
  914. data/lib/poolparty/aska.rb +0 -141
  915. data/lib/poolparty/base_packages/haproxy.rb +0 -59
  916. data/lib/poolparty/base_packages/heartbeat.rb +0 -16
  917. data/lib/poolparty/base_packages/poolparty.rb +0 -14
  918. data/lib/poolparty/base_packages/ruby.rb +0 -42
  919. data/lib/poolparty/base_packages/runit.rb +0 -21
  920. data/lib/poolparty/core/array.rb +0 -48
  921. data/lib/poolparty/core/class.rb +0 -26
  922. data/lib/poolparty/core/exception.rb +0 -10
  923. data/lib/poolparty/core/float.rb +0 -13
  924. data/lib/poolparty/core/hash.rb +0 -78
  925. data/lib/poolparty/core/kernel.rb +0 -66
  926. data/lib/poolparty/core/metaid.rb +0 -15
  927. data/lib/poolparty/core/module.rb +0 -40
  928. data/lib/poolparty/core/my_open_struct.rb +0 -18
  929. data/lib/poolparty/core/nil.rb +0 -8
  930. data/lib/poolparty/core/object.rb +0 -103
  931. data/lib/poolparty/core/ordered_hash.rb +0 -99
  932. data/lib/poolparty/core/proc.rb +0 -7
  933. data/lib/poolparty/core/string.rb +0 -191
  934. data/lib/poolparty/core/symbol.rb +0 -27
  935. data/lib/poolparty/core/time.rb +0 -56
  936. data/lib/poolparty/dependencies.rb +0 -49
  937. data/lib/poolparty/dependency_resolver/chef_resolver.rb +0 -237
  938. data/lib/poolparty/dependency_resolver/dependency_resolver.rb +0 -42
  939. data/lib/poolparty/dependency_resolver/dependency_resolver_cloud_extensions.rb +0 -29
  940. data/lib/poolparty/dependency_resolver/puppet.rb +0 -75
  941. data/lib/poolparty/dependency_resolver/puppet_resolver.rb +0 -188
  942. data/lib/poolparty/exceptions/CloudNotFoundException.rb +0 -7
  943. data/lib/poolparty/exceptions/LoadRulesException.rb +0 -7
  944. data/lib/poolparty/exceptions/MasterException.rb +0 -10
  945. data/lib/poolparty/exceptions/ProvisionerException.rb +0 -5
  946. data/lib/poolparty/exceptions/RemoteException.rb +0 -12
  947. data/lib/poolparty/exceptions/ResourceException.rb +0 -7
  948. data/lib/poolparty/exceptions/RuntimeException.rb +0 -7
  949. data/lib/poolparty/exceptions/SpecException.rb +0 -7
  950. data/lib/poolparty/exceptions/TemplateNotFound.rb +0 -7
  951. data/lib/poolparty/exceptions/UnacceptableCommand.rb +0 -5
  952. data/lib/poolparty/exceptions/dependency_resolver_exception.rb +0 -5
  953. data/lib/poolparty/exceptions/package_exception.rb +0 -7
  954. data/lib/poolparty/extra/deployments.rb +0 -31
  955. data/lib/poolparty/helpers/binary.rb +0 -70
  956. data/lib/poolparty/helpers/console.rb +0 -48
  957. data/lib/poolparty/helpers/display.rb +0 -30
  958. data/lib/poolparty/helpers/hash_printer.rb +0 -44
  959. data/lib/poolparty/helpers/loading.rb +0 -4
  960. data/lib/poolparty/helpers/nice_printer.rb +0 -36
  961. data/lib/poolparty/helpers/optioner.rb +0 -156
  962. data/lib/poolparty/helpers/ruberl.rb +0 -33
  963. data/lib/poolparty/lite.rb +0 -30
  964. data/lib/poolparty/modules/callbacks.rb +0 -44
  965. data/lib/poolparty/modules/cloud_dsl.rb +0 -44
  966. data/lib/poolparty/modules/cloud_resourcer.rb +0 -126
  967. data/lib/poolparty/modules/daemonizable.rb +0 -141
  968. data/lib/poolparty/modules/definable_resource.rb +0 -54
  969. data/lib/poolparty/modules/file_writer.rb +0 -95
  970. data/lib/poolparty/modules/output.rb +0 -13
  971. data/lib/poolparty/modules/pinger.rb +0 -28
  972. data/lib/poolparty/modules/pretty_printer.rb +0 -40
  973. data/lib/poolparty/modules/resourcing_dsl.rb +0 -78
  974. data/lib/poolparty/modules/s3_string.rb +0 -32
  975. data/lib/poolparty/modules/safe_instance.rb +0 -31
  976. data/lib/poolparty/modules/searchable_paths.rb +0 -91
  977. data/lib/poolparty/modules/thread_pool.rb +0 -107
  978. data/lib/poolparty/modules/user_helpers.rb +0 -20
  979. data/lib/poolparty/monitors/base_monitor.rb +0 -32
  980. data/lib/poolparty/monitors/monitor_rack.rb +0 -123
  981. data/lib/poolparty/monitors/monitors/favicon_monitor.rb +0 -12
  982. data/lib/poolparty/monitors/monitors/load_monitor.rb +0 -9
  983. data/lib/poolparty/monitors/monitors/memory_monitor.rb +0 -50
  984. data/lib/poolparty/monitors/monitors/neighborhood_monitor.rb +0 -77
  985. data/lib/poolparty/monitors/monitors/stats_monitor.rb +0 -187
  986. data/lib/poolparty/monitors/monitors/time_monitor.rb +0 -15
  987. data/lib/poolparty/net/init.rb +0 -10
  988. data/lib/poolparty/net/remote_bases.rb +0 -20
  989. data/lib/poolparty/net/remote_instance.rb +0 -82
  990. data/lib/poolparty/net/remoter/cloud_control.rb +0 -24
  991. data/lib/poolparty/net/remoter/connections.rb +0 -172
  992. data/lib/poolparty/net/remoter/interactive.rb +0 -45
  993. data/lib/poolparty/net/remoter_base.rb +0 -174
  994. data/lib/poolparty/net/remoter_bases/ec2/ec2.rb +0 -245
  995. data/lib/poolparty/net/remoter_bases/ec2/ec2_remote_instance.rb +0 -53
  996. data/lib/poolparty/net/remoter_bases/ec2/ec2_response_object.rb +0 -64
  997. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vm_disk.rb +0 -12
  998. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx.rb +0 -33
  999. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx_file.rb +0 -117
  1000. data/lib/poolparty/net/remoter_bases/vmrun/vmrun.rb +0 -158
  1001. data/lib/poolparty/net/remoter_bases/vmrun/vmrun_instance.rb +0 -71
  1002. data/lib/poolparty/plugins/apache2/apache.rb +0 -340
  1003. data/lib/poolparty/plugins/bind.rb +0 -11
  1004. data/lib/poolparty/plugins/chef.rb +0 -173
  1005. data/lib/poolparty/plugins/chef_deploy.rb +0 -58
  1006. data/lib/poolparty/plugins/deploy_directory.rb +0 -49
  1007. data/lib/poolparty/plugins/gem_package.rb +0 -61
  1008. data/lib/poolparty/plugins/line_in_file.rb +0 -30
  1009. data/lib/poolparty/plugins/nanite.rb +0 -41
  1010. data/lib/poolparty/plugins/rails_deploy.rb +0 -76
  1011. data/lib/poolparty/plugins/runit.rb +0 -96
  1012. data/lib/poolparty/plugins/svn.rb +0 -65
  1013. data/lib/poolparty/poolparty/cloud.rb +0 -236
  1014. data/lib/poolparty/poolparty/default.rb +0 -159
  1015. data/lib/poolparty/poolparty/key.rb +0 -78
  1016. data/lib/poolparty/poolparty/loggable.rb +0 -28
  1017. data/lib/poolparty/poolparty/neighborhoods.rb +0 -102
  1018. data/lib/poolparty/poolparty/plugin.rb +0 -71
  1019. data/lib/poolparty/poolparty/plugin_model.rb +0 -45
  1020. data/lib/poolparty/poolparty/pool.rb +0 -80
  1021. data/lib/poolparty/poolparty/poolparty_base_class.rb +0 -190
  1022. data/lib/poolparty/poolparty/resource.rb +0 -213
  1023. data/lib/poolparty/poolparty/script.rb +0 -58
  1024. data/lib/poolparty/poolparty/service.rb +0 -44
  1025. data/lib/poolparty/poolparty/template.rb +0 -27
  1026. data/lib/poolparty/provision/boot_strapper.rb +0 -164
  1027. data/lib/poolparty/provision/configurations/chef.rb +0 -26
  1028. data/lib/poolparty/provision/configurations/puppet.rb +0 -28
  1029. data/lib/poolparty/provision/dr_configure.rb +0 -142
  1030. data/lib/poolparty/resources/host.rb +0 -37
  1031. data/lib/poolparty/resources/remote_file.rb +0 -52
  1032. data/lib/poolparty/resources/sshkey.rb +0 -49
  1033. data/lib/poolparty/resources/symlink.rb +0 -43
  1034. data/lib/poolparty/resources.rb +0 -42
  1035. data/lib/poolparty/schema.rb +0 -79
  1036. data/lib/poolparty/templates/apache2/apache2.conf +0 -14
  1037. data/lib/poolparty/templates/apache2/base.conf.erb +0 -168
  1038. data/lib/poolparty/templates/apache2/debian.conf.erb +0 -675
  1039. data/lib/poolparty/templates/apache2/default-site.conf.erb +0 -41
  1040. data/lib/poolparty/templates/apache2/directory_indexes.conf.erb +0 -101
  1041. data/lib/poolparty/templates/apache2/logging-syslog.conf.erb +0 -42
  1042. data/lib/poolparty/templates/apache2/mime-extras.conf.erb +0 -211
  1043. data/lib/poolparty/templates/apache2/mpm-worker.conf.erb +0 -20
  1044. data/lib/poolparty/templates/apache2/mpm-worker.erb +0 -20
  1045. data/lib/poolparty/templates/apache2/passenger.conf.erb +0 -20
  1046. data/lib/poolparty/templates/apache2/php.ini.erb +0 -1253
  1047. data/lib/poolparty/templates/apache2/server-status.erb +0 -19
  1048. data/lib/poolparty/templates/authkeys +0 -2
  1049. data/lib/poolparty/templates/cib.xml +0 -54
  1050. data/lib/poolparty/templates/erlang_cookie_maker +0 -6
  1051. data/lib/poolparty/templates/gem +0 -27
  1052. data/lib/poolparty/templates/gemrc_template +0 -11
  1053. data/lib/poolparty/templates/ha.cf +0 -17
  1054. data/lib/poolparty/templates/haproxy.conf +0 -38
  1055. data/lib/poolparty/templates/haresources +0 -3
  1056. data/lib/poolparty/templates/logd.cf +0 -42
  1057. data/lib/poolparty/templates/messenger/client/log-run.erb +0 -2
  1058. data/lib/poolparty/templates/messenger/client/run.erb +0 -4
  1059. data/lib/poolparty/templates/messenger/master/log-run.erb +0 -2
  1060. data/lib/poolparty/templates/messenger/master/run.erb +0 -4
  1061. data/lib/poolparty/templates/messenger/node/log-run.erb +0 -2
  1062. data/lib/poolparty/templates/messenger/node/run.erb +0 -4
  1063. data/lib/poolparty/templates/monitor.ru +0 -16
  1064. data/lib/poolparty/templates/namespaceauth.conf +0 -19
  1065. data/lib/poolparty/templates/php.ini.erb +0 -1253
  1066. data/lib/poolparty/templates/poolparty.monitor +0 -14
  1067. data/lib/poolparty/templates/puppet/add_puppet_to_hosts +0 -6
  1068. data/lib/poolparty/templates/puppet/puppet.conf +0 -2
  1069. data/lib/poolparty/templates/puppet/puppetrunner +0 -14
  1070. data/lib/poolparty/templates/puppet/site.pp +0 -4
  1071. data/lib/poolparty/templates/puppetrunner +0 -14
  1072. data/lib/poolparty/templates/yaws.conf +0 -19
  1073. data/lib/poolparty/verification/verifier_base.rb +0 -17
  1074. data/lib/poolparty/verification/verifiers/http_match.rb +0 -43
  1075. data/lib/poolparty/verification/verifiers/http_status.rb +0 -59
  1076. data/lib/poolparty/verification/verifiers/ping.rb +0 -34
  1077. data/lib/poolparty/verification/verify.rb +0 -76
  1078. data/lib/poolpartycl.rb +0 -72
  1079. data/script/destroy +0 -14
  1080. data/script/generate +0 -14
  1081. data/spec/bin/bin_spec_helper.rb +0 -7
  1082. data/spec/bin/fixtures/bin_cloud_for_test.rb +0 -13
  1083. data/spec/bin/server-list-active_spec.rb +0 -24
  1084. data/spec/poolparty/aska/aska_spec.rb +0 -117
  1085. data/spec/poolparty/base_packages/haproxy_spec.rb +0 -7
  1086. data/spec/poolparty/base_packages/heartbeat_spec.rb +0 -7
  1087. data/spec/poolparty/bin/console_spec.rb +0 -83
  1088. data/spec/poolparty/core/array_spec.rb +0 -48
  1089. data/spec/poolparty/core/float.rb +0 -13
  1090. data/spec/poolparty/core/hash_spec.rb +0 -83
  1091. data/spec/poolparty/core/kernel_spec.rb +0 -24
  1092. data/spec/poolparty/core/module_spec.rb +0 -15
  1093. data/spec/poolparty/core/object_spec.rb +0 -68
  1094. data/spec/poolparty/core/ordered_hash_spec.rb +0 -48
  1095. data/spec/poolparty/core/string_spec.rb +0 -145
  1096. data/spec/poolparty/core/time_spec.rb +0 -49
  1097. data/spec/poolparty/dependencies_spec.rb +0 -11
  1098. data/spec/poolparty/dependency_resolver/chef_resolver_spec.rb +0 -107
  1099. data/spec/poolparty/dependency_resolver/dependency_resolver_cloud_extensions_spec.rb +0 -122
  1100. data/spec/poolparty/dependency_resolver/dependency_resolver_spec.rb +0 -16
  1101. data/spec/poolparty/dependency_resolver/puppet_resolver_spec.rb +0 -121
  1102. data/spec/poolparty/extra/deployments_spec.rb +0 -68
  1103. data/spec/poolparty/fixtures/clouds.json +0 -128
  1104. data/spec/poolparty/fixtures/test_template.erb +0 -1
  1105. data/spec/poolparty/helpers/binary_spec.rb +0 -26
  1106. data/spec/poolparty/helpers/display_spec.rb +0 -13
  1107. data/spec/poolparty/helpers/hash_printer_spec.rb +0 -34
  1108. data/spec/poolparty/helpers/optioner_spec.rb +0 -50
  1109. data/spec/poolparty/id_rsa +0 -27
  1110. data/spec/poolparty/modules/cloud_resourcer_spec.rb +0 -67
  1111. data/spec/poolparty/modules/definable_resource.rb +0 -9
  1112. data/spec/poolparty/modules/file_writer_spec.rb +0 -64
  1113. data/spec/poolparty/modules/s3_string_spec.rb +0 -15
  1114. data/spec/poolparty/modules/searchable_paths_spec.rb +0 -76
  1115. data/spec/poolparty/monitors/base_monitor_spec.rb +0 -112
  1116. data/spec/poolparty/monitors/monitors/cpu_monitor_spec.rb +0 -18
  1117. data/spec/poolparty/monitors/monitors/memory_monitor_spec.rb +0 -48
  1118. data/spec/poolparty/net/remote_instance_spec.rb +0 -17
  1119. data/spec/poolparty/net/remote_spec.rb +0 -287
  1120. data/spec/poolparty/net/remoter_base_spec.rb +0 -35
  1121. data/spec/poolparty/net/remoter_bases/ec2_mocks_and_stubs.rb +0 -24
  1122. data/spec/poolparty/net/remoter_bases/ec2_remote_instance_spec.rb +0 -114
  1123. data/spec/poolparty/net/remoter_bases/ec2_spec.rb +0 -134
  1124. data/spec/poolparty/net/remoter_spec.rb +0 -133
  1125. data/spec/poolparty/plugins/chef_spec.rb +0 -7
  1126. data/spec/poolparty/plugins/deploydirectory_spec.rb +0 -51
  1127. data/spec/poolparty/plugins/git_spec.rb +0 -41
  1128. data/spec/poolparty/plugins/line_spec.rb +0 -22
  1129. data/spec/poolparty/poolparty/cloud_spec.rb +0 -322
  1130. data/spec/poolparty/poolparty/configurers/files/ruby_basic.rb +0 -16
  1131. data/spec/poolparty/poolparty/configurers/files/ruby_plugins.rb +0 -16
  1132. data/spec/poolparty/poolparty/configurers/ruby_spec.rb +0 -42
  1133. data/spec/poolparty/poolparty/default_spec.rb +0 -139
  1134. data/spec/poolparty/poolparty/example_spec.rb +0 -60
  1135. data/spec/poolparty/poolparty/key_spec.rb +0 -42
  1136. data/spec/poolparty/poolparty/neighborhoods_spec.rb +0 -65
  1137. data/spec/poolparty/poolparty/plugin_model_spec.rb +0 -54
  1138. data/spec/poolparty/poolparty/plugin_spec.rb +0 -41
  1139. data/spec/poolparty/poolparty/pool_spec.rb +0 -100
  1140. data/spec/poolparty/poolparty/resource_spec.rb +0 -208
  1141. data/spec/poolparty/poolparty/script_spec.rb +0 -49
  1142. data/spec/poolparty/poolparty/service_spec.rb +0 -5
  1143. data/spec/poolparty/poolparty/template_spec.rb +0 -26
  1144. data/spec/poolparty/poolparty/test_plugins/sshkey_test +0 -2
  1145. data/spec/poolparty/poolparty/test_plugins/webserver.rb +0 -30
  1146. data/spec/poolparty/poolparty_base_class_spec.rb +0 -84
  1147. data/spec/poolparty/poolparty_spec.rb +0 -36
  1148. data/spec/poolparty/resources/cron_spec.rb +0 -44
  1149. data/spec/poolparty/resources/directory_spec.rb +0 -40
  1150. data/spec/poolparty/resources/exec_spec.rb +0 -37
  1151. data/spec/poolparty/resources/file_spec.rb +0 -64
  1152. data/spec/poolparty/resources/gem_spec.rb +0 -7
  1153. data/spec/poolparty/resources/host_spec.rb +0 -35
  1154. data/spec/poolparty/resources/package_spec.rb +0 -26
  1155. data/spec/poolparty/resources/service_spec.rb +0 -29
  1156. data/spec/poolparty/resources/sshkey_spec.rb +0 -40
  1157. data/spec/poolparty/resources/symlink_spec.rb +0 -29
  1158. data/spec/poolparty/resources/user_spec.rb +0 -48
  1159. data/spec/poolparty/resources/variable_spec.rb +0 -26
  1160. data/spec/poolparty/schema_spec.rb +0 -53
  1161. data/spec/poolparty/spec_helper.rb +0 -262
  1162. data/spec/poolparty/test_spec_helper.rb +0 -13
  1163. data/tasks/cloud.rake +0 -3
  1164. data/tasks/ec2.rake +0 -13
  1165. data/tasks/instance.rake +0 -2
  1166. data/tasks/server.rake +0 -44
  1167. data/tasks/spec.rake +0 -50
  1168. data/test/poolparty/core/array_test.rb +0 -21
  1169. data/test/poolparty/core/hash_test.rb +0 -34
  1170. data/test/poolparty/core/string_test.rb +0 -29
  1171. data/test/poolparty/dependency_resolver/puppet_resolver_test.rb +0 -90
  1172. data/test/poolparty/modules/callbacks_test.rb +0 -40
  1173. data/test/poolparty/modules/cloud_dsl_test.rb +0 -60
  1174. data/test/poolparty/net/remoter_bases/vmrun/vmrun_test.rb +0 -54
  1175. data/test/poolparty/net/remoter_test.rb +0 -14
  1176. data/test/poolparty/poolparty/neighborhood_test.rb +0 -23
  1177. data/test/poolparty/poolparty/poolparty_base_class_test.rb +0 -84
  1178. data/test/poolparty/poolparty/template_test.rb +0 -31
  1179. data/test/poolparty/provision/boot_strapper_test.rb +0 -6
  1180. data/test/poolparty/provision/dr_configure_test.rb +0 -6
  1181. data/test/poolparty/verification/verify_test.rb +0 -49
  1182. data/test/test_generator_helper.rb +0 -29
  1183. data/test/test_pool_spec_generator.rb +0 -47
  1184. data/test/test_poolparty.rb +0 -12
  1185. data/vendor/gems/butterfly/History.txt +0 -4
  1186. data/vendor/gems/butterfly/PostInstall.txt +0 -2
  1187. data/vendor/gems/butterfly/README.rdoc +0 -48
  1188. data/vendor/gems/butterfly/Rakefile +0 -62
  1189. data/vendor/gems/butterfly/VERSION.yml +0 -4
  1190. data/vendor/gems/butterfly/bin/flutter +0 -4
  1191. data/vendor/gems/butterfly/butterfly.gemspec +0 -37
  1192. data/vendor/gems/butterfly/examples/config.ru +0 -15
  1193. data/vendor/gems/butterfly/examples/my_app.rb +0 -12
  1194. data/vendor/gems/butterfly/lib/butterfly.rb +0 -14
  1195. data/vendor/gems/butterfly/lib/handler.rb +0 -48
  1196. data/vendor/gems/butterfly/lib/request.rb +0 -29
  1197. data/vendor/gems/butterfly/lib/response.rb +0 -49
  1198. data/vendor/gems/butterfly/script/console +0 -10
  1199. data/vendor/gems/butterfly/script/destroy +0 -14
  1200. data/vendor/gems/butterfly/script/generate +0 -14
  1201. data/vendor/gems/butterfly/test/test_adapter_base.rb +0 -23
  1202. data/vendor/gems/butterfly/test/test_butterfly_request.rb +0 -46
  1203. data/vendor/gems/butterfly/test/test_butterfly_response.rb +0 -43
  1204. data/vendor/gems/butterfly/test/test_butterfly_server.rb +0 -16
  1205. data/vendor/gems/butterfly/test/test_default.rb +0 -12
  1206. data/vendor/gems/butterfly/test/test_helper.rb +0 -6
  1207. data/vendor/gems/dslify/History.txt +0 -4
  1208. data/vendor/gems/dslify/Manifest.txt +0 -25
  1209. data/vendor/gems/dslify/PostInstall.txt +0 -5
  1210. data/vendor/gems/dslify/README.txt +0 -60
  1211. data/vendor/gems/dslify/config/hoe.rb +0 -73
  1212. data/vendor/gems/dslify/config/requirements.rb +0 -15
  1213. data/vendor/gems/dslify/lib/dslify/dslify.rb +0 -76
  1214. data/vendor/gems/dslify/lib/dslify/version.rb +0 -10
  1215. data/vendor/gems/dslify/script/console +0 -10
  1216. data/vendor/gems/dslify/script/destroy +0 -14
  1217. data/vendor/gems/dslify/script/generate +0 -14
  1218. data/vendor/gems/dslify/script/txt2html +0 -82
  1219. data/vendor/gems/dslify/tasks/environment.rake +0 -7
  1220. data/vendor/gems/dslify/tasks/website.rake +0 -17
  1221. data/vendor/gems/dslify/test/test_dslify.rb +0 -138
  1222. data/vendor/gems/dslify/website/index.html +0 -86
  1223. data/vendor/gems/dslify/website/index.txt +0 -83
  1224. data/vendor/gems/dslify/website/javascripts/rounded_corners_lite.inc.js +0 -285
  1225. data/vendor/gems/dslify/website/stylesheets/screen.css +0 -138
  1226. data/vendor/gems/dslify/website/template.html.erb +0 -48
  1227. data/vendor/gems/suitcase/README.rdoc +0 -31
  1228. data/vendor/gems/suitcase/Rakefile +0 -57
  1229. data/vendor/gems/suitcase/VERSION.yml +0 -4
  1230. data/vendor/gems/suitcase/lib/suitcase/unzipper.rb +0 -15
  1231. data/vendor/gems/suitcase/lib/suitcase/zipper.rb +0 -119
  1232. data/vendor/gems/suitcase/lib/suitcase.rb +0 -5
  1233. data/vendor/gems/suitcase/suitcase.gemspec +0 -32
  1234. data/vendor/gems/suitcase/test/suitcase_test.rb +0 -102
  1235. data/vendor/gems/suitcase/test/test_dir/box.rb +0 -1
  1236. data/vendor/gems/suitcase/test/test_dir/test.txt +0 -1
  1237. data/vendor/gems/suitcase/test/test_helper.rb +0 -12
  1238. /data/lib/poolparty/{templates → plugins}/apache2/browser_fixes.conf.erb +0 -0
  1239. /data/lib/poolparty/{templates → plugins}/apache2/mime-minimal.conf.erb +0 -0
  1240. /data/{spec/poolparty/poolparty/test_plugins/virtual_host_template.erb → lib/proto/gen-py/__init__.py} +0 -0
  1241. /data/vendor/gems/{suitcase → colors}/LICENSE +0 -0
  1242. /data/vendor/gems/{dslify → context}/setup.rb +0 -0
  1243. /data/vendor/gems/{dslify → context}/tasks/deployment.rake +0 -0
  1244. /data/{tasks → vendor/gems/context/tasks}/environment.rake +0 -0
@@ -0,0 +1,63 @@
1
+ #
2
+ # Licensed to the Apache Software Foundation (ASF) under one
3
+ # or more contributor license agreements. See the NOTICE file
4
+ # distributed with this work for additional information
5
+ # regarding copyright ownership. The ASF licenses this file
6
+ # to you under the Apache License, Version 2.0 (the
7
+ # "License"); you may not use this file except in compliance
8
+ # with the License. You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing,
13
+ # software distributed under the License is distributed on an
14
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ # KIND, either express or implied. See the License for the
16
+ # specific language governing permissions and limitations
17
+ # under the License.
18
+ #
19
+
20
+ import BaseHTTPServer
21
+
22
+ from thrift.server import TServer
23
+ from thrift.transport import TTransport
24
+
25
+ class THttpServer(TServer.TServer):
26
+ """A simple HTTP-based Thrift server
27
+
28
+ This class is not very performant, but it is useful (for example) for
29
+ acting as a mock version of an Apache-based PHP Thrift endpoint."""
30
+
31
+ def __init__(self, processor, server_address,
32
+ inputProtocolFactory, outputProtocolFactory = None):
33
+ """Set up protocol factories and HTTP server.
34
+
35
+ See BaseHTTPServer for server_address.
36
+ See TServer for protocol factories."""
37
+
38
+ if outputProtocolFactory is None:
39
+ outputProtocolFactory = inputProtocolFactory
40
+
41
+ TServer.TServer.__init__(self, processor, None, None, None,
42
+ inputProtocolFactory, outputProtocolFactory)
43
+
44
+ thttpserver = self
45
+
46
+ class RequestHander(BaseHTTPServer.BaseHTTPRequestHandler):
47
+ def do_POST(self):
48
+ # Don't care about the request path.
49
+ self.send_response(200)
50
+ self.send_header("content-type", "application/x-thrift")
51
+ self.end_headers()
52
+
53
+ itrans = TTransport.TFileObjectTransport(self.rfile)
54
+ otrans = TTransport.TFileObjectTransport(self.wfile)
55
+ iprot = thttpserver.inputProtocolFactory.getProtocol(itrans)
56
+ oprot = thttpserver.outputProtocolFactory.getProtocol(otrans)
57
+ thttpserver.processor.process(iprot, oprot)
58
+ otrans.flush()
59
+
60
+ self.httpd = BaseHTTPServer.HTTPServer(server_address, RequestHander)
61
+
62
+ def serve(self):
63
+ self.httpd.serve_forever()
@@ -0,0 +1,309 @@
1
+ #
2
+ # Licensed to the Apache Software Foundation (ASF) under one
3
+ # or more contributor license agreements. See the NOTICE file
4
+ # distributed with this work for additional information
5
+ # regarding copyright ownership. The ASF licenses this file
6
+ # to you under the Apache License, Version 2.0 (the
7
+ # "License"); you may not use this file except in compliance
8
+ # with the License. You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing,
13
+ # software distributed under the License is distributed on an
14
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ # KIND, either express or implied. See the License for the
16
+ # specific language governing permissions and limitations
17
+ # under the License.
18
+ #
19
+ """Implementation of non-blocking server.
20
+
21
+ The main idea of the server is reciving and sending requests
22
+ only from main thread.
23
+
24
+ It also makes thread pool server in tasks terms, not connections.
25
+ """
26
+ import threading
27
+ import socket
28
+ import Queue
29
+ import select
30
+ import struct
31
+ import logging
32
+
33
+ from thrift.transport import TTransport
34
+ from thrift.protocol.TBinaryProtocol import TBinaryProtocolFactory
35
+
36
+ __all__ = ['TNonblockingServer']
37
+
38
+ class Worker(threading.Thread):
39
+ """Worker is a small helper to process incoming connection."""
40
+ def __init__(self, queue):
41
+ threading.Thread.__init__(self)
42
+ self.queue = queue
43
+
44
+ def run(self):
45
+ """Process queries from task queue, stop if processor is None."""
46
+ while True:
47
+ try:
48
+ processor, iprot, oprot, otrans, callback = self.queue.get()
49
+ if processor is None:
50
+ break
51
+ processor.process(iprot, oprot)
52
+ callback(True, otrans.getvalue())
53
+ except Exception:
54
+ logging.exception("Exception while processing request")
55
+ callback(False, '')
56
+
57
+ WAIT_LEN = 0
58
+ WAIT_MESSAGE = 1
59
+ WAIT_PROCESS = 2
60
+ SEND_ANSWER = 3
61
+ CLOSED = 4
62
+
63
+ def locked(func):
64
+ "Decorator which locks self.lock."
65
+ def nested(self, *args, **kwargs):
66
+ self.lock.acquire()
67
+ try:
68
+ return func(self, *args, **kwargs)
69
+ finally:
70
+ self.lock.release()
71
+ return nested
72
+
73
+ def socket_exception(func):
74
+ "Decorator close object on socket.error."
75
+ def read(self, *args, **kwargs):
76
+ try:
77
+ return func(self, *args, **kwargs)
78
+ except socket.error:
79
+ self.close()
80
+ return read
81
+
82
+ class Connection:
83
+ """Basic class is represented connection.
84
+
85
+ It can be in state:
86
+ WAIT_LEN --- connection is reading request len.
87
+ WAIT_MESSAGE --- connection is reading request.
88
+ WAIT_PROCESS --- connection has just read whole request and
89
+ waits for call ready routine.
90
+ SEND_ANSWER --- connection is sending answer string (including length
91
+ of answer).
92
+ CLOSED --- socket was closed and connection should be deleted.
93
+ """
94
+ def __init__(self, new_socket, wake_up):
95
+ self.socket = new_socket
96
+ self.socket.setblocking(False)
97
+ self.status = WAIT_LEN
98
+ self.len = 0
99
+ self.message = ''
100
+ self.lock = threading.Lock()
101
+ self.wake_up = wake_up
102
+
103
+ def _read_len(self):
104
+ """Reads length of request.
105
+
106
+ It's really paranoic routine and it may be replaced by
107
+ self.socket.recv(4)."""
108
+ read = self.socket.recv(4 - len(self.message))
109
+ if len(read) == 0:
110
+ # if we read 0 bytes and self.message is empty, it means client close
111
+ # connection
112
+ if len(self.message) != 0:
113
+ logging.error("can't read frame size from socket")
114
+ self.close()
115
+ return
116
+ self.message += read
117
+ if len(self.message) == 4:
118
+ self.len, = struct.unpack('!i', self.message)
119
+ if self.len < 0:
120
+ logging.error("negative frame size, it seems client"\
121
+ " doesn't use FramedTransport")
122
+ self.close()
123
+ elif self.len == 0:
124
+ logging.error("empty frame, it's really strange")
125
+ self.close()
126
+ else:
127
+ self.message = ''
128
+ self.status = WAIT_MESSAGE
129
+
130
+ @socket_exception
131
+ def read(self):
132
+ """Reads data from stream and switch state."""
133
+ assert self.status in (WAIT_LEN, WAIT_MESSAGE)
134
+ if self.status == WAIT_LEN:
135
+ self._read_len()
136
+ # go back to the main loop here for simplicity instead of
137
+ # falling through, even though there is a good chance that
138
+ # the message is already available
139
+ elif self.status == WAIT_MESSAGE:
140
+ read = self.socket.recv(self.len - len(self.message))
141
+ if len(read) == 0:
142
+ logging.error("can't read frame from socket (get %d of %d bytes)" %
143
+ (len(self.message), self.len))
144
+ self.close()
145
+ return
146
+ self.message += read
147
+ if len(self.message) == self.len:
148
+ self.status = WAIT_PROCESS
149
+
150
+ @socket_exception
151
+ def write(self):
152
+ """Writes data from socket and switch state."""
153
+ assert self.status == SEND_ANSWER
154
+ sent = self.socket.send(self.message)
155
+ if sent == len(self.message):
156
+ self.status = WAIT_LEN
157
+ self.message = ''
158
+ self.len = 0
159
+ else:
160
+ self.message = self.message[sent:]
161
+
162
+ @locked
163
+ def ready(self, all_ok, message):
164
+ """Callback function for switching state and waking up main thread.
165
+
166
+ This function is the only function witch can be called asynchronous.
167
+
168
+ The ready can switch Connection to three states:
169
+ WAIT_LEN if request was oneway.
170
+ SEND_ANSWER if request was processed in normal way.
171
+ CLOSED if request throws unexpected exception.
172
+
173
+ The one wakes up main thread.
174
+ """
175
+ assert self.status == WAIT_PROCESS
176
+ if not all_ok:
177
+ self.close()
178
+ self.wake_up()
179
+ return
180
+ self.len = ''
181
+ self.message = struct.pack('!i', len(message)) + message
182
+ if len(message) == 0:
183
+ # it was a oneway request, do not write answer
184
+ self.status = WAIT_LEN
185
+ else:
186
+ self.status = SEND_ANSWER
187
+ self.wake_up()
188
+
189
+ @locked
190
+ def is_writeable(self):
191
+ "Returns True if connection should be added to write list of select."
192
+ return self.status == SEND_ANSWER
193
+
194
+ # it's not necessary, but...
195
+ @locked
196
+ def is_readable(self):
197
+ "Returns True if connection should be added to read list of select."
198
+ return self.status in (WAIT_LEN, WAIT_MESSAGE)
199
+
200
+ @locked
201
+ def is_closed(self):
202
+ "Returns True if connection is closed."
203
+ return self.status == CLOSED
204
+
205
+ def fileno(self):
206
+ "Returns the file descriptor of the associated socket."
207
+ return self.socket.fileno()
208
+
209
+ def close(self):
210
+ "Closes connection"
211
+ self.status = CLOSED
212
+ self.socket.close()
213
+
214
+ class TNonblockingServer:
215
+ """Non-blocking server."""
216
+ def __init__(self, processor, lsocket, inputProtocolFactory=None,
217
+ outputProtocolFactory=None, threads=10):
218
+ self.processor = processor
219
+ self.socket = lsocket
220
+ self.in_protocol = inputProtocolFactory or TBinaryProtocolFactory()
221
+ self.out_protocol = outputProtocolFactory or self.in_protocol
222
+ self.threads = int(threads)
223
+ self.clients = {}
224
+ self.tasks = Queue.Queue()
225
+ self._read, self._write = socket.socketpair()
226
+ self.prepared = False
227
+
228
+ def setNumThreads(self, num):
229
+ """Set the number of worker threads that should be created."""
230
+ # implement ThreadPool interface
231
+ assert not self.prepared, "You can't change number of threads for working server"
232
+ self.threads = num
233
+
234
+ def prepare(self):
235
+ """Prepares server for serve requests."""
236
+ self.socket.listen()
237
+ for _ in xrange(self.threads):
238
+ thread = Worker(self.tasks)
239
+ thread.setDaemon(True)
240
+ thread.start()
241
+ self.prepared = True
242
+
243
+ def wake_up(self):
244
+ """Wake up main thread.
245
+
246
+ The server usualy waits in select call in we should terminate one.
247
+ The simplest way is using socketpair.
248
+
249
+ Select always wait to read from the first socket of socketpair.
250
+
251
+ In this case, we can just write anything to the second socket from
252
+ socketpair."""
253
+ self._write.send('1')
254
+
255
+ def _select(self):
256
+ """Does select on open connections."""
257
+ readable = [self.socket.handle.fileno(), self._read.fileno()]
258
+ writable = []
259
+ for i, connection in self.clients.items():
260
+ if connection.is_readable():
261
+ readable.append(connection.fileno())
262
+ if connection.is_writeable():
263
+ writable.append(connection.fileno())
264
+ if connection.is_closed():
265
+ del self.clients[i]
266
+ return select.select(readable, writable, readable)
267
+
268
+ def handle(self):
269
+ """Handle requests.
270
+
271
+ WARNING! You must call prepare BEFORE calling handle.
272
+ """
273
+ assert self.prepared, "You have to call prepare before handle"
274
+ rset, wset, xset = self._select()
275
+ for readable in rset:
276
+ if readable == self._read.fileno():
277
+ # don't care i just need to clean readable flag
278
+ self._read.recv(1024)
279
+ elif readable == self.socket.handle.fileno():
280
+ client = self.socket.accept().handle
281
+ self.clients[client.fileno()] = Connection(client, self.wake_up)
282
+ else:
283
+ connection = self.clients[readable]
284
+ connection.read()
285
+ if connection.status == WAIT_PROCESS:
286
+ itransport = TTransport.TMemoryBuffer(connection.message)
287
+ otransport = TTransport.TMemoryBuffer()
288
+ iprot = self.in_protocol.getProtocol(itransport)
289
+ oprot = self.out_protocol.getProtocol(otransport)
290
+ self.tasks.put([self.processor, iprot, oprot,
291
+ otransport, connection.ready])
292
+ for writeable in wset:
293
+ self.clients[writeable].write()
294
+ for oob in xset:
295
+ self.clients[oob].close()
296
+ del self.clients[oob]
297
+
298
+ def close(self):
299
+ """Closes the server."""
300
+ for _ in xrange(self.threads):
301
+ self.tasks.put([None, None, None, None, None])
302
+ self.socket.close()
303
+ self.prepared = False
304
+
305
+ def serve(self):
306
+ """Serve forever."""
307
+ self.prepare()
308
+ while True:
309
+ self.handle()
@@ -0,0 +1,270 @@
1
+ #
2
+ # Licensed to the Apache Software Foundation (ASF) under one
3
+ # or more contributor license agreements. See the NOTICE file
4
+ # distributed with this work for additional information
5
+ # regarding copyright ownership. The ASF licenses this file
6
+ # to you under the Apache License, Version 2.0 (the
7
+ # "License"); you may not use this file except in compliance
8
+ # with the License. You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing,
13
+ # software distributed under the License is distributed on an
14
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ # KIND, either express or implied. See the License for the
16
+ # specific language governing permissions and limitations
17
+ # under the License.
18
+ #
19
+
20
+ import logging
21
+ import sys
22
+ import os
23
+ import traceback
24
+ import threading
25
+ import Queue
26
+
27
+ from thrift.Thrift import TProcessor
28
+ from thrift.transport import TTransport
29
+ from thrift.protocol import TBinaryProtocol
30
+
31
+ class TServer:
32
+
33
+ """Base interface for a server, which must have a serve method."""
34
+
35
+ """ 3 constructors for all servers:
36
+ 1) (processor, serverTransport)
37
+ 2) (processor, serverTransport, transportFactory, protocolFactory)
38
+ 3) (processor, serverTransport,
39
+ inputTransportFactory, outputTransportFactory,
40
+ inputProtocolFactory, outputProtocolFactory)"""
41
+ def __init__(self, *args):
42
+ if (len(args) == 2):
43
+ self.__initArgs__(args[0], args[1],
44
+ TTransport.TTransportFactoryBase(),
45
+ TTransport.TTransportFactoryBase(),
46
+ TBinaryProtocol.TBinaryProtocolFactory(),
47
+ TBinaryProtocol.TBinaryProtocolFactory())
48
+ elif (len(args) == 4):
49
+ self.__initArgs__(args[0], args[1], args[2], args[2], args[3], args[3])
50
+ elif (len(args) == 6):
51
+ self.__initArgs__(args[0], args[1], args[2], args[3], args[4], args[5])
52
+
53
+ def __initArgs__(self, processor, serverTransport,
54
+ inputTransportFactory, outputTransportFactory,
55
+ inputProtocolFactory, outputProtocolFactory):
56
+ self.processor = processor
57
+ self.serverTransport = serverTransport
58
+ self.inputTransportFactory = inputTransportFactory
59
+ self.outputTransportFactory = outputTransportFactory
60
+ self.inputProtocolFactory = inputProtocolFactory
61
+ self.outputProtocolFactory = outputProtocolFactory
62
+
63
+ def serve(self):
64
+ pass
65
+
66
+ class TSimpleServer(TServer):
67
+
68
+ """Simple single-threaded server that just pumps around one transport."""
69
+
70
+ def __init__(self, *args):
71
+ TServer.__init__(self, *args)
72
+
73
+ def serve(self):
74
+ self.serverTransport.listen()
75
+ while True:
76
+ client = self.serverTransport.accept()
77
+ itrans = self.inputTransportFactory.getTransport(client)
78
+ otrans = self.outputTransportFactory.getTransport(client)
79
+ iprot = self.inputProtocolFactory.getProtocol(itrans)
80
+ oprot = self.outputProtocolFactory.getProtocol(otrans)
81
+ try:
82
+ while True:
83
+ self.processor.process(iprot, oprot)
84
+ except TTransport.TTransportException, tx:
85
+ pass
86
+ except Exception, x:
87
+ logging.exception(x)
88
+
89
+ itrans.close()
90
+ otrans.close()
91
+
92
+ class TThreadedServer(TServer):
93
+
94
+ """Threaded server that spawns a new thread per each connection."""
95
+
96
+ def __init__(self, *args):
97
+ TServer.__init__(self, *args)
98
+
99
+ def serve(self):
100
+ self.serverTransport.listen()
101
+ while True:
102
+ try:
103
+ client = self.serverTransport.accept()
104
+ t = threading.Thread(target = self.handle, args=(client,))
105
+ t.start()
106
+ except KeyboardInterrupt:
107
+ raise
108
+ except Exception, x:
109
+ logging.exception(x)
110
+
111
+ def handle(self, client):
112
+ itrans = self.inputTransportFactory.getTransport(client)
113
+ otrans = self.outputTransportFactory.getTransport(client)
114
+ iprot = self.inputProtocolFactory.getProtocol(itrans)
115
+ oprot = self.outputProtocolFactory.getProtocol(otrans)
116
+ try:
117
+ while True:
118
+ self.processor.process(iprot, oprot)
119
+ except TTransport.TTransportException, tx:
120
+ pass
121
+ except Exception, x:
122
+ logging.exception(x)
123
+
124
+ itrans.close()
125
+ otrans.close()
126
+
127
+ class TThreadPoolServer(TServer):
128
+
129
+ """Server with a fixed size pool of threads which service requests."""
130
+
131
+ def __init__(self, *args):
132
+ TServer.__init__(self, *args)
133
+ self.clients = Queue.Queue()
134
+ self.threads = 10
135
+
136
+ def setNumThreads(self, num):
137
+ """Set the number of worker threads that should be created"""
138
+ self.threads = num
139
+
140
+ def serveThread(self):
141
+ """Loop around getting clients from the shared queue and process them."""
142
+ while True:
143
+ try:
144
+ client = self.clients.get()
145
+ self.serveClient(client)
146
+ except Exception, x:
147
+ logging.exception(x)
148
+
149
+ def serveClient(self, client):
150
+ """Process input/output from a client for as long as possible"""
151
+ itrans = self.inputTransportFactory.getTransport(client)
152
+ otrans = self.outputTransportFactory.getTransport(client)
153
+ iprot = self.inputProtocolFactory.getProtocol(itrans)
154
+ oprot = self.outputProtocolFactory.getProtocol(otrans)
155
+ try:
156
+ while True:
157
+ self.processor.process(iprot, oprot)
158
+ except TTransport.TTransportException, tx:
159
+ pass
160
+ except Exception, x:
161
+ logging.exception(x)
162
+
163
+ itrans.close()
164
+ otrans.close()
165
+
166
+ def serve(self):
167
+ """Start a fixed number of worker threads and put client into a queue"""
168
+ for i in range(self.threads):
169
+ try:
170
+ t = threading.Thread(target = self.serveThread)
171
+ t.start()
172
+ except Exception, x:
173
+ logging.exception(x)
174
+
175
+ # Pump the socket for clients
176
+ self.serverTransport.listen()
177
+ while True:
178
+ try:
179
+ client = self.serverTransport.accept()
180
+ self.clients.put(client)
181
+ except Exception, x:
182
+ logging.exception(x)
183
+
184
+
185
+ class TForkingServer(TServer):
186
+
187
+ """A Thrift server that forks a new process for each request"""
188
+ """
189
+ This is more scalable than the threaded server as it does not cause
190
+ GIL contention.
191
+
192
+ Note that this has different semantics from the threading server.
193
+ Specifically, updates to shared variables will no longer be shared.
194
+ It will also not work on windows.
195
+
196
+ This code is heavily inspired by SocketServer.ForkingMixIn in the
197
+ Python stdlib.
198
+ """
199
+
200
+ def __init__(self, *args):
201
+ TServer.__init__(self, *args)
202
+ self.children = []
203
+
204
+ def serve(self):
205
+ def try_close(file):
206
+ try:
207
+ file.close()
208
+ except IOError, e:
209
+ logging.warning(e, exc_info=True)
210
+
211
+
212
+ self.serverTransport.listen()
213
+ while True:
214
+ client = self.serverTransport.accept()
215
+ try:
216
+ pid = os.fork()
217
+
218
+ if pid: # parent
219
+ # add before collect, otherwise you race w/ waitpid
220
+ self.children.append(pid)
221
+ self.collect_children()
222
+
223
+ # Parent must close socket or the connection may not get
224
+ # closed promptly
225
+ itrans = self.inputTransportFactory.getTransport(client)
226
+ otrans = self.outputTransportFactory.getTransport(client)
227
+ try_close(itrans)
228
+ try_close(otrans)
229
+ else:
230
+ itrans = self.inputTransportFactory.getTransport(client)
231
+ otrans = self.outputTransportFactory.getTransport(client)
232
+
233
+ iprot = self.inputProtocolFactory.getProtocol(itrans)
234
+ oprot = self.outputProtocolFactory.getProtocol(otrans)
235
+
236
+ ecode = 0
237
+ try:
238
+ try:
239
+ while True:
240
+ self.processor.process(iprot, oprot)
241
+ except TTransport.TTransportException, tx:
242
+ pass
243
+ except Exception, e:
244
+ logging.exception(e)
245
+ ecode = 1
246
+ finally:
247
+ try_close(itrans)
248
+ try_close(otrans)
249
+
250
+ os._exit(ecode)
251
+
252
+ except TTransport.TTransportException, tx:
253
+ pass
254
+ except Exception, x:
255
+ logging.exception(x)
256
+
257
+
258
+ def collect_children(self):
259
+ while self.children:
260
+ try:
261
+ pid, status = os.waitpid(0, os.WNOHANG)
262
+ except os.error:
263
+ pid = None
264
+
265
+ if pid:
266
+ self.children.remove(pid)
267
+ else:
268
+ break
269
+
270
+
@@ -0,0 +1,20 @@
1
+ #
2
+ # Licensed to the Apache Software Foundation (ASF) under one
3
+ # or more contributor license agreements. See the NOTICE file
4
+ # distributed with this work for additional information
5
+ # regarding copyright ownership. The ASF licenses this file
6
+ # to you under the Apache License, Version 2.0 (the
7
+ # "License"); you may not use this file except in compliance
8
+ # with the License. You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing,
13
+ # software distributed under the License is distributed on an
14
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ # KIND, either express or implied. See the License for the
16
+ # specific language governing permissions and limitations
17
+ # under the License.
18
+ #
19
+
20
+ __all__ = ['TServer', 'TNonblockingServer']