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,1769 @@
1
+ #line 1 "parser.rl"
2
+ #include "ruby.h"
3
+ #include "re.h"
4
+ #include "st.h"
5
+ #include "unicode.h"
6
+
7
+ /* Ruby 1.8 Compatibility */
8
+
9
+ #ifndef RHASH_TBL
10
+ #define RHASH_TBL(hsh) RHASH(hsh)->tbl
11
+ #endif
12
+
13
+ #ifndef RFLOAT_VALUE
14
+ #define RFLOAT_VALUE(flt) RFLOAT(flt)->value
15
+ #endif
16
+
17
+
18
+ #define EVIL 0x666
19
+
20
+ static VALUE mJSON, mExt, cParser, eParserError, eNestingError;
21
+ static VALUE CNaN, CInfinity, CMinusInfinity;
22
+
23
+ static ID i_json_creatable_p, i_json_create, i_create_id, i_create_additions,
24
+ i_chr, i_max_nesting, i_allow_nan;
25
+
26
+ #define MinusInfinity "-Infinity"
27
+
28
+ typedef struct JSON_ParserStruct {
29
+ VALUE Vsource;
30
+ char *source;
31
+ long len;
32
+ char *memo;
33
+ VALUE create_id;
34
+ int max_nesting;
35
+ int current_nesting;
36
+ int allow_nan;
37
+ } JSON_Parser;
38
+
39
+ static char *JSON_parse_object(JSON_Parser *json, char *p, char *pe, VALUE *result);
40
+ static char *JSON_parse_array(JSON_Parser *json, char *p, char *pe, VALUE *result);
41
+ static char *JSON_parse_value(JSON_Parser *json, char *p, char *pe, VALUE *result);
42
+ static char *JSON_parse_string(JSON_Parser *json, char *p, char *pe, VALUE *result);
43
+ static char *JSON_parse_integer(JSON_Parser *json, char *p, char *pe, VALUE *result);
44
+ static char *JSON_parse_float(JSON_Parser *json, char *p, char *pe, VALUE *result);
45
+
46
+ #define GET_STRUCT \
47
+ JSON_Parser *json; \
48
+ Data_Get_Struct(self, JSON_Parser, json);
49
+
50
+ #line 64 "parser.rl"
51
+
52
+
53
+
54
+ #line 44 "parser.c"
55
+ static const int JSON_object_start = 1;
56
+ static const int JSON_object_first_final = 27;
57
+ static const int JSON_object_error = 0;
58
+
59
+ static const int JSON_object_en_main = 1;
60
+
61
+ #line 97 "parser.rl"
62
+
63
+
64
+ static char *JSON_parse_object(JSON_Parser *json, char *p, char *pe, VALUE *result)
65
+ {
66
+ int cs = EVIL;
67
+ VALUE last_name = Qnil;
68
+
69
+ if (json->max_nesting && json->current_nesting > json->max_nesting) {
70
+ rb_raise(eNestingError, "nesting of %d is to deep", json->current_nesting);
71
+ }
72
+
73
+ *result = rb_hash_new();
74
+
75
+
76
+ #line 66 "parser.c"
77
+ {
78
+ cs = JSON_object_start;
79
+ }
80
+ #line 111 "parser.rl"
81
+
82
+ #line 72 "parser.c"
83
+ {
84
+ if ( p == pe )
85
+ goto _test_eof;
86
+ switch ( cs )
87
+ {
88
+ case 1:
89
+ if ( (*p) == 123 )
90
+ goto st2;
91
+ goto st0;
92
+ st0:
93
+ cs = 0;
94
+ goto _out;
95
+ st2:
96
+ if ( ++p == pe )
97
+ goto _test_eof2;
98
+ case 2:
99
+ switch( (*p) ) {
100
+ case 13: goto st2;
101
+ case 32: goto st2;
102
+ case 34: goto tr2;
103
+ case 47: goto st23;
104
+ case 125: goto tr4;
105
+ }
106
+ if ( 9 <= (*p) && (*p) <= 10 )
107
+ goto st2;
108
+ goto st0;
109
+ tr2:
110
+ #line 83 "parser.rl"
111
+ {
112
+ char *np = JSON_parse_string(json, p, pe, &last_name);
113
+ if (np == NULL) { p--; {p++; cs = 3; goto _out;} } else {p = (( np))-1;}
114
+ }
115
+ goto st3;
116
+ st3:
117
+ if ( ++p == pe )
118
+ goto _test_eof3;
119
+ case 3:
120
+ #line 110 "parser.c"
121
+ switch( (*p) ) {
122
+ case 13: goto st3;
123
+ case 32: goto st3;
124
+ case 47: goto st4;
125
+ case 58: goto st8;
126
+ }
127
+ if ( 9 <= (*p) && (*p) <= 10 )
128
+ goto st3;
129
+ goto st0;
130
+ st4:
131
+ if ( ++p == pe )
132
+ goto _test_eof4;
133
+ case 4:
134
+ switch( (*p) ) {
135
+ case 42: goto st5;
136
+ case 47: goto st7;
137
+ }
138
+ goto st0;
139
+ st5:
140
+ if ( ++p == pe )
141
+ goto _test_eof5;
142
+ case 5:
143
+ if ( (*p) == 42 )
144
+ goto st6;
145
+ goto st5;
146
+ st6:
147
+ if ( ++p == pe )
148
+ goto _test_eof6;
149
+ case 6:
150
+ switch( (*p) ) {
151
+ case 42: goto st6;
152
+ case 47: goto st3;
153
+ }
154
+ goto st5;
155
+ st7:
156
+ if ( ++p == pe )
157
+ goto _test_eof7;
158
+ case 7:
159
+ if ( (*p) == 10 )
160
+ goto st3;
161
+ goto st7;
162
+ st8:
163
+ if ( ++p == pe )
164
+ goto _test_eof8;
165
+ case 8:
166
+ switch( (*p) ) {
167
+ case 13: goto st8;
168
+ case 32: goto st8;
169
+ case 34: goto tr11;
170
+ case 45: goto tr11;
171
+ case 47: goto st19;
172
+ case 73: goto tr11;
173
+ case 78: goto tr11;
174
+ case 91: goto tr11;
175
+ case 102: goto tr11;
176
+ case 110: goto tr11;
177
+ case 116: goto tr11;
178
+ case 123: goto tr11;
179
+ }
180
+ if ( (*p) > 10 ) {
181
+ if ( 48 <= (*p) && (*p) <= 57 )
182
+ goto tr11;
183
+ } else if ( (*p) >= 9 )
184
+ goto st8;
185
+ goto st0;
186
+ tr11:
187
+ #line 72 "parser.rl"
188
+ {
189
+ VALUE v = Qnil;
190
+ char *np = JSON_parse_value(json, p, pe, &v);
191
+ if (np == NULL) {
192
+ p--; {p++; cs = 9; goto _out;}
193
+ } else {
194
+ rb_hash_aset(*result, last_name, v);
195
+ {p = (( np))-1;}
196
+ }
197
+ }
198
+ goto st9;
199
+ st9:
200
+ if ( ++p == pe )
201
+ goto _test_eof9;
202
+ case 9:
203
+ #line 193 "parser.c"
204
+ switch( (*p) ) {
205
+ case 13: goto st9;
206
+ case 32: goto st9;
207
+ case 44: goto st10;
208
+ case 47: goto st15;
209
+ case 125: goto tr4;
210
+ }
211
+ if ( 9 <= (*p) && (*p) <= 10 )
212
+ goto st9;
213
+ goto st0;
214
+ st10:
215
+ if ( ++p == pe )
216
+ goto _test_eof10;
217
+ case 10:
218
+ switch( (*p) ) {
219
+ case 13: goto st10;
220
+ case 32: goto st10;
221
+ case 34: goto tr2;
222
+ case 47: goto st11;
223
+ }
224
+ if ( 9 <= (*p) && (*p) <= 10 )
225
+ goto st10;
226
+ goto st0;
227
+ st11:
228
+ if ( ++p == pe )
229
+ goto _test_eof11;
230
+ case 11:
231
+ switch( (*p) ) {
232
+ case 42: goto st12;
233
+ case 47: goto st14;
234
+ }
235
+ goto st0;
236
+ st12:
237
+ if ( ++p == pe )
238
+ goto _test_eof12;
239
+ case 12:
240
+ if ( (*p) == 42 )
241
+ goto st13;
242
+ goto st12;
243
+ st13:
244
+ if ( ++p == pe )
245
+ goto _test_eof13;
246
+ case 13:
247
+ switch( (*p) ) {
248
+ case 42: goto st13;
249
+ case 47: goto st10;
250
+ }
251
+ goto st12;
252
+ st14:
253
+ if ( ++p == pe )
254
+ goto _test_eof14;
255
+ case 14:
256
+ if ( (*p) == 10 )
257
+ goto st10;
258
+ goto st14;
259
+ st15:
260
+ if ( ++p == pe )
261
+ goto _test_eof15;
262
+ case 15:
263
+ switch( (*p) ) {
264
+ case 42: goto st16;
265
+ case 47: goto st18;
266
+ }
267
+ goto st0;
268
+ st16:
269
+ if ( ++p == pe )
270
+ goto _test_eof16;
271
+ case 16:
272
+ if ( (*p) == 42 )
273
+ goto st17;
274
+ goto st16;
275
+ st17:
276
+ if ( ++p == pe )
277
+ goto _test_eof17;
278
+ case 17:
279
+ switch( (*p) ) {
280
+ case 42: goto st17;
281
+ case 47: goto st9;
282
+ }
283
+ goto st16;
284
+ st18:
285
+ if ( ++p == pe )
286
+ goto _test_eof18;
287
+ case 18:
288
+ if ( (*p) == 10 )
289
+ goto st9;
290
+ goto st18;
291
+ tr4:
292
+ #line 88 "parser.rl"
293
+ { p--; {p++; cs = 27; goto _out;} }
294
+ goto st27;
295
+ st27:
296
+ if ( ++p == pe )
297
+ goto _test_eof27;
298
+ case 27:
299
+ #line 289 "parser.c"
300
+ goto st0;
301
+ st19:
302
+ if ( ++p == pe )
303
+ goto _test_eof19;
304
+ case 19:
305
+ switch( (*p) ) {
306
+ case 42: goto st20;
307
+ case 47: goto st22;
308
+ }
309
+ goto st0;
310
+ st20:
311
+ if ( ++p == pe )
312
+ goto _test_eof20;
313
+ case 20:
314
+ if ( (*p) == 42 )
315
+ goto st21;
316
+ goto st20;
317
+ st21:
318
+ if ( ++p == pe )
319
+ goto _test_eof21;
320
+ case 21:
321
+ switch( (*p) ) {
322
+ case 42: goto st21;
323
+ case 47: goto st8;
324
+ }
325
+ goto st20;
326
+ st22:
327
+ if ( ++p == pe )
328
+ goto _test_eof22;
329
+ case 22:
330
+ if ( (*p) == 10 )
331
+ goto st8;
332
+ goto st22;
333
+ st23:
334
+ if ( ++p == pe )
335
+ goto _test_eof23;
336
+ case 23:
337
+ switch( (*p) ) {
338
+ case 42: goto st24;
339
+ case 47: goto st26;
340
+ }
341
+ goto st0;
342
+ st24:
343
+ if ( ++p == pe )
344
+ goto _test_eof24;
345
+ case 24:
346
+ if ( (*p) == 42 )
347
+ goto st25;
348
+ goto st24;
349
+ st25:
350
+ if ( ++p == pe )
351
+ goto _test_eof25;
352
+ case 25:
353
+ switch( (*p) ) {
354
+ case 42: goto st25;
355
+ case 47: goto st2;
356
+ }
357
+ goto st24;
358
+ st26:
359
+ if ( ++p == pe )
360
+ goto _test_eof26;
361
+ case 26:
362
+ if ( (*p) == 10 )
363
+ goto st2;
364
+ goto st26;
365
+ }
366
+ _test_eof2: cs = 2; goto _test_eof;
367
+ _test_eof3: cs = 3; goto _test_eof;
368
+ _test_eof4: cs = 4; goto _test_eof;
369
+ _test_eof5: cs = 5; goto _test_eof;
370
+ _test_eof6: cs = 6; goto _test_eof;
371
+ _test_eof7: cs = 7; goto _test_eof;
372
+ _test_eof8: cs = 8; goto _test_eof;
373
+ _test_eof9: cs = 9; goto _test_eof;
374
+ _test_eof10: cs = 10; goto _test_eof;
375
+ _test_eof11: cs = 11; goto _test_eof;
376
+ _test_eof12: cs = 12; goto _test_eof;
377
+ _test_eof13: cs = 13; goto _test_eof;
378
+ _test_eof14: cs = 14; goto _test_eof;
379
+ _test_eof15: cs = 15; goto _test_eof;
380
+ _test_eof16: cs = 16; goto _test_eof;
381
+ _test_eof17: cs = 17; goto _test_eof;
382
+ _test_eof18: cs = 18; goto _test_eof;
383
+ _test_eof27: cs = 27; goto _test_eof;
384
+ _test_eof19: cs = 19; goto _test_eof;
385
+ _test_eof20: cs = 20; goto _test_eof;
386
+ _test_eof21: cs = 21; goto _test_eof;
387
+ _test_eof22: cs = 22; goto _test_eof;
388
+ _test_eof23: cs = 23; goto _test_eof;
389
+ _test_eof24: cs = 24; goto _test_eof;
390
+ _test_eof25: cs = 25; goto _test_eof;
391
+ _test_eof26: cs = 26; goto _test_eof;
392
+
393
+ _test_eof: {}
394
+ _out: {}
395
+ }
396
+ #line 112 "parser.rl"
397
+
398
+ if (cs >= JSON_object_first_final) {
399
+ if (RTEST(json->create_id)) {
400
+ VALUE klassname = rb_hash_aref(*result, json->create_id);
401
+ if (!NIL_P(klassname)) {
402
+ VALUE klass = rb_path2class(StringValueCStr(klassname));
403
+ if RTEST(rb_funcall(klass, i_json_creatable_p, 0)) {
404
+ *result = rb_funcall(klass, i_json_create, 1, *result);
405
+ }
406
+ }
407
+ }
408
+ return p + 1;
409
+ } else {
410
+ return NULL;
411
+ }
412
+ }
413
+
414
+
415
+ #line 405 "parser.c"
416
+ static const int JSON_value_start = 1;
417
+ static const int JSON_value_first_final = 21;
418
+ static const int JSON_value_error = 0;
419
+
420
+ static const int JSON_value_en_main = 1;
421
+
422
+ #line 210 "parser.rl"
423
+
424
+
425
+ static char *JSON_parse_value(JSON_Parser *json, char *p, char *pe, VALUE *result)
426
+ {
427
+ int cs = EVIL;
428
+
429
+
430
+ #line 420 "parser.c"
431
+ {
432
+ cs = JSON_value_start;
433
+ }
434
+ #line 217 "parser.rl"
435
+
436
+ #line 426 "parser.c"
437
+ {
438
+ if ( p == pe )
439
+ goto _test_eof;
440
+ switch ( cs )
441
+ {
442
+ case 1:
443
+ switch( (*p) ) {
444
+ case 34: goto tr0;
445
+ case 45: goto tr2;
446
+ case 73: goto st2;
447
+ case 78: goto st9;
448
+ case 91: goto tr5;
449
+ case 102: goto st11;
450
+ case 110: goto st15;
451
+ case 116: goto st18;
452
+ case 123: goto tr9;
453
+ }
454
+ if ( 48 <= (*p) && (*p) <= 57 )
455
+ goto tr2;
456
+ goto st0;
457
+ st0:
458
+ cs = 0;
459
+ goto _out;
460
+ tr0:
461
+ #line 158 "parser.rl"
462
+ {
463
+ char *np = JSON_parse_string(json, p, pe, result);
464
+ if (np == NULL) { p--; {p++; cs = 21; goto _out;} } else {p = (( np))-1;}
465
+ }
466
+ goto st21;
467
+ tr2:
468
+ #line 163 "parser.rl"
469
+ {
470
+ char *np;
471
+ if(pe > p + 9 && !strncmp(MinusInfinity, p, 9)) {
472
+ if (json->allow_nan) {
473
+ *result = CMinusInfinity;
474
+ {p = (( p + 10))-1;}
475
+ p--; {p++; cs = 21; goto _out;}
476
+ } else {
477
+ rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
478
+ }
479
+ }
480
+ np = JSON_parse_float(json, p, pe, result);
481
+ if (np != NULL) {p = (( np))-1;}
482
+ np = JSON_parse_integer(json, p, pe, result);
483
+ if (np != NULL) {p = (( np))-1;}
484
+ p--; {p++; cs = 21; goto _out;}
485
+ }
486
+ goto st21;
487
+ tr5:
488
+ #line 181 "parser.rl"
489
+ {
490
+ char *np;
491
+ json->current_nesting++;
492
+ np = JSON_parse_array(json, p, pe, result);
493
+ json->current_nesting--;
494
+ if (np == NULL) { p--; {p++; cs = 21; goto _out;} } else {p = (( np))-1;}
495
+ }
496
+ goto st21;
497
+ tr9:
498
+ #line 189 "parser.rl"
499
+ {
500
+ char *np;
501
+ json->current_nesting++;
502
+ np = JSON_parse_object(json, p, pe, result);
503
+ json->current_nesting--;
504
+ if (np == NULL) { p--; {p++; cs = 21; goto _out;} } else {p = (( np))-1;}
505
+ }
506
+ goto st21;
507
+ tr16:
508
+ #line 151 "parser.rl"
509
+ {
510
+ if (json->allow_nan) {
511
+ *result = CInfinity;
512
+ } else {
513
+ rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p - 8);
514
+ }
515
+ }
516
+ goto st21;
517
+ tr18:
518
+ #line 144 "parser.rl"
519
+ {
520
+ if (json->allow_nan) {
521
+ *result = CNaN;
522
+ } else {
523
+ rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p - 2);
524
+ }
525
+ }
526
+ goto st21;
527
+ tr22:
528
+ #line 138 "parser.rl"
529
+ {
530
+ *result = Qfalse;
531
+ }
532
+ goto st21;
533
+ tr25:
534
+ #line 135 "parser.rl"
535
+ {
536
+ *result = Qnil;
537
+ }
538
+ goto st21;
539
+ tr28:
540
+ #line 141 "parser.rl"
541
+ {
542
+ *result = Qtrue;
543
+ }
544
+ goto st21;
545
+ st21:
546
+ if ( ++p == pe )
547
+ goto _test_eof21;
548
+ case 21:
549
+ #line 197 "parser.rl"
550
+ { p--; {p++; cs = 21; goto _out;} }
551
+ #line 541 "parser.c"
552
+ goto st0;
553
+ st2:
554
+ if ( ++p == pe )
555
+ goto _test_eof2;
556
+ case 2:
557
+ if ( (*p) == 110 )
558
+ goto st3;
559
+ goto st0;
560
+ st3:
561
+ if ( ++p == pe )
562
+ goto _test_eof3;
563
+ case 3:
564
+ if ( (*p) == 102 )
565
+ goto st4;
566
+ goto st0;
567
+ st4:
568
+ if ( ++p == pe )
569
+ goto _test_eof4;
570
+ case 4:
571
+ if ( (*p) == 105 )
572
+ goto st5;
573
+ goto st0;
574
+ st5:
575
+ if ( ++p == pe )
576
+ goto _test_eof5;
577
+ case 5:
578
+ if ( (*p) == 110 )
579
+ goto st6;
580
+ goto st0;
581
+ st6:
582
+ if ( ++p == pe )
583
+ goto _test_eof6;
584
+ case 6:
585
+ if ( (*p) == 105 )
586
+ goto st7;
587
+ goto st0;
588
+ st7:
589
+ if ( ++p == pe )
590
+ goto _test_eof7;
591
+ case 7:
592
+ if ( (*p) == 116 )
593
+ goto st8;
594
+ goto st0;
595
+ st8:
596
+ if ( ++p == pe )
597
+ goto _test_eof8;
598
+ case 8:
599
+ if ( (*p) == 121 )
600
+ goto tr16;
601
+ goto st0;
602
+ st9:
603
+ if ( ++p == pe )
604
+ goto _test_eof9;
605
+ case 9:
606
+ if ( (*p) == 97 )
607
+ goto st10;
608
+ goto st0;
609
+ st10:
610
+ if ( ++p == pe )
611
+ goto _test_eof10;
612
+ case 10:
613
+ if ( (*p) == 78 )
614
+ goto tr18;
615
+ goto st0;
616
+ st11:
617
+ if ( ++p == pe )
618
+ goto _test_eof11;
619
+ case 11:
620
+ if ( (*p) == 97 )
621
+ goto st12;
622
+ goto st0;
623
+ st12:
624
+ if ( ++p == pe )
625
+ goto _test_eof12;
626
+ case 12:
627
+ if ( (*p) == 108 )
628
+ goto st13;
629
+ goto st0;
630
+ st13:
631
+ if ( ++p == pe )
632
+ goto _test_eof13;
633
+ case 13:
634
+ if ( (*p) == 115 )
635
+ goto st14;
636
+ goto st0;
637
+ st14:
638
+ if ( ++p == pe )
639
+ goto _test_eof14;
640
+ case 14:
641
+ if ( (*p) == 101 )
642
+ goto tr22;
643
+ goto st0;
644
+ st15:
645
+ if ( ++p == pe )
646
+ goto _test_eof15;
647
+ case 15:
648
+ if ( (*p) == 117 )
649
+ goto st16;
650
+ goto st0;
651
+ st16:
652
+ if ( ++p == pe )
653
+ goto _test_eof16;
654
+ case 16:
655
+ if ( (*p) == 108 )
656
+ goto st17;
657
+ goto st0;
658
+ st17:
659
+ if ( ++p == pe )
660
+ goto _test_eof17;
661
+ case 17:
662
+ if ( (*p) == 108 )
663
+ goto tr25;
664
+ goto st0;
665
+ st18:
666
+ if ( ++p == pe )
667
+ goto _test_eof18;
668
+ case 18:
669
+ if ( (*p) == 114 )
670
+ goto st19;
671
+ goto st0;
672
+ st19:
673
+ if ( ++p == pe )
674
+ goto _test_eof19;
675
+ case 19:
676
+ if ( (*p) == 117 )
677
+ goto st20;
678
+ goto st0;
679
+ st20:
680
+ if ( ++p == pe )
681
+ goto _test_eof20;
682
+ case 20:
683
+ if ( (*p) == 101 )
684
+ goto tr28;
685
+ goto st0;
686
+ }
687
+ _test_eof21: cs = 21; goto _test_eof;
688
+ _test_eof2: cs = 2; goto _test_eof;
689
+ _test_eof3: cs = 3; goto _test_eof;
690
+ _test_eof4: cs = 4; goto _test_eof;
691
+ _test_eof5: cs = 5; goto _test_eof;
692
+ _test_eof6: cs = 6; goto _test_eof;
693
+ _test_eof7: cs = 7; goto _test_eof;
694
+ _test_eof8: cs = 8; goto _test_eof;
695
+ _test_eof9: cs = 9; goto _test_eof;
696
+ _test_eof10: cs = 10; goto _test_eof;
697
+ _test_eof11: cs = 11; goto _test_eof;
698
+ _test_eof12: cs = 12; goto _test_eof;
699
+ _test_eof13: cs = 13; goto _test_eof;
700
+ _test_eof14: cs = 14; goto _test_eof;
701
+ _test_eof15: cs = 15; goto _test_eof;
702
+ _test_eof16: cs = 16; goto _test_eof;
703
+ _test_eof17: cs = 17; goto _test_eof;
704
+ _test_eof18: cs = 18; goto _test_eof;
705
+ _test_eof19: cs = 19; goto _test_eof;
706
+ _test_eof20: cs = 20; goto _test_eof;
707
+
708
+ _test_eof: {}
709
+ _out: {}
710
+ }
711
+ #line 218 "parser.rl"
712
+
713
+ if (cs >= JSON_value_first_final) {
714
+ return p;
715
+ } else {
716
+ return NULL;
717
+ }
718
+ }
719
+
720
+
721
+ #line 711 "parser.c"
722
+ static const int JSON_integer_start = 1;
723
+ static const int JSON_integer_first_final = 5;
724
+ static const int JSON_integer_error = 0;
725
+
726
+ static const int JSON_integer_en_main = 1;
727
+
728
+ #line 234 "parser.rl"
729
+
730
+
731
+ static char *JSON_parse_integer(JSON_Parser *json, char *p, char *pe, VALUE *result)
732
+ {
733
+ int cs = EVIL;
734
+
735
+
736
+ #line 726 "parser.c"
737
+ {
738
+ cs = JSON_integer_start;
739
+ }
740
+ #line 241 "parser.rl"
741
+ json->memo = p;
742
+
743
+ #line 733 "parser.c"
744
+ {
745
+ if ( p == pe )
746
+ goto _test_eof;
747
+ switch ( cs )
748
+ {
749
+ case 1:
750
+ switch( (*p) ) {
751
+ case 45: goto st2;
752
+ case 48: goto st3;
753
+ }
754
+ if ( 49 <= (*p) && (*p) <= 57 )
755
+ goto st4;
756
+ goto st0;
757
+ st0:
758
+ cs = 0;
759
+ goto _out;
760
+ st2:
761
+ if ( ++p == pe )
762
+ goto _test_eof2;
763
+ case 2:
764
+ if ( (*p) == 48 )
765
+ goto st3;
766
+ if ( 49 <= (*p) && (*p) <= 57 )
767
+ goto st4;
768
+ goto st0;
769
+ st3:
770
+ if ( ++p == pe )
771
+ goto _test_eof3;
772
+ case 3:
773
+ if ( 48 <= (*p) && (*p) <= 57 )
774
+ goto st0;
775
+ goto tr4;
776
+ tr4:
777
+ #line 231 "parser.rl"
778
+ { p--; {p++; cs = 5; goto _out;} }
779
+ goto st5;
780
+ st5:
781
+ if ( ++p == pe )
782
+ goto _test_eof5;
783
+ case 5:
784
+ #line 774 "parser.c"
785
+ goto st0;
786
+ st4:
787
+ if ( ++p == pe )
788
+ goto _test_eof4;
789
+ case 4:
790
+ if ( 48 <= (*p) && (*p) <= 57 )
791
+ goto st4;
792
+ goto tr4;
793
+ }
794
+ _test_eof2: cs = 2; goto _test_eof;
795
+ _test_eof3: cs = 3; goto _test_eof;
796
+ _test_eof5: cs = 5; goto _test_eof;
797
+ _test_eof4: cs = 4; goto _test_eof;
798
+
799
+ _test_eof: {}
800
+ _out: {}
801
+ }
802
+ #line 243 "parser.rl"
803
+
804
+ if (cs >= JSON_integer_first_final) {
805
+ long len = p - json->memo;
806
+ *result = rb_Integer(rb_str_new(json->memo, len));
807
+ return p + 1;
808
+ } else {
809
+ return NULL;
810
+ }
811
+ }
812
+
813
+
814
+ #line 804 "parser.c"
815
+ static const int JSON_float_start = 1;
816
+ static const int JSON_float_first_final = 10;
817
+ static const int JSON_float_error = 0;
818
+
819
+ static const int JSON_float_en_main = 1;
820
+
821
+ #line 265 "parser.rl"
822
+
823
+
824
+ static char *JSON_parse_float(JSON_Parser *json, char *p, char *pe, VALUE *result)
825
+ {
826
+ int cs = EVIL;
827
+
828
+
829
+ #line 819 "parser.c"
830
+ {
831
+ cs = JSON_float_start;
832
+ }
833
+ #line 272 "parser.rl"
834
+ json->memo = p;
835
+
836
+ #line 826 "parser.c"
837
+ {
838
+ if ( p == pe )
839
+ goto _test_eof;
840
+ switch ( cs )
841
+ {
842
+ case 1:
843
+ switch( (*p) ) {
844
+ case 45: goto st2;
845
+ case 48: goto st3;
846
+ }
847
+ if ( 49 <= (*p) && (*p) <= 57 )
848
+ goto st9;
849
+ goto st0;
850
+ st0:
851
+ cs = 0;
852
+ goto _out;
853
+ st2:
854
+ if ( ++p == pe )
855
+ goto _test_eof2;
856
+ case 2:
857
+ if ( (*p) == 48 )
858
+ goto st3;
859
+ if ( 49 <= (*p) && (*p) <= 57 )
860
+ goto st9;
861
+ goto st0;
862
+ st3:
863
+ if ( ++p == pe )
864
+ goto _test_eof3;
865
+ case 3:
866
+ switch( (*p) ) {
867
+ case 46: goto st4;
868
+ case 69: goto st6;
869
+ case 101: goto st6;
870
+ }
871
+ goto st0;
872
+ st4:
873
+ if ( ++p == pe )
874
+ goto _test_eof4;
875
+ case 4:
876
+ if ( 48 <= (*p) && (*p) <= 57 )
877
+ goto st5;
878
+ goto st0;
879
+ st5:
880
+ if ( ++p == pe )
881
+ goto _test_eof5;
882
+ case 5:
883
+ switch( (*p) ) {
884
+ case 69: goto st6;
885
+ case 101: goto st6;
886
+ }
887
+ if ( (*p) > 46 ) {
888
+ if ( 48 <= (*p) && (*p) <= 57 )
889
+ goto st5;
890
+ } else if ( (*p) >= 45 )
891
+ goto st0;
892
+ goto tr7;
893
+ tr7:
894
+ #line 259 "parser.rl"
895
+ { p--; {p++; cs = 10; goto _out;} }
896
+ goto st10;
897
+ st10:
898
+ if ( ++p == pe )
899
+ goto _test_eof10;
900
+ case 10:
901
+ #line 891 "parser.c"
902
+ goto st0;
903
+ st6:
904
+ if ( ++p == pe )
905
+ goto _test_eof6;
906
+ case 6:
907
+ switch( (*p) ) {
908
+ case 43: goto st7;
909
+ case 45: goto st7;
910
+ }
911
+ if ( 48 <= (*p) && (*p) <= 57 )
912
+ goto st8;
913
+ goto st0;
914
+ st7:
915
+ if ( ++p == pe )
916
+ goto _test_eof7;
917
+ case 7:
918
+ if ( 48 <= (*p) && (*p) <= 57 )
919
+ goto st8;
920
+ goto st0;
921
+ st8:
922
+ if ( ++p == pe )
923
+ goto _test_eof8;
924
+ case 8:
925
+ switch( (*p) ) {
926
+ case 69: goto st0;
927
+ case 101: goto st0;
928
+ }
929
+ if ( (*p) > 46 ) {
930
+ if ( 48 <= (*p) && (*p) <= 57 )
931
+ goto st8;
932
+ } else if ( (*p) >= 45 )
933
+ goto st0;
934
+ goto tr7;
935
+ st9:
936
+ if ( ++p == pe )
937
+ goto _test_eof9;
938
+ case 9:
939
+ switch( (*p) ) {
940
+ case 46: goto st4;
941
+ case 69: goto st6;
942
+ case 101: goto st6;
943
+ }
944
+ if ( 48 <= (*p) && (*p) <= 57 )
945
+ goto st9;
946
+ goto st0;
947
+ }
948
+ _test_eof2: cs = 2; goto _test_eof;
949
+ _test_eof3: cs = 3; goto _test_eof;
950
+ _test_eof4: cs = 4; goto _test_eof;
951
+ _test_eof5: cs = 5; goto _test_eof;
952
+ _test_eof10: cs = 10; goto _test_eof;
953
+ _test_eof6: cs = 6; goto _test_eof;
954
+ _test_eof7: cs = 7; goto _test_eof;
955
+ _test_eof8: cs = 8; goto _test_eof;
956
+ _test_eof9: cs = 9; goto _test_eof;
957
+
958
+ _test_eof: {}
959
+ _out: {}
960
+ }
961
+ #line 274 "parser.rl"
962
+
963
+ if (cs >= JSON_float_first_final) {
964
+ long len = p - json->memo;
965
+ *result = rb_Float(rb_str_new(json->memo, len));
966
+ return p + 1;
967
+ } else {
968
+ return NULL;
969
+ }
970
+ }
971
+
972
+
973
+
974
+ #line 964 "parser.c"
975
+ static const int JSON_array_start = 1;
976
+ static const int JSON_array_first_final = 17;
977
+ static const int JSON_array_error = 0;
978
+
979
+ static const int JSON_array_en_main = 1;
980
+
981
+ #line 310 "parser.rl"
982
+
983
+
984
+ static char *JSON_parse_array(JSON_Parser *json, char *p, char *pe, VALUE *result)
985
+ {
986
+ int cs = EVIL;
987
+
988
+ if (json->max_nesting && json->current_nesting > json->max_nesting) {
989
+ rb_raise(eNestingError, "nesting of %d is to deep", json->current_nesting);
990
+ }
991
+ *result = rb_ary_new();
992
+
993
+
994
+ #line 984 "parser.c"
995
+ {
996
+ cs = JSON_array_start;
997
+ }
998
+ #line 322 "parser.rl"
999
+
1000
+ #line 990 "parser.c"
1001
+ {
1002
+ if ( p == pe )
1003
+ goto _test_eof;
1004
+ switch ( cs )
1005
+ {
1006
+ case 1:
1007
+ if ( (*p) == 91 )
1008
+ goto st2;
1009
+ goto st0;
1010
+ st0:
1011
+ cs = 0;
1012
+ goto _out;
1013
+ st2:
1014
+ if ( ++p == pe )
1015
+ goto _test_eof2;
1016
+ case 2:
1017
+ switch( (*p) ) {
1018
+ case 13: goto st2;
1019
+ case 32: goto st2;
1020
+ case 34: goto tr2;
1021
+ case 45: goto tr2;
1022
+ case 47: goto st13;
1023
+ case 73: goto tr2;
1024
+ case 78: goto tr2;
1025
+ case 91: goto tr2;
1026
+ case 93: goto tr4;
1027
+ case 102: goto tr2;
1028
+ case 110: goto tr2;
1029
+ case 116: goto tr2;
1030
+ case 123: goto tr2;
1031
+ }
1032
+ if ( (*p) > 10 ) {
1033
+ if ( 48 <= (*p) && (*p) <= 57 )
1034
+ goto tr2;
1035
+ } else if ( (*p) >= 9 )
1036
+ goto st2;
1037
+ goto st0;
1038
+ tr2:
1039
+ #line 291 "parser.rl"
1040
+ {
1041
+ VALUE v = Qnil;
1042
+ char *np = JSON_parse_value(json, p, pe, &v);
1043
+ if (np == NULL) {
1044
+ p--; {p++; cs = 3; goto _out;}
1045
+ } else {
1046
+ rb_ary_push(*result, v);
1047
+ {p = (( np))-1;}
1048
+ }
1049
+ }
1050
+ goto st3;
1051
+ st3:
1052
+ if ( ++p == pe )
1053
+ goto _test_eof3;
1054
+ case 3:
1055
+ #line 1045 "parser.c"
1056
+ switch( (*p) ) {
1057
+ case 13: goto st3;
1058
+ case 32: goto st3;
1059
+ case 44: goto st4;
1060
+ case 47: goto st9;
1061
+ case 93: goto tr4;
1062
+ }
1063
+ if ( 9 <= (*p) && (*p) <= 10 )
1064
+ goto st3;
1065
+ goto st0;
1066
+ st4:
1067
+ if ( ++p == pe )
1068
+ goto _test_eof4;
1069
+ case 4:
1070
+ switch( (*p) ) {
1071
+ case 13: goto st4;
1072
+ case 32: goto st4;
1073
+ case 34: goto tr2;
1074
+ case 45: goto tr2;
1075
+ case 47: goto st5;
1076
+ case 73: goto tr2;
1077
+ case 78: goto tr2;
1078
+ case 91: goto tr2;
1079
+ case 102: goto tr2;
1080
+ case 110: goto tr2;
1081
+ case 116: goto tr2;
1082
+ case 123: goto tr2;
1083
+ }
1084
+ if ( (*p) > 10 ) {
1085
+ if ( 48 <= (*p) && (*p) <= 57 )
1086
+ goto tr2;
1087
+ } else if ( (*p) >= 9 )
1088
+ goto st4;
1089
+ goto st0;
1090
+ st5:
1091
+ if ( ++p == pe )
1092
+ goto _test_eof5;
1093
+ case 5:
1094
+ switch( (*p) ) {
1095
+ case 42: goto st6;
1096
+ case 47: goto st8;
1097
+ }
1098
+ goto st0;
1099
+ st6:
1100
+ if ( ++p == pe )
1101
+ goto _test_eof6;
1102
+ case 6:
1103
+ if ( (*p) == 42 )
1104
+ goto st7;
1105
+ goto st6;
1106
+ st7:
1107
+ if ( ++p == pe )
1108
+ goto _test_eof7;
1109
+ case 7:
1110
+ switch( (*p) ) {
1111
+ case 42: goto st7;
1112
+ case 47: goto st4;
1113
+ }
1114
+ goto st6;
1115
+ st8:
1116
+ if ( ++p == pe )
1117
+ goto _test_eof8;
1118
+ case 8:
1119
+ if ( (*p) == 10 )
1120
+ goto st4;
1121
+ goto st8;
1122
+ st9:
1123
+ if ( ++p == pe )
1124
+ goto _test_eof9;
1125
+ case 9:
1126
+ switch( (*p) ) {
1127
+ case 42: goto st10;
1128
+ case 47: goto st12;
1129
+ }
1130
+ goto st0;
1131
+ st10:
1132
+ if ( ++p == pe )
1133
+ goto _test_eof10;
1134
+ case 10:
1135
+ if ( (*p) == 42 )
1136
+ goto st11;
1137
+ goto st10;
1138
+ st11:
1139
+ if ( ++p == pe )
1140
+ goto _test_eof11;
1141
+ case 11:
1142
+ switch( (*p) ) {
1143
+ case 42: goto st11;
1144
+ case 47: goto st3;
1145
+ }
1146
+ goto st10;
1147
+ st12:
1148
+ if ( ++p == pe )
1149
+ goto _test_eof12;
1150
+ case 12:
1151
+ if ( (*p) == 10 )
1152
+ goto st3;
1153
+ goto st12;
1154
+ tr4:
1155
+ #line 302 "parser.rl"
1156
+ { p--; {p++; cs = 17; goto _out;} }
1157
+ goto st17;
1158
+ st17:
1159
+ if ( ++p == pe )
1160
+ goto _test_eof17;
1161
+ case 17:
1162
+ #line 1152 "parser.c"
1163
+ goto st0;
1164
+ st13:
1165
+ if ( ++p == pe )
1166
+ goto _test_eof13;
1167
+ case 13:
1168
+ switch( (*p) ) {
1169
+ case 42: goto st14;
1170
+ case 47: goto st16;
1171
+ }
1172
+ goto st0;
1173
+ st14:
1174
+ if ( ++p == pe )
1175
+ goto _test_eof14;
1176
+ case 14:
1177
+ if ( (*p) == 42 )
1178
+ goto st15;
1179
+ goto st14;
1180
+ st15:
1181
+ if ( ++p == pe )
1182
+ goto _test_eof15;
1183
+ case 15:
1184
+ switch( (*p) ) {
1185
+ case 42: goto st15;
1186
+ case 47: goto st2;
1187
+ }
1188
+ goto st14;
1189
+ st16:
1190
+ if ( ++p == pe )
1191
+ goto _test_eof16;
1192
+ case 16:
1193
+ if ( (*p) == 10 )
1194
+ goto st2;
1195
+ goto st16;
1196
+ }
1197
+ _test_eof2: cs = 2; goto _test_eof;
1198
+ _test_eof3: cs = 3; goto _test_eof;
1199
+ _test_eof4: cs = 4; goto _test_eof;
1200
+ _test_eof5: cs = 5; goto _test_eof;
1201
+ _test_eof6: cs = 6; goto _test_eof;
1202
+ _test_eof7: cs = 7; goto _test_eof;
1203
+ _test_eof8: cs = 8; goto _test_eof;
1204
+ _test_eof9: cs = 9; goto _test_eof;
1205
+ _test_eof10: cs = 10; goto _test_eof;
1206
+ _test_eof11: cs = 11; goto _test_eof;
1207
+ _test_eof12: cs = 12; goto _test_eof;
1208
+ _test_eof17: cs = 17; goto _test_eof;
1209
+ _test_eof13: cs = 13; goto _test_eof;
1210
+ _test_eof14: cs = 14; goto _test_eof;
1211
+ _test_eof15: cs = 15; goto _test_eof;
1212
+ _test_eof16: cs = 16; goto _test_eof;
1213
+
1214
+ _test_eof: {}
1215
+ _out: {}
1216
+ }
1217
+ #line 323 "parser.rl"
1218
+
1219
+ if(cs >= JSON_array_first_final) {
1220
+ return p + 1;
1221
+ } else {
1222
+ rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
1223
+ }
1224
+ }
1225
+
1226
+ static VALUE json_string_unescape(char *p, char *pe)
1227
+ {
1228
+ VALUE result = rb_str_buf_new(pe - p + 1);
1229
+
1230
+ while (p < pe) {
1231
+ if (*p == '\\') {
1232
+ p++;
1233
+ if (p >= pe) return Qnil; /* raise an exception later, \ at end */
1234
+ switch (*p) {
1235
+ case '"':
1236
+ case '\\':
1237
+ rb_str_buf_cat(result, p, 1);
1238
+ p++;
1239
+ break;
1240
+ case 'b':
1241
+ rb_str_buf_cat2(result, "\b");
1242
+ p++;
1243
+ break;
1244
+ case 'f':
1245
+ rb_str_buf_cat2(result, "\f");
1246
+ p++;
1247
+ break;
1248
+ case 'n':
1249
+ rb_str_buf_cat2(result, "\n");
1250
+ p++;
1251
+ break;
1252
+ case 'r':
1253
+ rb_str_buf_cat2(result, "\r");
1254
+ p++;
1255
+ break;
1256
+ case 't':
1257
+ rb_str_buf_cat2(result, "\t");
1258
+ p++;
1259
+ break;
1260
+ case 'u':
1261
+ if (p > pe - 4) {
1262
+ return Qnil;
1263
+ } else {
1264
+ p = JSON_convert_UTF16_to_UTF8(result, p, pe, strictConversion);
1265
+ }
1266
+ break;
1267
+ default:
1268
+ rb_str_buf_cat(result, p, 1);
1269
+ p++;
1270
+ break;
1271
+ }
1272
+ } else {
1273
+ char *q = p;
1274
+ while (*q != '\\' && q < pe) q++;
1275
+ rb_str_buf_cat(result, p, q - p);
1276
+ p = q;
1277
+ }
1278
+ }
1279
+ return result;
1280
+ }
1281
+
1282
+
1283
+ #line 1273 "parser.c"
1284
+ static const int JSON_string_start = 1;
1285
+ static const int JSON_string_first_final = 8;
1286
+ static const int JSON_string_error = 0;
1287
+
1288
+ static const int JSON_string_en_main = 1;
1289
+
1290
+ #line 401 "parser.rl"
1291
+
1292
+
1293
+ static char *JSON_parse_string(JSON_Parser *json, char *p, char *pe, VALUE *result)
1294
+ {
1295
+ int cs = EVIL;
1296
+
1297
+ *result = rb_str_new("", 0);
1298
+
1299
+ #line 1289 "parser.c"
1300
+ {
1301
+ cs = JSON_string_start;
1302
+ }
1303
+ #line 409 "parser.rl"
1304
+ json->memo = p;
1305
+
1306
+ #line 1296 "parser.c"
1307
+ {
1308
+ if ( p == pe )
1309
+ goto _test_eof;
1310
+ switch ( cs )
1311
+ {
1312
+ case 1:
1313
+ if ( (*p) == 34 )
1314
+ goto st2;
1315
+ goto st0;
1316
+ st0:
1317
+ cs = 0;
1318
+ goto _out;
1319
+ st2:
1320
+ if ( ++p == pe )
1321
+ goto _test_eof2;
1322
+ case 2:
1323
+ switch( (*p) ) {
1324
+ case 34: goto tr2;
1325
+ case 92: goto st3;
1326
+ }
1327
+ if ( 0 <= (*p) && (*p) <= 31 )
1328
+ goto st0;
1329
+ goto st2;
1330
+ tr2:
1331
+ #line 393 "parser.rl"
1332
+ {
1333
+ *result = json_string_unescape(json->memo + 1, p);
1334
+ if (NIL_P(*result)) { p--; {p++; cs = 8; goto _out;} } else {p = (( p + 1))-1;}
1335
+ }
1336
+ #line 398 "parser.rl"
1337
+ { p--; {p++; cs = 8; goto _out;} }
1338
+ goto st8;
1339
+ st8:
1340
+ if ( ++p == pe )
1341
+ goto _test_eof8;
1342
+ case 8:
1343
+ #line 1333 "parser.c"
1344
+ goto st0;
1345
+ st3:
1346
+ if ( ++p == pe )
1347
+ goto _test_eof3;
1348
+ case 3:
1349
+ if ( (*p) == 117 )
1350
+ goto st4;
1351
+ if ( 0 <= (*p) && (*p) <= 31 )
1352
+ goto st0;
1353
+ goto st2;
1354
+ st4:
1355
+ if ( ++p == pe )
1356
+ goto _test_eof4;
1357
+ case 4:
1358
+ if ( (*p) < 65 ) {
1359
+ if ( 48 <= (*p) && (*p) <= 57 )
1360
+ goto st5;
1361
+ } else if ( (*p) > 70 ) {
1362
+ if ( 97 <= (*p) && (*p) <= 102 )
1363
+ goto st5;
1364
+ } else
1365
+ goto st5;
1366
+ goto st0;
1367
+ st5:
1368
+ if ( ++p == pe )
1369
+ goto _test_eof5;
1370
+ case 5:
1371
+ if ( (*p) < 65 ) {
1372
+ if ( 48 <= (*p) && (*p) <= 57 )
1373
+ goto st6;
1374
+ } else if ( (*p) > 70 ) {
1375
+ if ( 97 <= (*p) && (*p) <= 102 )
1376
+ goto st6;
1377
+ } else
1378
+ goto st6;
1379
+ goto st0;
1380
+ st6:
1381
+ if ( ++p == pe )
1382
+ goto _test_eof6;
1383
+ case 6:
1384
+ if ( (*p) < 65 ) {
1385
+ if ( 48 <= (*p) && (*p) <= 57 )
1386
+ goto st7;
1387
+ } else if ( (*p) > 70 ) {
1388
+ if ( 97 <= (*p) && (*p) <= 102 )
1389
+ goto st7;
1390
+ } else
1391
+ goto st7;
1392
+ goto st0;
1393
+ st7:
1394
+ if ( ++p == pe )
1395
+ goto _test_eof7;
1396
+ case 7:
1397
+ if ( (*p) < 65 ) {
1398
+ if ( 48 <= (*p) && (*p) <= 57 )
1399
+ goto st2;
1400
+ } else if ( (*p) > 70 ) {
1401
+ if ( 97 <= (*p) && (*p) <= 102 )
1402
+ goto st2;
1403
+ } else
1404
+ goto st2;
1405
+ goto st0;
1406
+ }
1407
+ _test_eof2: cs = 2; goto _test_eof;
1408
+ _test_eof8: cs = 8; goto _test_eof;
1409
+ _test_eof3: cs = 3; goto _test_eof;
1410
+ _test_eof4: cs = 4; goto _test_eof;
1411
+ _test_eof5: cs = 5; goto _test_eof;
1412
+ _test_eof6: cs = 6; goto _test_eof;
1413
+ _test_eof7: cs = 7; goto _test_eof;
1414
+
1415
+ _test_eof: {}
1416
+ _out: {}
1417
+ }
1418
+ #line 411 "parser.rl"
1419
+
1420
+ if (cs >= JSON_string_first_final) {
1421
+ return p + 1;
1422
+ } else {
1423
+ return NULL;
1424
+ }
1425
+ }
1426
+
1427
+
1428
+
1429
+ #line 1419 "parser.c"
1430
+ static const int JSON_start = 1;
1431
+ static const int JSON_first_final = 10;
1432
+ static const int JSON_error = 0;
1433
+
1434
+ static const int JSON_en_main = 1;
1435
+
1436
+ #line 445 "parser.rl"
1437
+
1438
+
1439
+ /*
1440
+ * Document-class: JSON::Ext::Parser
1441
+ *
1442
+ * This is the JSON parser implemented as a C extension. It can be configured
1443
+ * to be used by setting
1444
+ *
1445
+ * JSON.parser = JSON::Ext::Parser
1446
+ *
1447
+ * with the method parser= in JSON.
1448
+ *
1449
+ */
1450
+
1451
+ /*
1452
+ * call-seq: new(source, opts => {})
1453
+ *
1454
+ * Creates a new JSON::Ext::Parser instance for the string _source_.
1455
+ *
1456
+ * Creates a new JSON::Ext::Parser instance for the string _source_.
1457
+ *
1458
+ * It will be configured by the _opts_ hash. _opts_ can have the following
1459
+ * keys:
1460
+ *
1461
+ * _opts_ can have the following keys:
1462
+ * * *max_nesting*: The maximum depth of nesting allowed in the parsed data
1463
+ * structures. Disable depth checking with :max_nesting => false|nil|0, it
1464
+ * defaults to 19.
1465
+ * * *allow_nan*: If set to true, allow NaN, Infinity and -Infinity in
1466
+ * defiance of RFC 4627 to be parsed by the Parser. This option defaults to
1467
+ * false.
1468
+ * * *create_additions*: If set to false, the Parser doesn't create
1469
+ * additions even if a matchin class and create_id was found. This option
1470
+ * defaults to true.
1471
+ */
1472
+ static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
1473
+ {
1474
+ char *ptr;
1475
+ long len;
1476
+ VALUE source, opts;
1477
+ GET_STRUCT;
1478
+ rb_scan_args(argc, argv, "11", &source, &opts);
1479
+ source = StringValue(source);
1480
+ ptr = RSTRING_PTR(source);
1481
+ len = RSTRING_LEN(source);
1482
+ if (len < 2) {
1483
+ rb_raise(eParserError, "A JSON text must at least contain two octets!");
1484
+ }
1485
+ if (!NIL_P(opts)) {
1486
+ opts = rb_convert_type(opts, T_HASH, "Hash", "to_hash");
1487
+ if (NIL_P(opts)) {
1488
+ rb_raise(rb_eArgError, "opts needs to be like a hash");
1489
+ } else {
1490
+ VALUE tmp = ID2SYM(i_max_nesting);
1491
+ if (st_lookup(RHASH(opts)->tbl, tmp, 0)) {
1492
+ VALUE max_nesting = rb_hash_aref(opts, tmp);
1493
+ if (RTEST(max_nesting)) {
1494
+ Check_Type(max_nesting, T_FIXNUM);
1495
+ json->max_nesting = FIX2INT(max_nesting);
1496
+ } else {
1497
+ json->max_nesting = 0;
1498
+ }
1499
+ } else {
1500
+ json->max_nesting = 19;
1501
+ }
1502
+ tmp = ID2SYM(i_allow_nan);
1503
+ if (st_lookup(RHASH(opts)->tbl, tmp, 0)) {
1504
+ VALUE allow_nan = rb_hash_aref(opts, tmp);
1505
+ json->allow_nan = RTEST(allow_nan) ? 1 : 0;
1506
+ } else {
1507
+ json->allow_nan = 0;
1508
+ }
1509
+ tmp = ID2SYM(i_create_additions);
1510
+ if (st_lookup(RHASH(opts)->tbl, tmp, 0)) {
1511
+ VALUE create_additions = rb_hash_aref(opts, tmp);
1512
+ if (RTEST(create_additions)) {
1513
+ json->create_id = rb_funcall(mJSON, i_create_id, 0);
1514
+ } else {
1515
+ json->create_id = Qnil;
1516
+ }
1517
+ } else {
1518
+ json->create_id = rb_funcall(mJSON, i_create_id, 0);
1519
+ }
1520
+ }
1521
+ } else {
1522
+ json->max_nesting = 19;
1523
+ json->allow_nan = 0;
1524
+ json->create_id = rb_funcall(mJSON, i_create_id, 0);
1525
+ }
1526
+ json->current_nesting = 0;
1527
+ /*
1528
+ Convert these?
1529
+ if (len >= 4 && ptr[0] == 0 && ptr[1] == 0 && ptr[2] == 0) {
1530
+ rb_raise(eParserError, "Only UTF8 octet streams are supported atm!");
1531
+ } else if (len >= 4 && ptr[0] == 0 && ptr[2] == 0) {
1532
+ rb_raise(eParserError, "Only UTF8 octet streams are supported atm!");
1533
+ } else if (len >= 4 && ptr[1] == 0 && ptr[2] == 0 && ptr[3] == 0) {
1534
+ rb_raise(eParserError, "Only UTF8 octet streams are supported atm!");
1535
+ } else if (len >= 4 && ptr[1] == 0 && ptr[3] == 0) {
1536
+ rb_raise(eParserError, "Only UTF8 octet streams are supported atm!");
1537
+ }
1538
+ */
1539
+ json->len = len;
1540
+ json->source = ptr;
1541
+ json->Vsource = source;
1542
+ return self;
1543
+ }
1544
+
1545
+ /*
1546
+ * call-seq: parse()
1547
+ *
1548
+ * Parses the current JSON text _source_ and returns the complete data
1549
+ * structure as a result.
1550
+ */
1551
+ static VALUE cParser_parse(VALUE self)
1552
+ {
1553
+ char *p, *pe;
1554
+ int cs = EVIL;
1555
+ VALUE result = Qnil;
1556
+ GET_STRUCT;
1557
+
1558
+
1559
+ #line 1549 "parser.c"
1560
+ {
1561
+ cs = JSON_start;
1562
+ }
1563
+ #line 567 "parser.rl"
1564
+ p = json->source;
1565
+ pe = p + json->len;
1566
+
1567
+ #line 1557 "parser.c"
1568
+ {
1569
+ if ( p == pe )
1570
+ goto _test_eof;
1571
+ switch ( cs )
1572
+ {
1573
+ st1:
1574
+ if ( ++p == pe )
1575
+ goto _test_eof1;
1576
+ case 1:
1577
+ switch( (*p) ) {
1578
+ case 13: goto st1;
1579
+ case 32: goto st1;
1580
+ case 47: goto st2;
1581
+ case 91: goto tr3;
1582
+ case 123: goto tr4;
1583
+ }
1584
+ if ( 9 <= (*p) && (*p) <= 10 )
1585
+ goto st1;
1586
+ goto st0;
1587
+ st0:
1588
+ cs = 0;
1589
+ goto _out;
1590
+ st2:
1591
+ if ( ++p == pe )
1592
+ goto _test_eof2;
1593
+ case 2:
1594
+ switch( (*p) ) {
1595
+ case 42: goto st3;
1596
+ case 47: goto st5;
1597
+ }
1598
+ goto st0;
1599
+ st3:
1600
+ if ( ++p == pe )
1601
+ goto _test_eof3;
1602
+ case 3:
1603
+ if ( (*p) == 42 )
1604
+ goto st4;
1605
+ goto st3;
1606
+ st4:
1607
+ if ( ++p == pe )
1608
+ goto _test_eof4;
1609
+ case 4:
1610
+ switch( (*p) ) {
1611
+ case 42: goto st4;
1612
+ case 47: goto st1;
1613
+ }
1614
+ goto st3;
1615
+ st5:
1616
+ if ( ++p == pe )
1617
+ goto _test_eof5;
1618
+ case 5:
1619
+ if ( (*p) == 10 )
1620
+ goto st1;
1621
+ goto st5;
1622
+ tr3:
1623
+ #line 434 "parser.rl"
1624
+ {
1625
+ char *np;
1626
+ json->current_nesting = 1;
1627
+ np = JSON_parse_array(json, p, pe, &result);
1628
+ if (np == NULL) { p--; {p++; cs = 10; goto _out;} } else {p = (( np))-1;}
1629
+ }
1630
+ goto st10;
1631
+ tr4:
1632
+ #line 427 "parser.rl"
1633
+ {
1634
+ char *np;
1635
+ json->current_nesting = 1;
1636
+ np = JSON_parse_object(json, p, pe, &result);
1637
+ if (np == NULL) { p--; {p++; cs = 10; goto _out;} } else {p = (( np))-1;}
1638
+ }
1639
+ goto st10;
1640
+ st10:
1641
+ if ( ++p == pe )
1642
+ goto _test_eof10;
1643
+ case 10:
1644
+ #line 1634 "parser.c"
1645
+ switch( (*p) ) {
1646
+ case 13: goto st10;
1647
+ case 32: goto st10;
1648
+ case 47: goto st6;
1649
+ }
1650
+ if ( 9 <= (*p) && (*p) <= 10 )
1651
+ goto st10;
1652
+ goto st0;
1653
+ st6:
1654
+ if ( ++p == pe )
1655
+ goto _test_eof6;
1656
+ case 6:
1657
+ switch( (*p) ) {
1658
+ case 42: goto st7;
1659
+ case 47: goto st9;
1660
+ }
1661
+ goto st0;
1662
+ st7:
1663
+ if ( ++p == pe )
1664
+ goto _test_eof7;
1665
+ case 7:
1666
+ if ( (*p) == 42 )
1667
+ goto st8;
1668
+ goto st7;
1669
+ st8:
1670
+ if ( ++p == pe )
1671
+ goto _test_eof8;
1672
+ case 8:
1673
+ switch( (*p) ) {
1674
+ case 42: goto st8;
1675
+ case 47: goto st10;
1676
+ }
1677
+ goto st7;
1678
+ st9:
1679
+ if ( ++p == pe )
1680
+ goto _test_eof9;
1681
+ case 9:
1682
+ if ( (*p) == 10 )
1683
+ goto st10;
1684
+ goto st9;
1685
+ }
1686
+ _test_eof1: cs = 1; goto _test_eof;
1687
+ _test_eof2: cs = 2; goto _test_eof;
1688
+ _test_eof3: cs = 3; goto _test_eof;
1689
+ _test_eof4: cs = 4; goto _test_eof;
1690
+ _test_eof5: cs = 5; goto _test_eof;
1691
+ _test_eof10: cs = 10; goto _test_eof;
1692
+ _test_eof6: cs = 6; goto _test_eof;
1693
+ _test_eof7: cs = 7; goto _test_eof;
1694
+ _test_eof8: cs = 8; goto _test_eof;
1695
+ _test_eof9: cs = 9; goto _test_eof;
1696
+
1697
+ _test_eof: {}
1698
+ _out: {}
1699
+ }
1700
+ #line 570 "parser.rl"
1701
+
1702
+ if (cs >= JSON_first_final && p == pe) {
1703
+ return result;
1704
+ } else {
1705
+ rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
1706
+ }
1707
+ }
1708
+
1709
+ inline static JSON_Parser *JSON_allocate()
1710
+ {
1711
+ JSON_Parser *json = ALLOC(JSON_Parser);
1712
+ MEMZERO(json, JSON_Parser, 1);
1713
+ return json;
1714
+ }
1715
+
1716
+ static void JSON_mark(JSON_Parser *json)
1717
+ {
1718
+ rb_gc_mark_maybe(json->Vsource);
1719
+ rb_gc_mark_maybe(json->create_id);
1720
+ }
1721
+
1722
+ static void JSON_free(JSON_Parser *json)
1723
+ {
1724
+ free(json);
1725
+ }
1726
+
1727
+ static VALUE cJSON_parser_s_allocate(VALUE klass)
1728
+ {
1729
+ JSON_Parser *json = JSON_allocate();
1730
+ return Data_Wrap_Struct(klass, JSON_mark, JSON_free, json);
1731
+ }
1732
+
1733
+ /*
1734
+ * call-seq: source()
1735
+ *
1736
+ * Returns a copy of the current _source_ string, that was used to construct
1737
+ * this Parser.
1738
+ */
1739
+ static VALUE cParser_source(VALUE self)
1740
+ {
1741
+ GET_STRUCT;
1742
+ return rb_str_dup(json->Vsource);
1743
+ }
1744
+
1745
+ void Init_parser()
1746
+ {
1747
+ rb_require("json/common");
1748
+ mJSON = rb_define_module("JSON");
1749
+ mExt = rb_define_module_under(mJSON, "Ext");
1750
+ cParser = rb_define_class_under(mExt, "Parser", rb_cObject);
1751
+ eParserError = rb_path2class("JSON::ParserError");
1752
+ eNestingError = rb_path2class("JSON::NestingError");
1753
+ rb_define_alloc_func(cParser, cJSON_parser_s_allocate);
1754
+ rb_define_method(cParser, "initialize", cParser_initialize, -1);
1755
+ rb_define_method(cParser, "parse", cParser_parse, 0);
1756
+ rb_define_method(cParser, "source", cParser_source, 0);
1757
+
1758
+ CNaN = rb_const_get(mJSON, rb_intern("NaN"));
1759
+ CInfinity = rb_const_get(mJSON, rb_intern("Infinity"));
1760
+ CMinusInfinity = rb_const_get(mJSON, rb_intern("MinusInfinity"));
1761
+
1762
+ i_json_creatable_p = rb_intern("json_creatable?");
1763
+ i_json_create = rb_intern("json_create");
1764
+ i_create_id = rb_intern("create_id");
1765
+ i_create_additions = rb_intern("create_additions");
1766
+ i_chr = rb_intern("chr");
1767
+ i_max_nesting = rb_intern("max_nesting");
1768
+ i_allow_nan = rb_intern("allow_nan");
1769
+ }