auser-poolparty 1.2.12 → 1.3.0

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 (1097) hide show
  1. data/README.rdoc +202 -0
  2. data/Rakefile +5 -19
  3. data/VERSION.yml +2 -2
  4. data/bin/cloud +20 -14
  5. data/bin/cloud-bootstrap +8 -19
  6. data/bin/cloud-compile +28 -0
  7. data/bin/cloud-configure +13 -20
  8. data/bin/cloud-console +8 -6
  9. data/bin/cloud-contract +17 -13
  10. data/bin/cloud-expand +19 -20
  11. data/bin/cloud-list +19 -21
  12. data/bin/cloud-osxcopy +2 -3
  13. data/bin/cloud-show +11 -20
  14. data/bin/cloud-ssh +7 -11
  15. data/bin/cloud-start +19 -13
  16. data/bin/cloud-terminate +12 -18
  17. data/bin/cloud-thrift +77 -0
  18. data/bin/cloud-verify +2 -3
  19. data/bin/install-poolparty +13 -15
  20. data/config/jeweler.rb +13 -15
  21. data/examples/basic.rb +17 -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 +9 -5
  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 +264 -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/{poolparty/core → core}/time.rb +0 -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/http_request.rb +39 -0
  103. data/lib/dependency_resolvers/chef/resources/remote_directory.rb +54 -0
  104. data/lib/dependency_resolvers/chef/resources/remote_file.rb +69 -0
  105. data/lib/dependency_resolvers/chef/resources/route.rb +52 -0
  106. data/lib/dependency_resolvers/chef/resources/script.rb +62 -0
  107. data/lib/dependency_resolvers/chef.rb +228 -0
  108. data/lib/dependency_resolvers/proxy_object.rb +90 -0
  109. data/lib/keypair.rb +93 -0
  110. data/lib/mixins/askable.rb +154 -0
  111. data/lib/mixins/callbacks.rb +52 -0
  112. data/lib/mixins/delayed.rb +65 -0
  113. data/lib/mixins/pinger.rb +31 -0
  114. data/lib/mixins/printing.rb +35 -0
  115. data/lib/mixins/searchable_paths.rb +87 -0
  116. data/lib/poolparty/base.rb +232 -0
  117. data/lib/poolparty/cloud.rb +246 -0
  118. data/lib/poolparty/default.rb +32 -0
  119. data/lib/poolparty/dsl_base.rb +36 -0
  120. data/lib/poolparty/installer.rb +107 -0
  121. data/lib/poolparty/installers/ec2.rb +13 -124
  122. data/lib/poolparty/installers/vmware.rb +149 -0
  123. data/lib/poolparty/monitor.rb +61 -0
  124. data/lib/poolparty/plugin.rb +12 -0
  125. data/lib/poolparty/plugins/apache.rb +204 -0
  126. data/lib/poolparty/plugins/apache2/apache2.conf.erb +630 -0
  127. data/lib/poolparty/plugins/apache2/base.conf.erb +171 -0
  128. data/lib/poolparty/{templates → plugins}/apache2/browser_fixes.conf.erb +0 -0
  129. data/lib/poolparty/plugins/apache2/default-site.conf.erb +41 -0
  130. data/lib/poolparty/{templates → plugins}/apache2/mime-minimal.conf.erb +0 -0
  131. data/lib/poolparty/plugins/apache2/passenger_site.rb +11 -14
  132. data/lib/poolparty/plugins/apache2/php5.rb +11 -10
  133. data/lib/poolparty/plugins/apache2/virtual_host.rb +25 -19
  134. data/lib/poolparty/plugins/git/git_repository.rb +83 -0
  135. data/lib/poolparty/plugins/git.rb +8 -85
  136. data/lib/poolparty/plugins/rails/app.rb +29 -0
  137. data/lib/poolparty/plugins/rails.rb +25 -0
  138. data/lib/poolparty/pool.rb +154 -0
  139. data/lib/poolparty/pool_party_error.rb +19 -0
  140. data/lib/poolparty/pool_party_log.rb +47 -0
  141. data/lib/poolparty/resource.rb +279 -0
  142. data/lib/poolparty/resources/conditional.rb +65 -0
  143. data/lib/poolparty/resources/cron.rb +31 -22
  144. data/lib/poolparty/resources/directory.rb +27 -20
  145. data/lib/poolparty/resources/exec.rb +35 -29
  146. data/lib/poolparty/resources/file.rb +37 -43
  147. data/lib/poolparty/resources/gem_package.rb +55 -0
  148. data/lib/poolparty/resources/group.rb +37 -12
  149. data/lib/poolparty/resources/line.rb +50 -0
  150. data/lib/poolparty/resources/link.rb +49 -0
  151. data/lib/poolparty/resources/mount.rb +25 -9
  152. data/lib/poolparty/resources/package.rb +25 -11
  153. data/lib/poolparty/resources/service.rb +29 -13
  154. data/lib/poolparty/resources/user.rb +54 -29
  155. data/lib/poolparty/resources/variable.rb +30 -4
  156. data/lib/poolparty.rb +53 -127
  157. data/lib/proto/command_interface_handler.rb +31 -0
  158. data/lib/proto/gen-erl/commandInterface_thrift.erl +29 -0
  159. data/lib/proto/gen-erl/commandInterface_thrift.hrl +5 -0
  160. data/lib/proto/gen-erl/poolparty_constants.hrl +9 -0
  161. data/lib/proto/gen-erl/poolparty_types.erl +30 -0
  162. data/lib/proto/gen-erl/poolparty_types.hrl +8 -0
  163. data/lib/{poolparty/core/proc.rb → proto/gen-py/__init__.py} +0 -0
  164. data/lib/proto/gen-py/cloudthrift/CommandInterface-remote +79 -0
  165. data/lib/proto/gen-py/cloudthrift/CommandInterface.py +251 -0
  166. data/lib/proto/gen-py/cloudthrift/CommandInterface.pyc +0 -0
  167. data/lib/proto/gen-py/cloudthrift/__init__.py +1 -0
  168. data/lib/proto/gen-py/cloudthrift/__init__.pyc +0 -0
  169. data/lib/proto/gen-py/cloudthrift/constants.py +9 -0
  170. data/lib/proto/gen-py/cloudthrift/constants.pyc +0 -0
  171. data/lib/proto/gen-py/cloudthrift/ttypes.py +160 -0
  172. data/lib/proto/gen-py/cloudthrift/ttypes.pyc +0 -0
  173. data/lib/proto/gen-py/thrift/TSCons.py +33 -0
  174. data/lib/proto/gen-py/thrift/Thrift.py +123 -0
  175. data/lib/proto/gen-py/thrift/Thrift.pyc +0 -0
  176. data/lib/proto/gen-py/thrift/__init__.py +20 -0
  177. data/lib/proto/gen-py/thrift/__init__.pyc +0 -0
  178. data/lib/proto/gen-py/thrift/protocol/TBinaryProtocol.py +259 -0
  179. data/lib/proto/gen-py/thrift/protocol/TBinaryProtocol.pyc +0 -0
  180. data/lib/proto/gen-py/thrift/protocol/TProtocol.py +205 -0
  181. data/lib/proto/gen-py/thrift/protocol/TProtocol.pyc +0 -0
  182. data/lib/proto/gen-py/thrift/protocol/__init__.py +20 -0
  183. data/lib/proto/gen-py/thrift/protocol/__init__.pyc +0 -0
  184. data/lib/proto/gen-py/thrift/protocol/fastbinary.c +1203 -0
  185. data/lib/proto/gen-py/thrift/server/THttpServer.py +63 -0
  186. data/lib/proto/gen-py/thrift/server/TNonblockingServer.py +309 -0
  187. data/lib/proto/gen-py/thrift/server/TServer.py +270 -0
  188. data/lib/proto/gen-py/thrift/server/__init__.py +20 -0
  189. data/lib/proto/gen-py/thrift/transport/THttpClient.py +100 -0
  190. data/lib/proto/gen-py/thrift/transport/TSocket.py +149 -0
  191. data/lib/proto/gen-py/thrift/transport/TSocket.pyc +0 -0
  192. data/lib/proto/gen-py/thrift/transport/TTransport.py +326 -0
  193. data/lib/proto/gen-py/thrift/transport/TTransport.pyc +0 -0
  194. data/lib/proto/gen-py/thrift/transport/TTwisted.py +181 -0
  195. data/lib/proto/gen-py/thrift/transport/__init__.py +20 -0
  196. data/lib/proto/gen-py/thrift/transport/__init__.pyc +0 -0
  197. data/lib/proto/gen-rb/command_interface.rb +84 -0
  198. data/lib/proto/gen-rb/poolparty_constants.rb +10 -0
  199. data/lib/proto/gen-rb/poolparty_types.rb +45 -0
  200. data/lib/proto/poolparty.thrift +17 -0
  201. data/lib/provision/bootstrap_scripts/build_centos.sh +70 -0
  202. data/lib/provision/bootstrap_scripts/build_ubuntu.sh +75 -0
  203. data/lib/provision/bootstrap_scripts/determine_os.sh +21 -0
  204. data/lib/provision/bootstrapper.rb +44 -0
  205. data/lib/provision/configure_scripts/configure_centos.erb +7 -0
  206. data/lib/provision/configure_scripts/configure_ubuntu.erb +7 -0
  207. data/tasks/development.rake +6 -6
  208. data/tasks/poolparty.rake +12 -0
  209. data/tasks/test.rake +40 -0
  210. data/test/fixtures/bad_perms_test_key +27 -0
  211. data/test/fixtures/clouds/fake_clouds.rb +9 -0
  212. data/test/fixtures/clouds/simple_cloud.rb +13 -0
  213. data/test/fixtures/clouds/ssh_cloud.rb +11 -0
  214. data/test/fixtures/clouds/vmware_cloud.rb +16 -0
  215. data/test/fixtures/ec2/ec2-describe-instances_response_body.xml +70 -0
  216. data/test/fixtures/ec2/ec2-run-instances_response_body.xml +35 -0
  217. data/test/fixtures/ec2/ec2-terminate-instances_response_body.xml +16 -0
  218. data/test/fixtures/keys/test_key +27 -0
  219. data/test/fixtures/keys/test_pub_key +8 -0
  220. data/test/fixtures/resources/fake_plugin.rb +19 -0
  221. data/test/fixtures/resources/fake_resource.rb +18 -0
  222. data/test/fixtures/resources/random_proc_file.rb +7 -0
  223. data/test/fixtures/templates/apache_conf.erb +2 -0
  224. data/test/lib/cloud_providers/cloud_provider_instance_test.rb +68 -0
  225. data/test/lib/cloud_providers/cloud_provider_test.rb +25 -0
  226. data/test/lib/cloud_providers/connections_test.rb +71 -0
  227. data/test/lib/cloud_providers/ec2/ec2_helpers_test.rb +29 -0
  228. data/test/lib/cloud_providers/ec2/ec2_instance_test.rb +59 -0
  229. data/test/lib/cloud_providers/ec2/ec2_response_test.rb +41 -0
  230. data/test/lib/cloud_providers/ec2/ec2_test.rb +116 -0
  231. data/test/lib/cloud_providers/ssh/ssh_test.rb +61 -0
  232. data/test/lib/cloud_providers/vmware/vmware_test.rb +46 -0
  233. data/test/lib/core/array_test.rb +53 -0
  234. data/test/lib/core/hash_test.rb +41 -0
  235. data/test/lib/core/integer_test.rb +19 -0
  236. data/test/lib/core/module_test.rb +38 -0
  237. data/test/lib/core/object_test.rb +57 -0
  238. data/test/lib/core/proc_test.rb +26 -0
  239. data/test/lib/core/string_test.rb +73 -0
  240. data/test/lib/core/symbol_test.rb +26 -0
  241. data/test/lib/core/time_test.rb +51 -0
  242. data/test/lib/dependency_resolvers/base_test.rb +42 -0
  243. data/test/lib/dependency_resolvers/chef/resources/http_request_test.rb +29 -0
  244. data/test/lib/dependency_resolvers/chef/resources/remote_directory_test.rb +45 -0
  245. data/test/lib/dependency_resolvers/chef/resources/remote_file_test.rb +36 -0
  246. data/test/lib/dependency_resolvers/chef/resources/route_test.rb +37 -0
  247. data/test/lib/dependency_resolvers/chef/resources/script_test.rb +49 -0
  248. data/test/lib/dependency_resolvers/chef_test.rb +137 -0
  249. data/test/lib/dependency_resolvers/proxy_object_test.rb +75 -0
  250. data/test/lib/mixins/callbacks_test.rb +48 -0
  251. data/test/lib/mixins/delayed_test.rb +50 -0
  252. data/test/lib/mixins/searchable_paths_test.rb +83 -0
  253. data/test/lib/poolparty/base_test.rb +34 -0
  254. data/test/lib/poolparty/cloud_test.rb +139 -0
  255. data/test/lib/poolparty/default_test.rb +17 -0
  256. data/test/lib/poolparty/dsl_base_test.rb +30 -0
  257. data/test/lib/poolparty/installers/vmware_installer_test.rb +16 -0
  258. data/test/lib/poolparty/keypair_test.rb +42 -0
  259. data/test/lib/poolparty/monitor_test.rb +30 -0
  260. data/test/lib/poolparty/plugins/apache2/php5_test.rb +26 -0
  261. data/test/lib/poolparty/plugins/apache2/virtual_host_test.rb +28 -0
  262. data/test/lib/poolparty/plugins/apache_test.rb +35 -0
  263. data/test/lib/poolparty/pool_party_error_test.rb +20 -0
  264. data/test/lib/poolparty/pool_party_log_test.rb +17 -0
  265. data/test/lib/poolparty/pool_test.rb +26 -0
  266. data/test/lib/poolparty/resource_test.rb +145 -0
  267. data/test/lib/poolparty/resources/conditional_test.rb +49 -0
  268. data/test/lib/poolparty/resources/cron_test.rb +31 -0
  269. data/test/lib/poolparty/resources/directory_test.rb +21 -0
  270. data/test/lib/poolparty/resources/exec_test.rb +62 -0
  271. data/test/lib/poolparty/resources/file_test.rb +38 -0
  272. data/test/lib/poolparty/resources/group_test.rb +21 -0
  273. data/test/lib/poolparty/resources/line_test.rb +20 -0
  274. data/test/lib/poolparty/resources/link_test.rb +27 -0
  275. data/test/lib/poolparty/resources/mount_test.rb +32 -0
  276. data/test/lib/poolparty/resources/package_test.rb +28 -0
  277. data/test/lib/poolparty/resources/service_test.rb +31 -0
  278. data/test/lib/poolparty/resources/user_test.rb +33 -0
  279. data/test/lib/poolparty/resources/variable_test.rb +20 -0
  280. data/test/lib/provision/base_test.rb +16 -0
  281. data/test/lib/provision/bootstrapper_test.rb +44 -0
  282. data/test/test_helper.rb +21 -10
  283. data/test/test_methods.rb +62 -1
  284. data/vendor/gems/{suitcase → colors}/LICENSE +0 -0
  285. data/vendor/gems/colors/README.rdoc +52 -0
  286. data/vendor/gems/colors/Rakefile +56 -0
  287. data/vendor/gems/colors/VERSION.yml +4 -0
  288. data/vendor/gems/colors/colors.gemspec +29 -0
  289. data/vendor/gems/colors/lib/colors.rb +45 -0
  290. data/vendor/gems/colors/test/colors_test.rb +26 -0
  291. data/vendor/gems/colors/test/test_helper.rb +10 -0
  292. data/vendor/gems/context/History.txt +10 -0
  293. data/vendor/gems/context/License.txt +20 -0
  294. data/vendor/gems/context/Manifest.txt +26 -0
  295. data/{spec/poolparty/poolparty/test_plugins/virtual_host_template.erb → vendor/gems/context/PostInstall.txt} +0 -0
  296. data/vendor/gems/context/README.rdoc +158 -0
  297. data/vendor/gems/context/Rakefile +4 -0
  298. data/vendor/gems/context/config/hoe.rb +73 -0
  299. data/vendor/gems/context/config/requirements.rb +15 -0
  300. data/vendor/gems/context/context.gemspec +44 -0
  301. data/vendor/gems/context/countloc.rb +65 -0
  302. data/vendor/gems/context/coverage/-Library-Ruby-Gems-1_8-gems-rcov-0_8_1_2_0-lib-rcov_rb.html +1598 -0
  303. data/vendor/gems/context/coverage/index.html +441 -0
  304. data/vendor/gems/context/coverage/lib-context-context_rb.html +669 -0
  305. data/vendor/gems/context/coverage/lib-context-core_ext-string_rb.html +627 -0
  306. data/vendor/gems/context/coverage/lib-context-lifecycle_rb.html +683 -0
  307. data/vendor/gems/context/coverage/lib-context-shared_behavior_rb.html +708 -0
  308. data/vendor/gems/context/coverage/lib-context-suite_rb.html +649 -0
  309. data/vendor/gems/context/coverage/lib-context-test_rb.html +637 -0
  310. data/vendor/gems/context/coverage/lib-context-version_rb.html +619 -0
  311. data/vendor/gems/context/coverage/lib-context_rb.html +623 -0
  312. data/vendor/gems/context/lib/context/context.rb +64 -0
  313. data/vendor/gems/context/lib/context/core_ext/rails_hacks.rb +10 -0
  314. data/vendor/gems/context/lib/context/core_ext/string.rb +17 -0
  315. data/vendor/gems/context/lib/context/lifecycle.rb +103 -0
  316. data/vendor/gems/context/lib/context/shared_behavior.rb +98 -0
  317. data/vendor/gems/context/lib/context/suite.rb +39 -0
  318. data/vendor/gems/context/lib/context/test.rb +37 -0
  319. data/vendor/gems/context/lib/context/version.rb +9 -0
  320. data/vendor/gems/context/lib/context.rb +19 -0
  321. data/vendor/gems/context/setup.rb +1585 -0
  322. data/vendor/gems/context/tasks/deployment.rake +34 -0
  323. data/{tasks → vendor/gems/context/tasks}/environment.rake +0 -0
  324. data/vendor/gems/context/test/test_context.rb +57 -0
  325. data/vendor/gems/context/test/test_core_ext.rb +21 -0
  326. data/vendor/gems/context/test/test_helper.rb +2 -0
  327. data/vendor/gems/context/test/test_lifecycle.rb +224 -0
  328. data/vendor/gems/context/test/test_nested_lifecycle.rb +44 -0
  329. data/vendor/gems/context/test/test_shared.rb +116 -0
  330. data/vendor/gems/context/test/test_test.rb +23 -0
  331. data/vendor/gems/daemons/LICENSE +29 -0
  332. data/vendor/gems/daemons/README +223 -0
  333. data/vendor/gems/daemons/Rakefile +84 -0
  334. data/vendor/gems/daemons/Releases +126 -0
  335. data/vendor/gems/daemons/TODO +6 -0
  336. data/vendor/gems/daemons/examples/call/call.rb +56 -0
  337. data/vendor/gems/daemons/examples/call/call_monitor.rb +55 -0
  338. data/vendor/gems/daemons/examples/daemonize/daemonize.rb +20 -0
  339. data/vendor/gems/daemons/examples/run/ctrl_crash.rb +17 -0
  340. data/vendor/gems/daemons/examples/run/ctrl_exec.rb +16 -0
  341. data/vendor/gems/daemons/examples/run/ctrl_exit.rb +15 -0
  342. data/vendor/gems/daemons/examples/run/ctrl_keep_pid_files.rb +17 -0
  343. data/vendor/gems/daemons/examples/run/ctrl_monitor.rb +16 -0
  344. data/vendor/gems/daemons/examples/run/ctrl_multiple.rb +16 -0
  345. data/vendor/gems/daemons/examples/run/ctrl_normal.rb +12 -0
  346. data/vendor/gems/daemons/examples/run/ctrl_ontop.rb +16 -0
  347. data/vendor/gems/daemons/examples/run/ctrl_optionparser.rb +43 -0
  348. data/vendor/gems/daemons/examples/run/ctrl_proc.rb +25 -0
  349. data/vendor/gems/daemons/examples/run/ctrl_proc.rb.output +101 -0
  350. data/vendor/gems/daemons/examples/run/ctrl_proc_multiple.rb +22 -0
  351. data/vendor/gems/daemons/examples/run/ctrl_proc_multiple.rb.output +2 -0
  352. data/vendor/gems/daemons/examples/run/ctrl_proc_simple.rb +17 -0
  353. data/vendor/gems/daemons/examples/run/myserver.rb +12 -0
  354. data/vendor/gems/daemons/examples/run/myserver_crashing.rb +14 -0
  355. data/vendor/gems/daemons/examples/run/myserver_crashing.rb.output +30 -0
  356. data/vendor/gems/daemons/examples/run/myserver_exiting.rb +8 -0
  357. data/vendor/gems/daemons/lib/daemons/application.rb +372 -0
  358. data/vendor/gems/daemons/lib/daemons/application_group.rb +152 -0
  359. data/vendor/gems/daemons/lib/daemons/cmdline.rb +117 -0
  360. data/vendor/gems/daemons/lib/daemons/controller.rb +134 -0
  361. data/vendor/gems/daemons/lib/daemons/daemonize.rb +263 -0
  362. data/vendor/gems/daemons/lib/daemons/exceptions.rb +28 -0
  363. data/vendor/gems/daemons/lib/daemons/monitor.rb +127 -0
  364. data/vendor/gems/daemons/lib/daemons/pid.rb +101 -0
  365. data/vendor/gems/daemons/lib/daemons/pidfile.rb +111 -0
  366. data/vendor/gems/daemons/lib/daemons/pidmem.rb +10 -0
  367. data/vendor/gems/daemons/lib/daemons.rb +283 -0
  368. data/vendor/gems/daemons/setup.rb +1360 -0
  369. data/vendor/gems/fakeweb/CHANGELOG +163 -0
  370. data/vendor/gems/fakeweb/LICENSE.txt +281 -0
  371. data/vendor/gems/fakeweb/README.rdoc +193 -0
  372. data/vendor/gems/fakeweb/Rakefile +76 -0
  373. data/vendor/gems/fakeweb/fakeweb.gemspec +21 -0
  374. data/vendor/gems/fakeweb/lib/fake_web/ext/net_http.rb +71 -0
  375. data/vendor/gems/fakeweb/lib/fake_web/registry.rb +103 -0
  376. data/vendor/gems/fakeweb/lib/fake_web/responder.rb +113 -0
  377. data/vendor/gems/fakeweb/lib/fake_web/response.rb +10 -0
  378. data/vendor/gems/fakeweb/lib/fake_web/stub_socket.rb +15 -0
  379. data/vendor/gems/fakeweb/lib/fake_web/utility.rb +22 -0
  380. data/vendor/gems/fakeweb/lib/fake_web.rb +172 -0
  381. data/vendor/gems/fakeweb/lib/fakeweb.rb +2 -0
  382. data/vendor/gems/fakeweb/test/fixtures/google_response_from_curl +12 -0
  383. data/vendor/gems/fakeweb/test/fixtures/google_response_with_transfer_encoding +17 -0
  384. data/vendor/gems/fakeweb/test/fixtures/google_response_without_transfer_encoding +11 -0
  385. data/vendor/gems/fakeweb/test/fixtures/test_example.txt +1 -0
  386. data/vendor/gems/fakeweb/test/fixtures/test_txt_file +3 -0
  387. data/vendor/gems/fakeweb/test/test_allow_net_connect.rb +85 -0
  388. data/vendor/gems/fakeweb/test/test_deprecations.rb +54 -0
  389. data/vendor/gems/fakeweb/test/test_fake_authentication.rb +92 -0
  390. data/vendor/gems/fakeweb/test/test_fake_web.rb +518 -0
  391. data/vendor/gems/fakeweb/test/test_fake_web_open_uri.rb +58 -0
  392. data/vendor/gems/fakeweb/test/test_helper.rb +74 -0
  393. data/vendor/gems/fakeweb/test/test_missing_open_uri.rb +25 -0
  394. data/vendor/gems/fakeweb/test/test_precedence.rb +51 -0
  395. data/vendor/gems/fakeweb/test/test_query_string.rb +45 -0
  396. data/vendor/gems/fakeweb/test/test_regexes.rb +103 -0
  397. data/vendor/gems/fakeweb/test/test_response_headers.rb +73 -0
  398. data/vendor/gems/fakeweb/test/test_trailing_slashes.rb +53 -0
  399. data/vendor/gems/fakeweb/test/test_utility.rb +70 -0
  400. data/vendor/gems/gratr/Grater.xcf +0 -0
  401. data/vendor/gems/gratr/README +335 -0
  402. data/vendor/gems/gratr/Rakefile +220 -0
  403. data/vendor/gems/gratr/examples/graph_self.rb +54 -0
  404. data/vendor/gems/gratr/examples/module_graph.jpg +0 -0
  405. data/vendor/gems/gratr/examples/module_graph.rb +12 -0
  406. data/vendor/gems/gratr/examples/self_graph.dot +117 -0
  407. data/vendor/gems/gratr/examples/self_graph.jpg +0 -0
  408. data/vendor/gems/gratr/examples/visualize.dot +58 -0
  409. data/vendor/gems/gratr/examples/visualize.jpg +0 -0
  410. data/vendor/gems/gratr/examples/visualize.rb +11 -0
  411. data/vendor/gems/gratr/install.rb +49 -0
  412. data/vendor/gems/gratr/lib/gratr/adjacency_graph.rb +230 -0
  413. data/vendor/gems/gratr/lib/gratr/base.rb +34 -0
  414. data/vendor/gems/gratr/lib/gratr/biconnected.rb +116 -0
  415. data/vendor/gems/gratr/lib/gratr/chinese_postman.rb +123 -0
  416. data/vendor/gems/gratr/lib/gratr/common.rb +73 -0
  417. data/vendor/gems/gratr/lib/gratr/comparability.rb +92 -0
  418. data/vendor/gems/gratr/lib/gratr/digraph.rb +115 -0
  419. data/vendor/gems/gratr/lib/gratr/digraph_distance.rb +185 -0
  420. data/vendor/gems/gratr/lib/gratr/dot.rb +95 -0
  421. data/vendor/gems/gratr/lib/gratr/edge.rb +145 -0
  422. data/vendor/gems/gratr/lib/gratr/graph.rb +315 -0
  423. data/vendor/gems/gratr/lib/gratr/graph_api.rb +82 -0
  424. data/vendor/gems/gratr/lib/gratr/import.rb +44 -0
  425. data/vendor/gems/gratr/lib/gratr/labels.rb +103 -0
  426. data/vendor/gems/gratr/lib/gratr/maximum_flow.rb +107 -0
  427. data/vendor/gems/gratr/lib/gratr/rdot.rb +332 -0
  428. data/vendor/gems/gratr/lib/gratr/search.rb +422 -0
  429. data/vendor/gems/gratr/lib/gratr/strong_components.rb +127 -0
  430. data/vendor/gems/gratr/lib/gratr/undirected_graph.rb +153 -0
  431. data/vendor/gems/gratr/lib/gratr.rb +42 -0
  432. data/vendor/gems/gratr/lib/priority-queue/benchmark/dijkstra.rb +171 -0
  433. data/vendor/gems/gratr/lib/priority-queue/compare_comments.rb +49 -0
  434. data/vendor/gems/gratr/lib/priority-queue/ext/priority_queue/CPriorityQueue/extconf.rb +2 -0
  435. data/vendor/gems/gratr/lib/priority-queue/lib/priority_queue/c_priority_queue.rb +1 -0
  436. data/vendor/gems/gratr/lib/priority-queue/lib/priority_queue/poor_priority_queue.rb +46 -0
  437. data/vendor/gems/gratr/lib/priority-queue/lib/priority_queue/ruby_priority_queue.rb +525 -0
  438. data/vendor/gems/gratr/lib/priority-queue/lib/priority_queue.rb +14 -0
  439. data/vendor/gems/gratr/lib/priority-queue/setup.rb +1551 -0
  440. data/vendor/gems/gratr/lib/priority-queue/test/priority_queue_test.rb +371 -0
  441. data/vendor/gems/gratr/tests/TestBiconnected.rb +53 -0
  442. data/vendor/gems/gratr/tests/TestChinesePostman.rb +53 -0
  443. data/vendor/gems/gratr/tests/TestComplement.rb +54 -0
  444. data/vendor/gems/gratr/tests/TestDigraph.rb +333 -0
  445. data/vendor/gems/gratr/tests/TestDigraphDistance.rb +138 -0
  446. data/vendor/gems/gratr/tests/TestDot.rb +75 -0
  447. data/vendor/gems/gratr/tests/TestEdge.rb +171 -0
  448. data/vendor/gems/gratr/tests/TestInspection.rb +57 -0
  449. data/vendor/gems/gratr/tests/TestMultiEdge.rb +57 -0
  450. data/vendor/gems/gratr/tests/TestNeighborhood.rb +64 -0
  451. data/vendor/gems/gratr/tests/TestProperties.rb +160 -0
  452. data/vendor/gems/gratr/tests/TestSearch.rb +277 -0
  453. data/vendor/gems/gratr/tests/TestStrongComponents.rb +85 -0
  454. data/vendor/gems/gratr/tests/TestTriagulated.rb +137 -0
  455. data/vendor/gems/gratr/tests/TestUndirectedGraph.rb +219 -0
  456. data/vendor/gems/json/CHANGES +93 -0
  457. data/vendor/gems/json/GPL +340 -0
  458. data/vendor/gems/json/README +78 -0
  459. data/vendor/gems/json/RUBY +58 -0
  460. data/vendor/gems/json/Rakefile +309 -0
  461. data/vendor/gems/json/TODO +1 -0
  462. data/vendor/gems/json/VERSION +1 -0
  463. data/vendor/gems/json/benchmarks/benchmark.txt +133 -0
  464. data/vendor/gems/json/benchmarks/benchmark_generator.rb +48 -0
  465. data/vendor/gems/json/benchmarks/benchmark_parser.rb +26 -0
  466. data/vendor/gems/json/benchmarks/benchmark_rails.rb +26 -0
  467. data/vendor/gems/json/bin/edit_json.rb +10 -0
  468. data/vendor/gems/json/bin/prettify_json.rb +76 -0
  469. data/vendor/gems/json/data/example.json +1 -0
  470. data/vendor/gems/json/data/index.html +38 -0
  471. data/vendor/gems/json/data/prototype.js +4184 -0
  472. data/vendor/gems/json/ext/json/ext/generator/extconf.rb +9 -0
  473. data/vendor/gems/json/ext/json/ext/generator/generator.c +885 -0
  474. data/vendor/gems/json/ext/json/ext/generator/unicode.c +182 -0
  475. data/vendor/gems/json/ext/json/ext/generator/unicode.h +53 -0
  476. data/vendor/gems/json/ext/json/ext/parser/Makefile +181 -0
  477. data/vendor/gems/json/ext/json/ext/parser/extconf.rb +9 -0
  478. data/vendor/gems/json/ext/json/ext/parser/gem_make.out +14 -0
  479. data/vendor/gems/json/ext/json/ext/parser/parser.c +1769 -0
  480. data/vendor/gems/json/ext/json/ext/parser/parser.rl +637 -0
  481. data/vendor/gems/json/ext/json/ext/parser/unicode.c +154 -0
  482. data/vendor/gems/json/ext/json/ext/parser/unicode.h +58 -0
  483. data/vendor/gems/json/ext/json/ext/parser/unicode.o +0 -0
  484. data/vendor/gems/json/install.rb +26 -0
  485. data/vendor/gems/json/lib/json/Array.xpm +21 -0
  486. data/vendor/gems/json/lib/json/FalseClass.xpm +21 -0
  487. data/vendor/gems/json/lib/json/Hash.xpm +21 -0
  488. data/vendor/gems/json/lib/json/Key.xpm +73 -0
  489. data/vendor/gems/json/lib/json/NilClass.xpm +21 -0
  490. data/vendor/gems/json/lib/json/Numeric.xpm +28 -0
  491. data/vendor/gems/json/lib/json/String.xpm +96 -0
  492. data/vendor/gems/json/lib/json/TrueClass.xpm +21 -0
  493. data/vendor/gems/json/lib/json/add/core.rb +135 -0
  494. data/vendor/gems/json/lib/json/add/rails.rb +58 -0
  495. data/vendor/gems/json/lib/json/common.rb +354 -0
  496. data/vendor/gems/json/lib/json/editor.rb +1362 -0
  497. data/vendor/gems/json/lib/json/ext.rb +13 -0
  498. data/vendor/gems/json/lib/json/json.xpm +1499 -0
  499. data/vendor/gems/json/lib/json/pure/generator.rb +394 -0
  500. data/vendor/gems/json/lib/json/pure/parser.rb +259 -0
  501. data/vendor/gems/json/lib/json/pure.rb +75 -0
  502. data/vendor/gems/json/lib/json/version.rb +9 -0
  503. data/vendor/gems/json/lib/json.rb +235 -0
  504. data/vendor/gems/json/tests/fixtures/fail1.json +1 -0
  505. data/vendor/gems/json/tests/fixtures/fail10.json +1 -0
  506. data/vendor/gems/json/tests/fixtures/fail11.json +1 -0
  507. data/vendor/gems/json/tests/fixtures/fail12.json +1 -0
  508. data/vendor/gems/json/tests/fixtures/fail13.json +1 -0
  509. data/vendor/gems/json/tests/fixtures/fail14.json +1 -0
  510. data/vendor/gems/json/tests/fixtures/fail18.json +1 -0
  511. data/vendor/gems/json/tests/fixtures/fail19.json +1 -0
  512. data/vendor/gems/json/tests/fixtures/fail2.json +1 -0
  513. data/vendor/gems/json/tests/fixtures/fail20.json +1 -0
  514. data/vendor/gems/json/tests/fixtures/fail21.json +1 -0
  515. data/vendor/gems/json/tests/fixtures/fail22.json +1 -0
  516. data/vendor/gems/json/tests/fixtures/fail23.json +1 -0
  517. data/vendor/gems/json/tests/fixtures/fail24.json +1 -0
  518. data/vendor/gems/json/tests/fixtures/fail25.json +1 -0
  519. data/vendor/gems/json/tests/fixtures/fail27.json +2 -0
  520. data/vendor/gems/json/tests/fixtures/fail28.json +2 -0
  521. data/vendor/gems/json/tests/fixtures/fail3.json +1 -0
  522. data/vendor/gems/json/tests/fixtures/fail4.json +1 -0
  523. data/vendor/gems/json/tests/fixtures/fail5.json +1 -0
  524. data/vendor/gems/json/tests/fixtures/fail6.json +1 -0
  525. data/vendor/gems/json/tests/fixtures/fail7.json +1 -0
  526. data/vendor/gems/json/tests/fixtures/fail8.json +1 -0
  527. data/vendor/gems/json/tests/fixtures/fail9.json +1 -0
  528. data/vendor/gems/json/tests/fixtures/pass1.json +56 -0
  529. data/vendor/gems/json/tests/fixtures/pass15.json +1 -0
  530. data/vendor/gems/json/tests/fixtures/pass16.json +1 -0
  531. data/vendor/gems/json/tests/fixtures/pass17.json +1 -0
  532. data/vendor/gems/json/tests/fixtures/pass2.json +1 -0
  533. data/vendor/gems/json/tests/fixtures/pass26.json +1 -0
  534. data/vendor/gems/json/tests/fixtures/pass3.json +6 -0
  535. data/vendor/gems/json/tests/runner.rb +25 -0
  536. data/vendor/gems/json/tests/test_json.rb +293 -0
  537. data/vendor/gems/json/tests/test_json_addition.rb +161 -0
  538. data/vendor/gems/json/tests/test_json_fixtures.rb +30 -0
  539. data/vendor/gems/json/tests/test_json_generate.rb +100 -0
  540. data/vendor/gems/json/tests/test_json_rails.rb +118 -0
  541. data/vendor/gems/json/tests/test_json_unicode.rb +61 -0
  542. data/vendor/gems/json/tools/fuzz.rb +140 -0
  543. data/vendor/gems/json/tools/server.rb +62 -0
  544. data/vendor/gems/parenting/Rakefile +17 -1
  545. data/vendor/gems/parenting/lib/parenting/parenting.rb +13 -6
  546. data/vendor/gems/right_aws/History.txt +246 -0
  547. data/vendor/gems/right_aws/Manifest.txt +34 -0
  548. data/vendor/gems/right_aws/README.txt +166 -0
  549. data/vendor/gems/right_aws/Rakefile +112 -0
  550. data/vendor/gems/right_aws/lib/acf/right_acf_interface.rb +379 -0
  551. data/vendor/gems/right_aws/lib/awsbase/benchmark_fix.rb +39 -0
  552. data/vendor/gems/right_aws/lib/awsbase/right_awsbase.rb +797 -0
  553. data/vendor/gems/right_aws/lib/awsbase/support.rb +111 -0
  554. data/vendor/gems/right_aws/lib/ec2/right_ec2.rb +1737 -0
  555. data/vendor/gems/right_aws/lib/right_aws.rb +69 -0
  556. data/vendor/gems/right_aws/lib/s3/right_s3.rb +1094 -0
  557. data/vendor/gems/right_aws/lib/s3/right_s3_interface.rb +1175 -0
  558. data/vendor/gems/right_aws/lib/sdb/active_sdb.rb +930 -0
  559. data/vendor/gems/right_aws/lib/sdb/right_sdb_interface.rb +698 -0
  560. data/vendor/gems/right_aws/lib/sqs/right_sqs.rb +388 -0
  561. data/vendor/gems/right_aws/lib/sqs/right_sqs_gen2.rb +286 -0
  562. data/vendor/gems/right_aws/lib/sqs/right_sqs_gen2_interface.rb +444 -0
  563. data/vendor/gems/right_aws/lib/sqs/right_sqs_interface.rb +596 -0
  564. data/vendor/gems/right_aws/test/acf/test_helper.rb +2 -0
  565. data/vendor/gems/right_aws/test/acf/test_right_acf.rb +146 -0
  566. data/vendor/gems/right_aws/test/ec2/test_helper.rb +2 -0
  567. data/vendor/gems/right_aws/test/ec2/test_right_ec2.rb +108 -0
  568. data/vendor/gems/right_aws/test/http_connection.rb +87 -0
  569. data/vendor/gems/right_aws/test/s3/test_helper.rb +2 -0
  570. data/vendor/gems/right_aws/test/s3/test_right_s3.rb +419 -0
  571. data/vendor/gems/right_aws/test/s3/test_right_s3_stubbed.rb +95 -0
  572. data/vendor/gems/right_aws/test/sdb/test_active_sdb.rb +299 -0
  573. data/vendor/gems/right_aws/test/sdb/test_helper.rb +3 -0
  574. data/vendor/gems/right_aws/test/sdb/test_right_sdb.rb +247 -0
  575. data/vendor/gems/right_aws/test/sqs/test_helper.rb +2 -0
  576. data/vendor/gems/right_aws/test/sqs/test_right_sqs.rb +291 -0
  577. data/vendor/gems/right_aws/test/sqs/test_right_sqs_gen2.rb +209 -0
  578. data/vendor/gems/right_aws/test/test_credentials.rb +37 -0
  579. data/vendor/gems/right_aws/test/ts_right_aws.rb +14 -0
  580. data/vendor/gems/right_http_connection/History.txt +59 -0
  581. data/vendor/gems/right_http_connection/Manifest.txt +7 -0
  582. data/vendor/gems/right_http_connection/README.txt +54 -0
  583. data/vendor/gems/right_http_connection/Rakefile +103 -0
  584. data/vendor/gems/right_http_connection/lib/net_fix.rb +160 -0
  585. data/vendor/gems/right_http_connection/lib/right_http_connection.rb +442 -0
  586. data/vendor/gems/right_http_connection/right_http_connection.gemspec +31 -0
  587. data/vendor/gems/right_http_connection/setup.rb +1585 -0
  588. data/vendor/gems/shoulda/CONTRIBUTION_GUIDELINES.rdoc +10 -0
  589. data/vendor/gems/shoulda/MIT-LICENSE +22 -0
  590. data/vendor/gems/shoulda/README.rdoc +171 -0
  591. data/vendor/gems/shoulda/Rakefile +72 -0
  592. data/vendor/gems/shoulda/bin/convert_to_should_syntax +42 -0
  593. data/vendor/gems/shoulda/init.rb +1 -0
  594. data/vendor/gems/shoulda/lib/shoulda/action_controller/macros.rb +240 -0
  595. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/assign_to_matcher.rb +109 -0
  596. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/filter_param_matcher.rb +57 -0
  597. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/render_with_layout_matcher.rb +81 -0
  598. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/respond_with_content_type_matcher.rb +74 -0
  599. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/respond_with_matcher.rb +81 -0
  600. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/route_matcher.rb +93 -0
  601. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/set_session_matcher.rb +87 -0
  602. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers/set_the_flash_matcher.rb +85 -0
  603. data/vendor/gems/shoulda/lib/shoulda/action_controller/matchers.rb +37 -0
  604. data/vendor/gems/shoulda/lib/shoulda/action_controller.rb +26 -0
  605. data/vendor/gems/shoulda/lib/shoulda/action_mailer/assertions.rb +38 -0
  606. data/vendor/gems/shoulda/lib/shoulda/action_mailer.rb +10 -0
  607. data/vendor/gems/shoulda/lib/shoulda/action_view/macros.rb +61 -0
  608. data/vendor/gems/shoulda/lib/shoulda/action_view.rb +10 -0
  609. data/vendor/gems/shoulda/lib/shoulda/active_record/assertions.rb +69 -0
  610. data/vendor/gems/shoulda/lib/shoulda/active_record/helpers.rb +27 -0
  611. data/vendor/gems/shoulda/lib/shoulda/active_record/macros.rb +512 -0
  612. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/allow_mass_assignment_of_matcher.rb +83 -0
  613. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/allow_value_matcher.rb +102 -0
  614. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/association_matcher.rb +226 -0
  615. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/ensure_inclusion_of_matcher.rb +87 -0
  616. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/ensure_length_of_matcher.rb +141 -0
  617. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/have_db_column_matcher.rb +169 -0
  618. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/have_db_index_matcher.rb +112 -0
  619. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/have_named_scope_matcher.rb +128 -0
  620. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/have_readonly_attribute_matcher.rb +59 -0
  621. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/validate_acceptance_of_matcher.rb +41 -0
  622. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/validate_format_of_matcher.rb +67 -0
  623. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/validate_numericality_of_matcher.rb +39 -0
  624. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/validate_presence_of_matcher.rb +60 -0
  625. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/validate_uniqueness_of_matcher.rb +148 -0
  626. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers/validation_matcher.rb +57 -0
  627. data/vendor/gems/shoulda/lib/shoulda/active_record/matchers.rb +43 -0
  628. data/vendor/gems/shoulda/lib/shoulda/active_record.rb +16 -0
  629. data/vendor/gems/shoulda/lib/shoulda/assertions.rb +71 -0
  630. data/vendor/gems/shoulda/lib/shoulda/autoload_macros.rb +46 -0
  631. data/vendor/gems/shoulda/lib/shoulda/context.rb +402 -0
  632. data/vendor/gems/shoulda/lib/shoulda/helpers.rb +8 -0
  633. data/vendor/gems/shoulda/lib/shoulda/macros.rb +133 -0
  634. data/vendor/gems/shoulda/lib/shoulda/private_helpers.rb +13 -0
  635. data/vendor/gems/shoulda/lib/shoulda/proc_extensions.rb +14 -0
  636. data/vendor/gems/shoulda/lib/shoulda/rails.rb +13 -0
  637. data/vendor/gems/shoulda/lib/shoulda/rspec.rb +11 -0
  638. data/vendor/gems/shoulda/lib/shoulda/tasks/list_tests.rake +29 -0
  639. data/vendor/gems/shoulda/lib/shoulda/tasks/yaml_to_shoulda.rake +28 -0
  640. data/vendor/gems/shoulda/lib/shoulda/tasks.rb +3 -0
  641. data/vendor/gems/shoulda/lib/shoulda/test_unit.rb +22 -0
  642. data/vendor/gems/shoulda/lib/shoulda.rb +9 -0
  643. data/vendor/gems/shoulda/rails/init.rb +7 -0
  644. data/vendor/gems/shoulda/shoulda.gemspec +31 -0
  645. data/vendor/gems/shoulda/tasks/shoulda.rake +1 -0
  646. data/vendor/gems/shoulda/test/README +36 -0
  647. data/vendor/gems/shoulda/test/fail_macros.rb +39 -0
  648. data/vendor/gems/shoulda/test/fixtures/addresses.yml +3 -0
  649. data/vendor/gems/shoulda/test/fixtures/friendships.yml +0 -0
  650. data/vendor/gems/shoulda/test/fixtures/posts.yml +5 -0
  651. data/vendor/gems/shoulda/test/fixtures/products.yml +0 -0
  652. data/vendor/gems/shoulda/test/fixtures/taggings.yml +0 -0
  653. data/vendor/gems/shoulda/test/fixtures/tags.yml +9 -0
  654. data/vendor/gems/shoulda/test/fixtures/users.yml +6 -0
  655. data/vendor/gems/shoulda/test/functional/posts_controller_test.rb +121 -0
  656. data/vendor/gems/shoulda/test/functional/users_controller_test.rb +19 -0
  657. data/vendor/gems/shoulda/test/matchers/active_record/allow_mass_assignment_of_matcher_test.rb +68 -0
  658. data/vendor/gems/shoulda/test/matchers/active_record/allow_value_matcher_test.rb +64 -0
  659. data/vendor/gems/shoulda/test/matchers/active_record/association_matcher_test.rb +263 -0
  660. data/vendor/gems/shoulda/test/matchers/active_record/ensure_inclusion_of_matcher_test.rb +80 -0
  661. data/vendor/gems/shoulda/test/matchers/active_record/ensure_length_of_matcher_test.rb +158 -0
  662. data/vendor/gems/shoulda/test/matchers/active_record/have_db_column_matcher_test.rb +169 -0
  663. data/vendor/gems/shoulda/test/matchers/active_record/have_db_index_matcher_test.rb +91 -0
  664. data/vendor/gems/shoulda/test/matchers/active_record/have_named_scope_matcher_test.rb +65 -0
  665. data/vendor/gems/shoulda/test/matchers/active_record/have_readonly_attributes_matcher_test.rb +29 -0
  666. data/vendor/gems/shoulda/test/matchers/active_record/validate_acceptance_of_matcher_test.rb +44 -0
  667. data/vendor/gems/shoulda/test/matchers/active_record/validate_format_of_matcher_test.rb +39 -0
  668. data/vendor/gems/shoulda/test/matchers/active_record/validate_numericality_of_matcher_test.rb +52 -0
  669. data/vendor/gems/shoulda/test/matchers/active_record/validate_presence_of_matcher_test.rb +86 -0
  670. data/vendor/gems/shoulda/test/matchers/active_record/validate_uniqueness_of_matcher_test.rb +147 -0
  671. data/vendor/gems/shoulda/test/matchers/controller/assign_to_matcher_test.rb +35 -0
  672. data/vendor/gems/shoulda/test/matchers/controller/filter_param_matcher_test.rb +32 -0
  673. data/vendor/gems/shoulda/test/matchers/controller/render_with_layout_matcher_test.rb +33 -0
  674. data/vendor/gems/shoulda/test/matchers/controller/respond_with_content_type_matcher_test.rb +32 -0
  675. data/vendor/gems/shoulda/test/matchers/controller/respond_with_matcher_test.rb +106 -0
  676. data/vendor/gems/shoulda/test/matchers/controller/route_matcher_test.rb +58 -0
  677. data/vendor/gems/shoulda/test/matchers/controller/set_session_matcher_test.rb +38 -0
  678. data/vendor/gems/shoulda/test/matchers/controller/set_the_flash_matcher.rb +41 -0
  679. data/vendor/gems/shoulda/test/model_builder.rb +106 -0
  680. data/vendor/gems/shoulda/test/other/autoload_macro_test.rb +18 -0
  681. data/vendor/gems/shoulda/test/other/context_test.rb +189 -0
  682. data/vendor/gems/shoulda/test/other/convert_to_should_syntax_test.rb +63 -0
  683. data/vendor/gems/shoulda/test/other/helpers_test.rb +340 -0
  684. data/vendor/gems/shoulda/test/other/private_helpers_test.rb +32 -0
  685. data/vendor/gems/shoulda/test/other/should_test.rb +271 -0
  686. data/vendor/gems/shoulda/test/rails_root/app/controllers/application_controller.rb +25 -0
  687. data/vendor/gems/shoulda/test/rails_root/app/controllers/posts_controller.rb +87 -0
  688. data/vendor/gems/shoulda/test/rails_root/app/controllers/users_controller.rb +84 -0
  689. data/vendor/gems/shoulda/test/rails_root/app/helpers/application_helper.rb +3 -0
  690. data/vendor/gems/shoulda/test/rails_root/app/helpers/posts_helper.rb +2 -0
  691. data/vendor/gems/shoulda/test/rails_root/app/helpers/users_helper.rb +2 -0
  692. data/vendor/gems/shoulda/test/rails_root/app/models/address.rb +7 -0
  693. data/vendor/gems/shoulda/test/rails_root/app/models/flea.rb +3 -0
  694. data/vendor/gems/shoulda/test/rails_root/app/models/friendship.rb +4 -0
  695. data/vendor/gems/shoulda/test/rails_root/app/models/pets/cat.rb +7 -0
  696. data/vendor/gems/shoulda/test/rails_root/app/models/pets/dog.rb +10 -0
  697. data/vendor/gems/shoulda/test/rails_root/app/models/post.rb +12 -0
  698. data/vendor/gems/shoulda/test/rails_root/app/models/product.rb +12 -0
  699. data/vendor/gems/shoulda/test/rails_root/app/models/profile.rb +2 -0
  700. data/vendor/gems/shoulda/test/rails_root/app/models/registration.rb +2 -0
  701. data/vendor/gems/shoulda/test/rails_root/app/models/tag.rb +8 -0
  702. data/vendor/gems/shoulda/test/rails_root/app/models/tagging.rb +4 -0
  703. data/vendor/gems/shoulda/test/rails_root/app/models/treat.rb +3 -0
  704. data/vendor/gems/shoulda/test/rails_root/app/models/user.rb +32 -0
  705. data/vendor/gems/shoulda/test/rails_root/app/views/layouts/posts.rhtml +19 -0
  706. data/vendor/gems/shoulda/test/rails_root/app/views/layouts/users.rhtml +17 -0
  707. data/vendor/gems/shoulda/test/rails_root/app/views/layouts/wide.html.erb +1 -0
  708. data/vendor/gems/shoulda/test/rails_root/app/views/posts/edit.rhtml +27 -0
  709. data/vendor/gems/shoulda/test/rails_root/app/views/posts/index.rhtml +25 -0
  710. data/vendor/gems/shoulda/test/rails_root/app/views/posts/new.rhtml +26 -0
  711. data/vendor/gems/shoulda/test/rails_root/app/views/posts/show.rhtml +18 -0
  712. data/vendor/gems/shoulda/test/rails_root/app/views/users/edit.rhtml +22 -0
  713. data/vendor/gems/shoulda/test/rails_root/app/views/users/index.rhtml +22 -0
  714. data/vendor/gems/shoulda/test/rails_root/app/views/users/new.rhtml +21 -0
  715. data/vendor/gems/shoulda/test/rails_root/app/views/users/show.rhtml +13 -0
  716. data/vendor/gems/shoulda/test/rails_root/config/boot.rb +110 -0
  717. data/vendor/gems/shoulda/test/rails_root/config/database.yml +4 -0
  718. data/vendor/gems/shoulda/test/rails_root/config/environment.rb +18 -0
  719. data/vendor/gems/shoulda/test/rails_root/config/environments/test.rb +0 -0
  720. data/vendor/gems/shoulda/test/rails_root/config/initializers/new_rails_defaults.rb +15 -0
  721. data/vendor/gems/shoulda/test/rails_root/config/initializers/shoulda.rb +8 -0
  722. data/vendor/gems/shoulda/test/rails_root/config/routes.rb +6 -0
  723. data/vendor/gems/shoulda/test/rails_root/db/migrate/001_create_users.rb +19 -0
  724. data/vendor/gems/shoulda/test/rails_root/db/migrate/002_create_posts.rb +13 -0
  725. data/vendor/gems/shoulda/test/rails_root/db/migrate/003_create_taggings.rb +12 -0
  726. data/vendor/gems/shoulda/test/rails_root/db/migrate/004_create_tags.rb +11 -0
  727. data/vendor/gems/shoulda/test/rails_root/db/migrate/005_create_dogs.rb +12 -0
  728. data/vendor/gems/shoulda/test/rails_root/db/migrate/006_create_addresses.rb +14 -0
  729. data/vendor/gems/shoulda/test/rails_root/db/migrate/007_create_fleas.rb +11 -0
  730. data/vendor/gems/shoulda/test/rails_root/db/migrate/008_create_dogs_fleas.rb +12 -0
  731. data/vendor/gems/shoulda/test/rails_root/db/migrate/009_create_products.rb +17 -0
  732. data/vendor/gems/shoulda/test/rails_root/db/migrate/010_create_friendships.rb +14 -0
  733. data/vendor/gems/shoulda/test/rails_root/db/migrate/011_create_treats.rb +12 -0
  734. data/vendor/gems/shoulda/test/rails_root/db/migrate/20090506203502_create_profiles.rb +12 -0
  735. data/vendor/gems/shoulda/test/rails_root/db/migrate/20090506203536_create_registrations.rb +14 -0
  736. data/vendor/gems/shoulda/test/rails_root/db/migrate/20090513104502_create_cats.rb +12 -0
  737. data/vendor/gems/shoulda/test/rails_root/db/schema.rb +0 -0
  738. data/vendor/gems/shoulda/test/rails_root/public/404.html +30 -0
  739. data/vendor/gems/shoulda/test/rails_root/public/422.html +30 -0
  740. data/vendor/gems/shoulda/test/rails_root/public/500.html +30 -0
  741. data/vendor/gems/shoulda/test/rails_root/script/console +3 -0
  742. data/vendor/gems/shoulda/test/rails_root/script/generate +3 -0
  743. data/vendor/gems/shoulda/test/rails_root/test/shoulda_macros/custom_macro.rb +6 -0
  744. data/vendor/gems/shoulda/test/rails_root/vendor/gems/gem_with_macro-0.0.1/shoulda_macros/gem_macro.rb +6 -0
  745. data/vendor/gems/shoulda/test/rails_root/vendor/plugins/plugin_with_macro/shoulda_macros/plugin_macro.rb +6 -0
  746. data/vendor/gems/shoulda/test/rspec_test.rb +207 -0
  747. data/vendor/gems/shoulda/test/test_helper.rb +28 -0
  748. data/vendor/gems/shoulda/test/unit/address_test.rb +10 -0
  749. data/vendor/gems/shoulda/test/unit/cat_test.rb +7 -0
  750. data/vendor/gems/shoulda/test/unit/dog_test.rb +9 -0
  751. data/vendor/gems/shoulda/test/unit/flea_test.rb +6 -0
  752. data/vendor/gems/shoulda/test/unit/friendship_test.rb +6 -0
  753. data/vendor/gems/shoulda/test/unit/post_test.rb +19 -0
  754. data/vendor/gems/shoulda/test/unit/product_test.rb +23 -0
  755. data/vendor/gems/shoulda/test/unit/tag_test.rb +15 -0
  756. data/vendor/gems/shoulda/test/unit/tagging_test.rb +6 -0
  757. data/vendor/gems/shoulda/test/unit/user_test.rb +80 -0
  758. data/vendor/gems/trollop/History.txt +0 -13
  759. data/vendor/gems/trollop/README.txt +1 -3
  760. data/vendor/gems/trollop/lib/trollop.rb +159 -199
  761. data/vendor/gems/trollop/test/test_trollop.rb +13 -98
  762. metadata +786 -528
  763. data/History.txt +0 -38
  764. data/PostInstall.txt +0 -19
  765. data/README.txt +0 -67
  766. data/bin/cloud-provision +0 -45
  767. data/bin/cloud-run +0 -37
  768. data/bin/cloud-setup-dev +0 -36
  769. data/bin/server-butterfly +0 -25
  770. data/bin/server-cloud-elections +0 -31
  771. data/bin/server-ensure-provisioning +0 -33
  772. data/bin/server-fire-cmd +0 -14
  773. data/bin/server-get-load +0 -15
  774. data/bin/server-list-active +0 -32
  775. data/bin/server-manage-election +0 -58
  776. data/bin/server-monitor.ru +0 -42
  777. data/bin/server-query-agent +0 -15
  778. data/bin/server-rerun +0 -23
  779. data/bin/server-send-command +0 -18
  780. data/bin/server-show-stats +0 -17
  781. data/bin/server-write-new-nodes +0 -26
  782. data/examples/fairchild.rb +0 -37
  783. data/examples/fairchild_chef.rb +0 -19
  784. data/examples/maize.rb +0 -37
  785. data/examples/metavirt_cloud.rb +0 -33
  786. data/examples/paparazzi.conf.erb +0 -21
  787. data/examples/plugin_without_plugin_directory.rb +0 -12
  788. data/examples/vmrun_cloud.rb +0 -17
  789. data/generators/poolspec/USAGE +0 -5
  790. data/generators/poolspec/poolspec_generator.rb +0 -58
  791. data/generators/poolspec/templates/pool_spec_template.erb +0 -9
  792. data/lib/poolparty/aska.rb +0 -144
  793. data/lib/poolparty/core/array.rb +0 -60
  794. data/lib/poolparty/core/class.rb +0 -26
  795. data/lib/poolparty/core/exception.rb +0 -10
  796. data/lib/poolparty/core/float.rb +0 -13
  797. data/lib/poolparty/core/hash.rb +0 -139
  798. data/lib/poolparty/core/integer.rb +0 -11
  799. data/lib/poolparty/core/kernel.rb +0 -66
  800. data/lib/poolparty/core/my_open_struct.rb +0 -18
  801. data/lib/poolparty/core/nil.rb +0 -8
  802. data/lib/poolparty/core/object.rb +0 -125
  803. data/lib/poolparty/core/ordered_hash.rb +0 -99
  804. data/lib/poolparty/core/string.rb +0 -213
  805. data/lib/poolparty/core/symbol.rb +0 -27
  806. data/lib/poolparty/dependencies.rb +0 -49
  807. data/lib/poolparty/dependency_resolver/chef_resolver.rb +0 -254
  808. data/lib/poolparty/dependency_resolver/dependency_resolver.rb +0 -42
  809. data/lib/poolparty/dependency_resolver/dependency_resolver_cloud_extensions.rb +0 -29
  810. data/lib/poolparty/dependency_resolver/puppet.rb +0 -74
  811. data/lib/poolparty/dependency_resolver/puppet_resolver.rb +0 -166
  812. data/lib/poolparty/exceptions/CloudNotFoundException.rb +0 -7
  813. data/lib/poolparty/exceptions/LoadRulesException.rb +0 -7
  814. data/lib/poolparty/exceptions/MasterException.rb +0 -10
  815. data/lib/poolparty/exceptions/ProvisionerException.rb +0 -5
  816. data/lib/poolparty/exceptions/RemoteException.rb +0 -12
  817. data/lib/poolparty/exceptions/ResourceException.rb +0 -7
  818. data/lib/poolparty/exceptions/RuntimeException.rb +0 -7
  819. data/lib/poolparty/exceptions/SpecException.rb +0 -7
  820. data/lib/poolparty/exceptions/TemplateNotFound.rb +0 -7
  821. data/lib/poolparty/exceptions/UnacceptableCommand.rb +0 -5
  822. data/lib/poolparty/exceptions/dependency_resolver_exception.rb +0 -5
  823. data/lib/poolparty/exceptions/package_exception.rb +0 -7
  824. data/lib/poolparty/extra/duration.rb +0 -96
  825. data/lib/poolparty/helpers/binary.rb +0 -70
  826. data/lib/poolparty/helpers/console.rb +0 -43
  827. data/lib/poolparty/helpers/hash_printer.rb +0 -44
  828. data/lib/poolparty/helpers/loading.rb +0 -4
  829. data/lib/poolparty/helpers/nice_printer.rb +0 -36
  830. data/lib/poolparty/helpers/optioner.rb +0 -161
  831. data/lib/poolparty/helpers/ruberl.rb +0 -33
  832. data/lib/poolparty/installers/base_installer.rb +0 -113
  833. data/lib/poolparty/installers/vmrun.rb +0 -144
  834. data/lib/poolparty/lite.rb +0 -33
  835. data/lib/poolparty/modules/callbacks.rb +0 -57
  836. data/lib/poolparty/modules/cloud_dsl.rb +0 -38
  837. data/lib/poolparty/modules/cloud_resourcer.rb +0 -110
  838. data/lib/poolparty/modules/daemonizable.rb +0 -140
  839. data/lib/poolparty/modules/definable_resource.rb +0 -53
  840. data/lib/poolparty/modules/file_writer.rb +0 -95
  841. data/lib/poolparty/modules/output.rb +0 -13
  842. data/lib/poolparty/modules/pinger.rb +0 -35
  843. data/lib/poolparty/modules/pretty_printer.rb +0 -40
  844. data/lib/poolparty/modules/resourcing_dsl.rb +0 -50
  845. data/lib/poolparty/modules/s3_string.rb +0 -32
  846. data/lib/poolparty/modules/safe_instance.rb +0 -31
  847. data/lib/poolparty/modules/searchable_paths.rb +0 -100
  848. data/lib/poolparty/modules/thread_pool.rb +0 -107
  849. data/lib/poolparty/modules/user_helpers.rb +0 -20
  850. data/lib/poolparty/monitors/base_monitor.rb +0 -97
  851. data/lib/poolparty/monitors/monitor_daemon.rb +0 -168
  852. data/lib/poolparty/monitors/monitor_rack.rb +0 -137
  853. data/lib/poolparty/monitors/monitors/clock_monitor.rb +0 -20
  854. data/lib/poolparty/monitors/monitors/cloud_monitor.rb +0 -34
  855. data/lib/poolparty/monitors/monitors/elections_monitor.rb +0 -76
  856. data/lib/poolparty/monitors/monitors/favicon_monitor.rb +0 -12
  857. data/lib/poolparty/monitors/monitors/load_monitor.rb +0 -9
  858. data/lib/poolparty/monitors/monitors/memory_monitor.rb +0 -50
  859. data/lib/poolparty/monitors/monitors/neighborhood_monitor.rb +0 -80
  860. data/lib/poolparty/monitors/monitors/stats_monitor.rb +0 -206
  861. data/lib/poolparty/net/init.rb +0 -16
  862. data/lib/poolparty/net/remote_instance.rb +0 -93
  863. data/lib/poolparty/net/remoter/cloud_control.rb +0 -24
  864. data/lib/poolparty/net/remoter/connections.rb +0 -177
  865. data/lib/poolparty/net/remoter/interactive.rb +0 -62
  866. data/lib/poolparty/net/remoter_base.rb +0 -262
  867. data/lib/poolparty/net/remoter_bases/ec2/ec2.rb +0 -300
  868. data/lib/poolparty/net/remoter_bases/ec2/ec2_remote_instance.rb +0 -64
  869. data/lib/poolparty/net/remoter_bases/ec2/ec2_response_object.rb +0 -129
  870. data/lib/poolparty/net/remoter_bases/libvirt/libvirt.rb +0 -73
  871. data/lib/poolparty/net/remoter_bases/libvirt/libvirt_instance.rb +0 -64
  872. data/lib/poolparty/net/remoter_bases/metavirt/metavirt.rb +0 -110
  873. data/lib/poolparty/net/remoter_bases/metavirt/metavirt_instance.rb +0 -37
  874. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vm_disk.rb +0 -12
  875. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx.rb +0 -33
  876. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx_file.rb +0 -117
  877. data/lib/poolparty/net/remoter_bases/vmrun/vmrun.rb +0 -181
  878. data/lib/poolparty/net/remoter_bases/vmrun/vmrun_instance.rb +0 -87
  879. data/lib/poolparty/plugins/apache2/apache.rb +0 -266
  880. data/lib/poolparty/plugins/authorized_key.rb +0 -29
  881. data/lib/poolparty/plugins/bind.rb +0 -10
  882. data/lib/poolparty/plugins/chef/chef.rb +0 -161
  883. data/lib/poolparty/plugins/chef/chef_deploy.rb +0 -55
  884. data/lib/poolparty/plugins/chef/chef_deploy_definition.rb +0 -32
  885. data/lib/poolparty/plugins/chef/chef_library.rb +0 -7
  886. data/lib/poolparty/plugins/chef/chef_recipe.rb +0 -7
  887. data/lib/poolparty/plugins/chef/include_chef_recipe.rb +0 -14
  888. data/lib/poolparty/plugins/deploy_directory.rb +0 -62
  889. data/lib/poolparty/plugins/gem_package.rb +0 -65
  890. data/lib/poolparty/plugins/haproxy.rb +0 -60
  891. data/lib/poolparty/plugins/heartbeat.rb +0 -16
  892. data/lib/poolparty/plugins/host.rb +0 -39
  893. data/lib/poolparty/plugins/line_in_file.rb +0 -36
  894. data/lib/poolparty/plugins/plugin_template.rb +0 -13
  895. data/lib/poolparty/plugins/poolparty_base_packages.rb +0 -14
  896. data/lib/poolparty/plugins/rails_deploy.rb +0 -128
  897. data/lib/poolparty/plugins/ruby.rb +0 -42
  898. data/lib/poolparty/plugins/runit.rb +0 -21
  899. data/lib/poolparty/plugins/sshkey.rb +0 -50
  900. data/lib/poolparty/plugins/svn.rb +0 -67
  901. data/lib/poolparty/poolparty/cloud.rb +0 -399
  902. data/lib/poolparty/poolparty/default.rb +0 -165
  903. data/lib/poolparty/poolparty/key.rb +0 -69
  904. data/lib/poolparty/poolparty/loggable.rb +0 -28
  905. data/lib/poolparty/poolparty/neighborhoods.rb +0 -113
  906. data/lib/poolparty/poolparty/plugin.rb +0 -102
  907. data/lib/poolparty/poolparty/pool.rb +0 -103
  908. data/lib/poolparty/poolparty/poolparty_base_class.rb +0 -212
  909. data/lib/poolparty/poolparty/resource.rb +0 -184
  910. data/lib/poolparty/poolparty/script.rb +0 -58
  911. data/lib/poolparty/poolparty/service.rb +0 -38
  912. data/lib/poolparty/poolparty/template.rb +0 -27
  913. data/lib/poolparty/provision/boot_strapper.rb +0 -175
  914. data/lib/poolparty/provision/configurations/chef.rb +0 -26
  915. data/lib/poolparty/provision/configurations/puppet.rb +0 -28
  916. data/lib/poolparty/provision/dr_configure.rb +0 -147
  917. data/lib/poolparty/resources/remote_file.rb +0 -52
  918. data/lib/poolparty/resources/symlink.rb +0 -48
  919. data/lib/poolparty/resources.rb +0 -42
  920. data/lib/poolparty/schema.rb +0 -77
  921. data/lib/poolparty/templates/apache2/apache2.conf +0 -14
  922. data/lib/poolparty/templates/apache2/base.conf.erb +0 -168
  923. data/lib/poolparty/templates/apache2/debian.conf.erb +0 -675
  924. data/lib/poolparty/templates/apache2/default-site.conf.erb +0 -41
  925. data/lib/poolparty/templates/apache2/directory_indexes.conf.erb +0 -101
  926. data/lib/poolparty/templates/apache2/logging-syslog.conf.erb +0 -42
  927. data/lib/poolparty/templates/apache2/mime-extras.conf.erb +0 -211
  928. data/lib/poolparty/templates/apache2/mpm-worker.conf.erb +0 -20
  929. data/lib/poolparty/templates/apache2/mpm-worker.erb +0 -20
  930. data/lib/poolparty/templates/apache2/passenger.conf.erb +0 -20
  931. data/lib/poolparty/templates/apache2/php.ini.erb +0 -1253
  932. data/lib/poolparty/templates/apache2/server-status.erb +0 -19
  933. data/lib/poolparty/templates/authkeys +0 -2
  934. data/lib/poolparty/templates/cib.xml +0 -54
  935. data/lib/poolparty/templates/erlang_cookie_maker +0 -6
  936. data/lib/poolparty/templates/gem +0 -27
  937. data/lib/poolparty/templates/gemrc_template +0 -11
  938. data/lib/poolparty/templates/ha.cf +0 -17
  939. data/lib/poolparty/templates/haproxy.conf +0 -38
  940. data/lib/poolparty/templates/haresources +0 -3
  941. data/lib/poolparty/templates/logd.cf +0 -42
  942. data/lib/poolparty/templates/messenger/client/log-run.erb +0 -2
  943. data/lib/poolparty/templates/messenger/client/run.erb +0 -4
  944. data/lib/poolparty/templates/messenger/master/log-run.erb +0 -2
  945. data/lib/poolparty/templates/messenger/master/run.erb +0 -4
  946. data/lib/poolparty/templates/messenger/node/log-run.erb +0 -2
  947. data/lib/poolparty/templates/messenger/node/run.erb +0 -4
  948. data/lib/poolparty/templates/monitor.ru +0 -29
  949. data/lib/poolparty/templates/namespaceauth.conf +0 -19
  950. data/lib/poolparty/templates/php.ini.erb +0 -1253
  951. data/lib/poolparty/templates/poolparty.monitor +0 -14
  952. data/lib/poolparty/templates/puppet/add_puppet_to_hosts +0 -6
  953. data/lib/poolparty/templates/puppet/puppet.conf +0 -2
  954. data/lib/poolparty/templates/puppet/puppetrunner +0 -14
  955. data/lib/poolparty/templates/puppet/site.pp +0 -4
  956. data/lib/poolparty/templates/puppetrunner +0 -14
  957. data/lib/poolparty/templates/yaws.conf +0 -19
  958. data/lib/poolparty/verification/verifier_base.rb +0 -27
  959. data/lib/poolparty/verification/verifiers/http_match.rb +0 -43
  960. data/lib/poolparty/verification/verifiers/http_status.rb +0 -59
  961. data/lib/poolparty/verification/verifiers/ping.rb +0 -34
  962. data/lib/poolparty/verification/verify.rb +0 -80
  963. data/lib/poolpartycl.rb +0 -21
  964. data/script/destroy +0 -14
  965. data/script/generate +0 -14
  966. data/spec/bin/bin_spec_helper.rb +0 -8
  967. data/spec/bin/fixtures/bin_cloud_for_test.rb +0 -13
  968. data/spec/bin/server-list-active_spec.rb +0 -22
  969. data/spec/poolparty/aska/aska_spec.rb +0 -117
  970. data/spec/poolparty/bin/console_spec.rb +0 -83
  971. data/spec/poolparty/core/array_spec.rb +0 -48
  972. data/spec/poolparty/core/float.rb +0 -13
  973. data/spec/poolparty/core/hash_spec.rb +0 -83
  974. data/spec/poolparty/core/kernel_spec.rb +0 -24
  975. data/spec/poolparty/core/object_spec.rb +0 -7
  976. data/spec/poolparty/core/ordered_hash_spec.rb +0 -48
  977. data/spec/poolparty/core/string_spec.rb +0 -145
  978. data/spec/poolparty/core/time_spec.rb +0 -49
  979. data/spec/poolparty/dependencies_spec.rb +0 -11
  980. data/spec/poolparty/dependency_resolver/chef_resolver_spec.rb +0 -105
  981. data/spec/poolparty/dependency_resolver/dependency_resolver_cloud_extensions_spec.rb +0 -131
  982. data/spec/poolparty/dependency_resolver/dependency_resolver_spec.rb +0 -16
  983. data/spec/poolparty/dependency_resolver/puppet_resolver_spec.rb +0 -121
  984. data/spec/poolparty/extra/deployments_spec.rb +0 -68
  985. data/spec/poolparty/fixtures/clouds.json +0 -128
  986. data/spec/poolparty/fixtures/fake_key.pub +0 -1
  987. data/spec/poolparty/fixtures/test_template.erb +0 -1
  988. data/spec/poolparty/helpers/binary_spec.rb +0 -26
  989. data/spec/poolparty/helpers/hash_printer_spec.rb +0 -34
  990. data/spec/poolparty/helpers/optioner_spec.rb +0 -43
  991. data/spec/poolparty/modules/cloud_resourcer_spec.rb +0 -67
  992. data/spec/poolparty/modules/definable_resource.rb +0 -9
  993. data/spec/poolparty/modules/file_writer_spec.rb +0 -64
  994. data/spec/poolparty/modules/s3_string_spec.rb +0 -15
  995. data/spec/poolparty/modules/searchable_paths_spec.rb +0 -83
  996. data/spec/poolparty/monitors/base_monitor_spec.rb +0 -112
  997. data/spec/poolparty/monitors/monitors/cpu_monitor_spec.rb +0 -18
  998. data/spec/poolparty/monitors/monitors/memory_monitor_spec.rb +0 -48
  999. data/spec/poolparty/net/remote_instance_spec.rb +0 -16
  1000. data/spec/poolparty/net/remote_spec.rb +0 -287
  1001. data/spec/poolparty/net/remoter_base_spec.rb +0 -31
  1002. data/spec/poolparty/net/remoter_bases/ec2_mocks_and_stubs.rb +0 -22
  1003. data/spec/poolparty/net/remoter_bases/ec2_remote_instance_spec.rb +0 -74
  1004. data/spec/poolparty/net/remoter_bases/ec2_spec.rb +0 -137
  1005. data/spec/poolparty/net/remoter_spec.rb +0 -132
  1006. data/spec/poolparty/plugins/authorized_key_spec.rb +0 -23
  1007. data/spec/poolparty/plugins/chef_spec.rb +0 -7
  1008. data/spec/poolparty/plugins/deploydirectory_spec.rb +0 -64
  1009. data/spec/poolparty/plugins/git_spec.rb +0 -38
  1010. data/spec/poolparty/plugins/line_spec.rb +0 -22
  1011. data/spec/poolparty/poolparty/cloud_spec.rb +0 -335
  1012. data/spec/poolparty/poolparty/configurers/files/ruby_basic.rb +0 -14
  1013. data/spec/poolparty/poolparty/configurers/files/ruby_plugins.rb +0 -16
  1014. data/spec/poolparty/poolparty/configurers/ruby_spec.rb +0 -37
  1015. data/spec/poolparty/poolparty/default_spec.rb +0 -140
  1016. data/spec/poolparty/poolparty/example_spec.rb +0 -81
  1017. data/spec/poolparty/poolparty/haproxy_spec.rb +0 -7
  1018. data/spec/poolparty/poolparty/heartbeat_spec.rb +0 -7
  1019. data/spec/poolparty/poolparty/key_spec.rb +0 -42
  1020. data/spec/poolparty/poolparty/neighborhoods_spec.rb +0 -65
  1021. data/spec/poolparty/poolparty/plugin_model_spec.rb +0 -50
  1022. data/spec/poolparty/poolparty/plugin_spec.rb +0 -41
  1023. data/spec/poolparty/poolparty/pool_spec.rb +0 -94
  1024. data/spec/poolparty/poolparty/resource_spec.rb +0 -204
  1025. data/spec/poolparty/poolparty/script_spec.rb +0 -46
  1026. data/spec/poolparty/poolparty/service_spec.rb +0 -5
  1027. data/spec/poolparty/poolparty/template_spec.rb +0 -26
  1028. data/spec/poolparty/poolparty/test_plugins/sshkey_test +0 -2
  1029. data/spec/poolparty/poolparty/test_plugins/webserver.rb +0 -32
  1030. data/spec/poolparty/poolparty_base_class_spec.rb +0 -84
  1031. data/spec/poolparty/poolparty_spec.rb +0 -36
  1032. data/spec/poolparty/resources/cron_spec.rb +0 -44
  1033. data/spec/poolparty/resources/directory_spec.rb +0 -40
  1034. data/spec/poolparty/resources/exec_spec.rb +0 -37
  1035. data/spec/poolparty/resources/file_spec.rb +0 -64
  1036. data/spec/poolparty/resources/gem_spec.rb +0 -7
  1037. data/spec/poolparty/resources/package_spec.rb +0 -26
  1038. data/spec/poolparty/resources/service_spec.rb +0 -29
  1039. data/spec/poolparty/resources/sshkey_spec.rb +0 -39
  1040. data/spec/poolparty/resources/symlink_spec.rb +0 -29
  1041. data/spec/poolparty/resources/user_spec.rb +0 -48
  1042. data/spec/poolparty/resources/variable_spec.rb +0 -26
  1043. data/spec/poolparty/schema_spec.rb +0 -53
  1044. data/spec/poolparty/spec_helper.rb +0 -233
  1045. data/spec/poolparty/test_spec_helper.rb +0 -13
  1046. data/tasks/cloud.rake +0 -3
  1047. data/tasks/ec2.rake +0 -13
  1048. data/tasks/instance.rake +0 -2
  1049. data/tasks/server.rake +0 -44
  1050. data/tasks/spec.rake +0 -54
  1051. data/test/fixtures/fake_clouds.rb +0 -11
  1052. data/test/fixtures/metavirt_cloud.json +0 -1
  1053. data/test/fixtures/test_key +0 -1
  1054. data/test/poolparty/core/array_test.rb +0 -32
  1055. data/test/poolparty/core/hash_test.rb +0 -34
  1056. data/test/poolparty/core/object_test.rb +0 -29
  1057. data/test/poolparty/core/string_test.rb +0 -29
  1058. data/test/poolparty/dependency_resolver/chef_resolver_test.rb +0 -82
  1059. data/test/poolparty/dependency_resolver/puppet_resolver_test.rb +0 -85
  1060. data/test/poolparty/modules/callbacks_test.rb +0 -40
  1061. data/test/poolparty/modules/cloud_dsl_test.rb +0 -60
  1062. data/test/poolparty/monitors/test_base_monitor.rb +0 -17
  1063. data/test/poolparty/monitors/test_monitor_rack.rb +0 -26
  1064. data/test/poolparty/net/remoter_base_test.rb +0 -17
  1065. data/test/poolparty/net/remoter_bases/libvirt/libvirt_test.rb +0 -70
  1066. data/test/poolparty/net/remoter_bases/metavirt/metavirt_test.rb +0 -81
  1067. data/test/poolparty/net/remoter_bases/vmrun/vmrun_test.rb +0 -81
  1068. data/test/poolparty/net/remoter_test.rb +0 -14
  1069. data/test/poolparty/plugins/chef_deploy_test.rb +0 -37
  1070. data/test/poolparty/plugins/chef_plugin_test.rb +0 -23
  1071. data/test/poolparty/plugins/rails_deploy_test.rb +0 -50
  1072. data/test/poolparty/poolparty/cloud_test.rb +0 -65
  1073. data/test/poolparty/poolparty/isolated_cloud_test.rb +0 -25
  1074. data/test/poolparty/poolparty/neighborhood_test.rb +0 -23
  1075. data/test/poolparty/poolparty/plugin_test.rb +0 -19
  1076. data/test/poolparty/poolparty/pool_test.rb +0 -22
  1077. data/test/poolparty/poolparty/poolparty_base_class_test.rb +0 -122
  1078. data/test/poolparty/poolparty/schema_test.rb +0 -13
  1079. data/test/poolparty/poolparty/template_test.rb +0 -31
  1080. data/test/poolparty/provision/boot_strapper_test.rb +0 -6
  1081. data/test/poolparty/provision/dr_configure_test.rb +0 -6
  1082. data/test/poolparty/verification/verify_test.rb +0 -53
  1083. data/test/test_generator_helper.rb +0 -29
  1084. data/test/test_pool_spec_generator.rb +0 -47
  1085. data/test/test_poolparty.rb +0 -12
  1086. data/vendor/gems/suitcase/README.rdoc +0 -31
  1087. data/vendor/gems/suitcase/Rakefile +0 -57
  1088. data/vendor/gems/suitcase/VERSION.yml +0 -4
  1089. data/vendor/gems/suitcase/lib/suitcase/unzipper.rb +0 -15
  1090. data/vendor/gems/suitcase/lib/suitcase/zipper.rb +0 -167
  1091. data/vendor/gems/suitcase/lib/suitcase.rb +0 -5
  1092. data/vendor/gems/suitcase/suitcase.gemspec +0 -32
  1093. data/vendor/gems/suitcase/test/suitcase_test.rb +0 -108
  1094. data/vendor/gems/suitcase/test/test_dir/box.rb +0 -1
  1095. data/vendor/gems/suitcase/test/test_dir/gems/famoseagle-carrot-0.6.0.gem +0 -0
  1096. data/vendor/gems/suitcase/test/test_dir/test.txt +0 -1
  1097. data/vendor/gems/suitcase/test/test_helper.rb +0 -12
@@ -0,0 +1,91 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class HaveDbIndexMatcherTest < ActiveSupport::TestCase # :nodoc:
4
+
5
+ context "have_db_index" do
6
+ setup do
7
+ @matcher = have_db_index(:age)
8
+ end
9
+
10
+ should "accept an existing index" do
11
+ db_connection = create_table 'superheros' do |table|
12
+ table.integer :age
13
+ end
14
+ db_connection.add_index :superheros, :age
15
+ define_model_class 'Superhero'
16
+ assert_accepts @matcher, Superhero.new
17
+ end
18
+
19
+ should "reject a nonexistent index" do
20
+ define_model :superhero
21
+ assert_rejects @matcher, Superhero.new
22
+ end
23
+ end
24
+
25
+ context "have_db_index with unique option" do
26
+ setup do
27
+ @matcher = have_db_index(:ssn).unique(true)
28
+ end
29
+
30
+ should "accept an index of correct unique" do
31
+ db_connection = create_table 'superheros' do |table|
32
+ table.integer :ssn
33
+ end
34
+ db_connection.add_index :superheros, :ssn, :unique => true
35
+ define_model_class 'Superhero'
36
+ assert_accepts @matcher, Superhero.new
37
+ end
38
+
39
+ should "reject an index of wrong unique" do
40
+ db_connection = create_table 'superheros' do |table|
41
+ table.integer :ssn
42
+ end
43
+ db_connection.add_index :superheros, :ssn, :unique => false
44
+ define_model_class 'Superhero'
45
+ assert_rejects @matcher, Superhero.new
46
+ end
47
+ end
48
+
49
+ context "have_db_index on multiple columns" do
50
+ setup do
51
+ @matcher = have_db_index([:geocodable_type, :geocodable_id])
52
+ end
53
+
54
+ should "accept an existing index" do
55
+ db_connection = create_table 'geocodings' do |table|
56
+ table.integer :geocodable_id
57
+ table.string :geocodable_type
58
+ end
59
+ db_connection.add_index :geocodings, [:geocodable_type, :geocodable_id]
60
+ define_model_class 'Geocoding'
61
+ assert_accepts @matcher, Geocoding.new
62
+ end
63
+
64
+ should "reject a nonexistant index" do
65
+ db_connection = create_table 'geocodings' do |table|
66
+ table.integer :geocodable_id
67
+ table.string :geocodable_type
68
+ end
69
+ define_model_class 'Geocoding'
70
+ assert_rejects @matcher, Geocoding.new
71
+ end
72
+ end
73
+
74
+ should "join columns with and describing multiple columns" do
75
+ assert_match /on columns user_id and post_id/,
76
+ have_db_index([:user_id, :post_id]).description
77
+ end
78
+
79
+ should "describe a unique index as unique" do
80
+ assert_match /a unique index/, have_db_index(:user_id).unique(true).description
81
+ end
82
+
83
+ should "describe a non-unique index as non-unique" do
84
+ assert_match /a non-unique index/, have_db_index(:user_id).unique(false).description
85
+ end
86
+
87
+ should "not describe an index's uniqueness when it isn't important" do
88
+ assert_no_match /unique/, have_db_index(:user_id).description
89
+ end
90
+
91
+ end
@@ -0,0 +1,65 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class HaveNamedScopeMatcherTest < ActiveSupport::TestCase # :nodoc:
4
+
5
+ context "an attribute with a named scope" do
6
+ setup do
7
+ define_model :example, :attr => :string do
8
+ named_scope :xyz, lambda {|n|
9
+ { :order => :attr }
10
+ }
11
+ end
12
+ @model = Example.new
13
+ end
14
+
15
+ should "accept having a scope with the correct signature" do
16
+ assert_accepts have_named_scope("xyz(1)"), @model
17
+ end
18
+
19
+ should "accept having a scope with the correct signature and find options" do
20
+ assert_accepts have_named_scope("xyz(1)").finding(:order => :attr), @model
21
+ end
22
+
23
+ should "reject having a scope with incorrect find options" do
24
+ assert_rejects have_named_scope("xyz(1)").
25
+ finding(:order => 'attr DESC'),
26
+ @model
27
+ end
28
+
29
+ should "reject having a scope with another name" do
30
+ assert_rejects have_named_scope("abc(1)"), @model
31
+ end
32
+
33
+ end
34
+
35
+ should "evaluate the scope in the correct context" do
36
+ define_model :example, :attr => :string do
37
+ named_scope :xyz, lambda {|n|
38
+ { :order => n }
39
+ }
40
+ end
41
+ model = Example.new
42
+ @order = :attr
43
+ assert_accepts have_named_scope("xyz(@order)").
44
+ finding(:order => @order).
45
+ in_context(self),
46
+ model
47
+ end
48
+
49
+ context "a method that does not return a scope" do
50
+ setup do
51
+ klass = Class.new
52
+ klass.class_eval do
53
+ def self.xyz
54
+ 'xyz'
55
+ end
56
+ end
57
+ @model = klass.new
58
+ end
59
+
60
+ should "reject having a named scope with that name" do
61
+ assert_rejects have_named_scope(:xyz), @model
62
+ end
63
+ end
64
+
65
+ end
@@ -0,0 +1,29 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class HaveReadonlyAttributesMatcherTest < ActiveSupport::TestCase # :nodoc:
4
+
5
+ context "an attribute that cannot be set after being saved" do
6
+ setup do
7
+ define_model :example, :attr => :string do
8
+ attr_readonly :attr
9
+ end
10
+ @model = Example.new
11
+ end
12
+
13
+ should "accept being read-only" do
14
+ assert_accepts have_readonly_attribute(:attr), @model
15
+ end
16
+ end
17
+
18
+ context "an attribute that can be set after being saved" do
19
+ setup do
20
+ define_model :example, :attr => :string
21
+ @model = Example.new
22
+ end
23
+
24
+ should "accept being read-only" do
25
+ assert_rejects have_readonly_attribute(:attr), @model
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,44 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class ValidateAcceptanceOfMatcherTest < ActiveSupport::TestCase # :nodoc:
4
+
5
+ context "an attribute which must be accepted" do
6
+ setup do
7
+ @model = define_model(:example) do
8
+ validates_acceptance_of :attr
9
+ end.new
10
+ end
11
+
12
+ should "require that attribute to be accepted" do
13
+ assert_accepts validate_acceptance_of(:attr), @model
14
+ end
15
+
16
+ should "not overwrite the default message with nil" do
17
+ assert_accepts validate_acceptance_of(:attr).with_message(nil), @model
18
+ end
19
+ end
20
+
21
+ context "an attribute that does not need to be accepted" do
22
+ setup do
23
+ @model = define_model(:example, :attr => :string).new
24
+ end
25
+
26
+ should "not require that attribute to be accepted" do
27
+ assert_rejects validate_acceptance_of(:attr), @model
28
+ end
29
+ end
30
+
31
+ context "an attribute which must be accepted with a custom message" do
32
+ setup do
33
+ @model = define_model(:example) do
34
+ validates_acceptance_of :attr, :message => 'custom'
35
+ end.new
36
+ end
37
+
38
+ should "require that attribute to be accepted with that message" do
39
+ assert_accepts validate_acceptance_of(:attr).with_message(/custom/),
40
+ @model
41
+ end
42
+ end
43
+
44
+ end
@@ -0,0 +1,39 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class ValidateFormatOfMatcherTest < ActiveSupport::TestCase # :nodoc:
4
+
5
+
6
+ context "a postal code" do
7
+ setup do
8
+ define_model :example, :attr => :string do
9
+ validates_format_of :attr, :with => /^\d{5}$/
10
+ end
11
+ @model = Example.new
12
+ end
13
+
14
+ should "be valid" do
15
+ assert_accepts validate_format_of(:attr).with('12345'), @model
16
+ end
17
+
18
+ should "not be valid with alpha in zip" do
19
+ assert_rejects validate_format_of(:attr).not_with('1234a'), @model, :message=>"is invalid"
20
+ end
21
+
22
+ should "not be valid with to few digits" do
23
+ assert_rejects validate_format_of(:attr).not_with('1234'), @model, :message=>"is invalid"
24
+ end
25
+
26
+ should "not be valid with to many digits" do
27
+ assert_rejects validate_format_of(:attr).not_with('123456'), @model, :message=>"is invalid"
28
+ end
29
+
30
+ should "raise error if you try to call both with and not_with" do
31
+ assert_raise RuntimeError do
32
+ validate_format_of(:attr).not_with('123456').with('12345')
33
+ end
34
+ end
35
+
36
+ end
37
+
38
+
39
+ end
@@ -0,0 +1,52 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class ValidateNumericalityOfMatcherTest < ActiveSupport::TestCase # :nodoc:
4
+
5
+ context "a numeric attribute" do
6
+ setup do
7
+ define_model :example, :attr => :string do
8
+ validates_numericality_of :attr
9
+ end
10
+ @model = Example.new
11
+ end
12
+
13
+ should "only allow numeric values for that attribute" do
14
+ assert_accepts validate_numericality_of(:attr), @model
15
+ end
16
+
17
+ should "not override the default message with a blank" do
18
+ assert_accepts validate_numericality_of(:attr).with_message(nil),
19
+ @model
20
+ end
21
+ end
22
+
23
+ context "a numeric attribute with a custom validation message" do
24
+ setup do
25
+ define_model :example, :attr => :string do
26
+ validates_numericality_of :attr, :message => 'custom'
27
+ end
28
+ @model = Example.new
29
+ end
30
+
31
+ should "only allow numeric values for that attribute with that message" do
32
+ assert_accepts validate_numericality_of(:attr).
33
+ with_message(/custom/),
34
+ @model
35
+ end
36
+
37
+ should "not allow numeric values for that attribute with another message" do
38
+ assert_rejects validate_numericality_of(:attr), @model
39
+ end
40
+ end
41
+
42
+ context "a non-numeric attribute" do
43
+ setup do
44
+ @model = define_model(:example, :attr => :string).new
45
+ end
46
+
47
+ should "not only allow numeric values for that attribute" do
48
+ assert_rejects validate_numericality_of(:attr), @model
49
+ end
50
+ end
51
+
52
+ end
@@ -0,0 +1,86 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class ValidatePresenceOfMatcherTest < ActiveSupport::TestCase # :nodoc:
4
+
5
+ context "a required attribute" do
6
+ setup do
7
+ define_model :example, :attr => :string do
8
+ validates_presence_of :attr
9
+ end
10
+ @model = Example.new
11
+ end
12
+
13
+ should "require a value" do
14
+ assert_accepts validate_presence_of(:attr), @model
15
+ end
16
+
17
+ should "not override the default message with a blank" do
18
+ assert_accepts validate_presence_of(:attr).with_message(nil), @model
19
+ end
20
+ end
21
+
22
+ context "an optional attribute" do
23
+ setup do
24
+ @model = define_model(:example, :attr => :string).new
25
+ end
26
+
27
+ should "not require a value" do
28
+ assert_rejects validate_presence_of(:attr), @model
29
+ end
30
+ end
31
+
32
+ context "a required has_many association" do
33
+ setup do
34
+ define_model :child
35
+ @model = define_model :parent do
36
+ has_many :children
37
+ validates_presence_of :children
38
+ end.new
39
+ end
40
+
41
+ should "require the attribute to be set" do
42
+ assert_accepts validate_presence_of(:children), @model
43
+ end
44
+ end
45
+
46
+ context "an optional has_many association" do
47
+ setup do
48
+ define_model :child
49
+ @model = define_model :parent do
50
+ has_many :children
51
+ end.new
52
+ end
53
+
54
+ should "not require the attribute to be set" do
55
+ assert_rejects validate_presence_of(:children), @model
56
+ end
57
+ end
58
+
59
+ context "a required has_and_belongs_to_many association" do
60
+ setup do
61
+ define_model :child
62
+ @model = define_model :parent do
63
+ has_and_belongs_to_many :children
64
+ validates_presence_of :children
65
+ end.new
66
+ end
67
+
68
+ should "require the attribute to be set" do
69
+ assert_accepts validate_presence_of(:children), @model
70
+ end
71
+ end
72
+
73
+ context "an optional has_and_belongs_to_many association" do
74
+ setup do
75
+ define_model :child
76
+ @model = define_model :parent do
77
+ has_and_belongs_to_many :children
78
+ end.new
79
+ end
80
+
81
+ should "not require the attribute to be set" do
82
+ assert_rejects validate_presence_of(:children), @model
83
+ end
84
+ end
85
+
86
+ end
@@ -0,0 +1,147 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class ValidateUniquenessOfMatcherTest < ActiveSupport::TestCase # :nodoc:
4
+
5
+ context "a unique attribute" do
6
+ setup do
7
+ @model = define_model(:example, :attr => :string,
8
+ :other => :integer) do
9
+ validates_uniqueness_of :attr
10
+ end.new
11
+ end
12
+
13
+ context "with an existing value" do
14
+ setup do
15
+ @existing = Example.create!(:attr => 'value', :other => 1)
16
+ end
17
+
18
+ should "require a unique value for that attribute" do
19
+ assert_accepts validate_uniqueness_of(:attr), @model
20
+ end
21
+
22
+ should "pass when the subject is an existing record" do
23
+ assert_accepts validate_uniqueness_of(:attr), @existing
24
+ end
25
+
26
+ should "fail when a scope is specified" do
27
+ assert_rejects validate_uniqueness_of(:attr).scoped_to(:other), @model
28
+ end
29
+ end
30
+
31
+ context "without an existing value" do
32
+ setup do
33
+ assert_nil Example.find(:first)
34
+ @matcher = validate_uniqueness_of(:attr)
35
+ end
36
+
37
+ should "fail to require a unique value" do
38
+ assert_rejects @matcher, @model
39
+ end
40
+
41
+ should "alert the tester that an existing value is not present" do
42
+ @matcher.matches?(@model)
43
+ assert @matcher.negative_failure_message =~ /^Can't find first .*/
44
+ end
45
+ end
46
+ end
47
+
48
+ context "a unique attribute with a custom error and an existing value" do
49
+ setup do
50
+ @model = define_model(:example, :attr => :string) do
51
+ validates_uniqueness_of :attr, :message => 'Bad value'
52
+ end.new
53
+ Example.create!
54
+ end
55
+
56
+ should "fail when checking the default message" do
57
+ assert_rejects validate_uniqueness_of(:attr), @model
58
+ end
59
+
60
+ should "fail when checking a message that doesn't match" do
61
+ assert_rejects validate_uniqueness_of(:attr).with_message(/abc/i), @model
62
+ end
63
+
64
+ should "pass when checking a message that matches" do
65
+ assert_accepts validate_uniqueness_of(:attr).with_message(/bad/i), @model
66
+ end
67
+ end
68
+
69
+ context "a scoped unique attribute with an existing value" do
70
+ setup do
71
+ @model = define_model(:example, :attr => :string,
72
+ :scope1 => :integer,
73
+ :scope2 => :integer) do
74
+ validates_uniqueness_of :attr, :scope => [:scope1, :scope2]
75
+ end.new
76
+ @existing = Example.create!(:attr => 'value', :scope1 => 1, :scope2 => 2)
77
+ end
78
+
79
+ should "pass when the correct scope is specified" do
80
+ assert_accepts validate_uniqueness_of(:attr).scoped_to(:scope1, :scope2),
81
+ @model
82
+ end
83
+
84
+ should "pass when the subject is an existing record" do
85
+ assert_accepts validate_uniqueness_of(:attr).scoped_to(:scope1, :scope2),
86
+ @existing
87
+ end
88
+
89
+ should "fail when a different scope is specified" do
90
+ assert_rejects validate_uniqueness_of(:attr).scoped_to(:scope1), @model
91
+ end
92
+
93
+ should "fail when no scope is specified" do
94
+ assert_rejects validate_uniqueness_of(:attr), @model
95
+ end
96
+
97
+ should "fail when a non-existent attribute is specified as a scope" do
98
+ assert_rejects validate_uniqueness_of(:attr).scoped_to(:fake), @model
99
+ end
100
+ end
101
+
102
+ context "a non-unique attribute with an existing value" do
103
+ setup do
104
+ @model = define_model(:example, :attr => :string).new
105
+ Example.create!(:attr => 'value')
106
+ end
107
+
108
+ should "not require a unique value for that attribute" do
109
+ assert_rejects validate_uniqueness_of(:attr), @model
110
+ end
111
+ end
112
+
113
+ context "a case sensitive unique attribute with an existing value" do
114
+ setup do
115
+ @model = define_model(:example, :attr => :string) do
116
+ validates_uniqueness_of :attr, :case_sensitive => true
117
+ end.new
118
+ Example.create!(:attr => 'value')
119
+ end
120
+
121
+ should "not require a unique, case-insensitive value for that attribute" do
122
+ assert_rejects validate_uniqueness_of(:attr).case_insensitive, @model
123
+ end
124
+
125
+ should "require a unique, case-sensitive value for that attribute" do
126
+ assert_accepts validate_uniqueness_of(:attr), @model
127
+ end
128
+ end
129
+
130
+ context "a case sensitive unique integer attribute with an existing value" do
131
+ setup do
132
+ @model = define_model(:example, :attr => :integer) do
133
+ validates_uniqueness_of :attr, :case_sensitive => true
134
+ end.new
135
+ Example.create!(:attr => 'value')
136
+ end
137
+
138
+ should "require a unique, case-insensitive value for that attribute" do
139
+ assert_accepts validate_uniqueness_of(:attr).case_insensitive, @model
140
+ end
141
+
142
+ should "require a unique, case-sensitive value for that attribute" do
143
+ assert_accepts validate_uniqueness_of(:attr), @model
144
+ end
145
+ end
146
+
147
+ end
@@ -0,0 +1,35 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class AssignToMatcherTest < ActionController::TestCase # :nodoc:
4
+
5
+ context "a controller that assigns to an instance variable" do
6
+ setup do
7
+ @controller = build_response { @var = 'value' }
8
+ end
9
+
10
+ should "accept assigning to that variable" do
11
+ assert_accepts assign_to(:var), @controller
12
+ end
13
+
14
+ should "accept assigning to that variable with the correct class" do
15
+ assert_accepts assign_to(:var).with_kind_of(String), @controller
16
+ end
17
+
18
+ should "reject assigning to that variable with another class" do
19
+ assert_rejects assign_to(:var).with_kind_of(Fixnum), @controller
20
+ end
21
+
22
+ should "accept assigning the correct value to that variable" do
23
+ assert_accepts assign_to(:var).with('value'), @controller
24
+ end
25
+
26
+ should "reject assigning another value to that variable" do
27
+ assert_rejects assign_to(:var).with('other'), @controller
28
+ end
29
+
30
+ should "reject assigning to another variable" do
31
+ assert_rejects assign_to(:other), @controller
32
+ end
33
+ end
34
+
35
+ end
@@ -0,0 +1,32 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class FilterParamMatcherTest < ActionController::TestCase # :nodoc:
4
+
5
+ context "a controller that filters no parameters" do
6
+ setup do
7
+ @controller = define_controller(:examples).new
8
+ end
9
+
10
+ should "reject filtering any parameter" do
11
+ assert_rejects filter_param(:any), @controller
12
+ end
13
+ end
14
+
15
+ context "a controller that filters a parameter" do
16
+ setup do
17
+ @controller = define_controller :examples do
18
+ filter_parameter_logging :password
19
+ end.new
20
+ end
21
+
22
+ should "accept filtering that parameter" do
23
+ assert_accepts filter_param(:password), @controller
24
+ end
25
+
26
+ should "reject filtering another parameter" do
27
+ assert_rejects filter_param(:other), @controller
28
+ end
29
+ end
30
+
31
+ end
32
+
@@ -0,0 +1,33 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class RenderWithLayoutMatcherTest < ActionController::TestCase # :nodoc:
4
+
5
+ context "a controller that renders with a layout" do
6
+ setup do
7
+ @controller = build_response { render :layout => 'wide' }
8
+ end
9
+
10
+ should "accept rendering with any layout" do
11
+ assert_accepts render_with_layout, @controller
12
+ end
13
+
14
+ should "accept rendering with that layout" do
15
+ assert_accepts render_with_layout(:wide), @controller
16
+ end
17
+
18
+ should "reject rendering with another layout" do
19
+ assert_rejects render_with_layout(:other), @controller
20
+ end
21
+ end
22
+
23
+ context "a controller that renders without a layout" do
24
+ setup do
25
+ @controller = build_response { render :layout => false }
26
+ end
27
+
28
+ should "reject rendering with a layout" do
29
+ assert_rejects render_with_layout, @controller
30
+ end
31
+ end
32
+
33
+ end
@@ -0,0 +1,32 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class RespondWithContentTypeMatcherTest < ActionController::TestCase # :nodoc:
4
+
5
+ context "a controller responding with content type :xml" do
6
+ setup do
7
+ @controller = build_response { render :xml => { :user => "thoughtbot" }.to_xml }
8
+ end
9
+
10
+ should "accept responding with content type :xml" do
11
+ assert_accepts respond_with_content_type(:xml), @controller
12
+ end
13
+
14
+ should "accept responding with content type 'application/xml'" do
15
+ assert_accepts respond_with_content_type('application/xml'), @controller
16
+ end
17
+
18
+ should "accept responding with content type /xml/" do
19
+ assert_accepts respond_with_content_type(/xml/), @controller
20
+ end
21
+
22
+ should "reject responding with another content type" do
23
+ assert_rejects respond_with_content_type(:json), @controller
24
+ end
25
+ end
26
+
27
+ should "generate the correct test name" do
28
+ assert_equal "respond with content type of application/xml",
29
+ respond_with_content_type(:xml).description
30
+ end
31
+
32
+ end