engineyard-serverside 2.8.0.pre4 → 3.0.4

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 (308) hide show
  1. checksums.yaml +13 -5
  2. data/features/hook/running-a-deploy-hook.feature +277 -0
  3. data/features/hook/step_definitions/running-a-deploy-hook-steps.rb +200 -0
  4. data/features/step_definitions/command_steps.rb +8 -0
  5. data/features/step_definitions/version_steps.rb +5 -0
  6. data/features/support/env.rb +63 -0
  7. data/features/support/error_codes.rb +17 -0
  8. data/features/support/fs_helpers.rb +82 -0
  9. data/features/support/output_helpers.rb +7 -0
  10. data/features/support/runner.rb +41 -0
  11. data/features/version.feature +7 -0
  12. data/lib/engineyard-serverside/cli/app.rb +6 -0
  13. data/lib/engineyard-serverside/configuration.rb +3 -3
  14. data/lib/engineyard-serverside/deploy.rb +2 -1
  15. data/lib/engineyard-serverside/propagator.rb +1 -1
  16. data/lib/engineyard-serverside/shell.rb +38 -10
  17. data/lib/engineyard-serverside/version.rb +1 -1
  18. data/lib/engineyard-serverside.rb +2 -5
  19. data/spec/engineyard-serverside/callbacks/collection/combined_spec.rb +232 -0
  20. data/spec/engineyard-serverside/callbacks/collection/deploy_hooks_spec.rb +170 -0
  21. data/spec/engineyard-serverside/callbacks/collection/service_hooks/collection_spec.rb +171 -0
  22. data/spec/engineyard-serverside/callbacks/collection/service_hooks/combined_spec.rb +174 -0
  23. data/spec/engineyard-serverside/callbacks/collection/service_hooks_spec.rb +31 -0
  24. data/spec/engineyard-serverside/callbacks/collection_spec.rb +49 -0
  25. data/spec/engineyard-serverside/callbacks/distributor/remote_spec.rb +135 -0
  26. data/spec/engineyard-serverside/callbacks/distributor/viability_filter_spec.rb +208 -0
  27. data/spec/engineyard-serverside/callbacks/distributor_spec.rb +43 -0
  28. data/spec/engineyard-serverside/callbacks/executor/executable_spec.rb +386 -0
  29. data/spec/engineyard-serverside/callbacks/executor/ruby/context_spec.rb +538 -0
  30. data/spec/engineyard-serverside/callbacks/executor/ruby/executor_spec.rb +313 -0
  31. data/spec/engineyard-serverside/callbacks/executor/ruby_spec.rb +35 -0
  32. data/spec/engineyard-serverside/callbacks/executor_spec.rb +45 -0
  33. data/spec/engineyard-serverside/callbacks_spec.rb +31 -0
  34. data/spec/engineyard-serverside/cli/workflows/base_spec.rb +237 -0
  35. data/spec/engineyard-serverside/cli/workflows/calling_deploy_hooks_spec.rb +65 -0
  36. data/spec/engineyard-serverside/cli/workflows/deploying_applications_spec.rb +61 -0
  37. data/spec/engineyard-serverside/cli/workflows/disabling_maintenance_spec.rb +61 -0
  38. data/spec/engineyard-serverside/cli/workflows/enabling_maintenance_spec.rb +61 -0
  39. data/spec/engineyard-serverside/cli/workflows/helpers_spec.rb +64 -0
  40. data/spec/engineyard-serverside/cli/workflows/rolling_back_applications_spec.rb +61 -0
  41. data/spec/engineyard-serverside/cli/workflows/showing_maintenance_status_spec.rb +60 -0
  42. data/spec/engineyard-serverside/cli/workflows_spec.rb +87 -0
  43. data/spec/engineyard-serverside/dependency_manager/base_spec.rb +139 -0
  44. data/spec/engineyard-serverside/paths_spec.rb +820 -0
  45. data/spec/engineyard-serverside/propagator_spec.rb +56 -0
  46. data/spec/engineyard-serverside/server_spec.rb +390 -0
  47. data/spec/engineyard-serverside/shell/helpers_spec.rb +98 -0
  48. data/spec/engineyard-serverside/shell/yieldio_spec.rb +33 -0
  49. data/spec/engineyard-serverside/shell_spec.rb +543 -0
  50. data/spec/engineyard-serverside/slug/distributor_spec.rb +199 -0
  51. data/spec/engineyard-serverside/slug/enabler_spec.rb +191 -0
  52. data/spec/engineyard-serverside/slug/failure_handler_spec.rb +114 -0
  53. data/spec/engineyard-serverside/slug/finalizer_spec.rb +191 -0
  54. data/spec/engineyard-serverside/slug/generator_spec.rb +82 -0
  55. data/spec/engineyard-serverside/slug/migrator_spec.rb +137 -0
  56. data/spec/engineyard-serverside/slug/restarter_spec.rb +226 -0
  57. data/spec/engineyard-serverside/slug/source/updater_spec.rb +710 -0
  58. data/spec/engineyard-serverside/slug/source_spec.rb +40 -0
  59. data/spec/engineyard-serverside/source_spec.rb +171 -0
  60. data/spec/railway_spec.rb +130 -0
  61. data/spec/result/failure_spec.rb +113 -0
  62. data/spec/result/success_spec.rb +109 -0
  63. data/spec/result_spec.rb +23 -0
  64. data/spec/spec_helper.rb +3 -349
  65. metadata +189 -490
  66. data/lib/vendor/json_pure/COPYING +0 -57
  67. data/lib/vendor/json_pure/GPL +0 -340
  68. data/lib/vendor/json_pure/README.rdoc +0 -358
  69. data/lib/vendor/json_pure/VERSION +0 -1
  70. data/lib/vendor/json_pure/lib/json/add/bigdecimal.rb +0 -28
  71. data/lib/vendor/json_pure/lib/json/add/complex.rb +0 -22
  72. data/lib/vendor/json_pure/lib/json/add/core.rb +0 -11
  73. data/lib/vendor/json_pure/lib/json/add/date.rb +0 -34
  74. data/lib/vendor/json_pure/lib/json/add/date_time.rb +0 -48
  75. data/lib/vendor/json_pure/lib/json/add/exception.rb +0 -31
  76. data/lib/vendor/json_pure/lib/json/add/ostruct.rb +0 -31
  77. data/lib/vendor/json_pure/lib/json/add/range.rb +0 -29
  78. data/lib/vendor/json_pure/lib/json/add/rational.rb +0 -22
  79. data/lib/vendor/json_pure/lib/json/add/regexp.rb +0 -30
  80. data/lib/vendor/json_pure/lib/json/add/struct.rb +0 -30
  81. data/lib/vendor/json_pure/lib/json/add/symbol.rb +0 -25
  82. data/lib/vendor/json_pure/lib/json/add/time.rb +0 -38
  83. data/lib/vendor/json_pure/lib/json/common.rb +0 -484
  84. data/lib/vendor/json_pure/lib/json/ext.rb +0 -21
  85. data/lib/vendor/json_pure/lib/json/generic_object.rb +0 -70
  86. data/lib/vendor/json_pure/lib/json/pure/generator.rb +0 -522
  87. data/lib/vendor/json_pure/lib/json/pure/parser.rb +0 -359
  88. data/lib/vendor/json_pure/lib/json/pure.rb +0 -21
  89. data/lib/vendor/json_pure/lib/json/version.rb +0 -8
  90. data/lib/vendor/json_pure/lib/json.rb +0 -62
  91. data/lib/vendor/multi_json/CHANGELOG.md +0 -121
  92. data/lib/vendor/multi_json/CONTRIBUTING.md +0 -46
  93. data/lib/vendor/multi_json/Gemfile +0 -31
  94. data/lib/vendor/multi_json/LICENSE.md +0 -20
  95. data/lib/vendor/multi_json/README.md +0 -105
  96. data/lib/vendor/multi_json/Rakefile +0 -12
  97. data/lib/vendor/multi_json/lib/multi_json/adapters/gson.rb +0 -20
  98. data/lib/vendor/multi_json/lib/multi_json/adapters/json_common.rb +0 -35
  99. data/lib/vendor/multi_json/lib/multi_json/adapters/json_gem.rb +0 -12
  100. data/lib/vendor/multi_json/lib/multi_json/adapters/json_pure.rb +0 -12
  101. data/lib/vendor/multi_json/lib/multi_json/adapters/nsjsonserialization.rb +0 -35
  102. data/lib/vendor/multi_json/lib/multi_json/adapters/oj.rb +0 -29
  103. data/lib/vendor/multi_json/lib/multi_json/adapters/ok_json.rb +0 -58
  104. data/lib/vendor/multi_json/lib/multi_json/adapters/yajl.rb +0 -20
  105. data/lib/vendor/multi_json/lib/multi_json/vendor/okjson.rb +0 -602
  106. data/lib/vendor/multi_json/lib/multi_json/version.rb +0 -3
  107. data/lib/vendor/multi_json/lib/multi_json.rb +0 -137
  108. data/lib/vendor/multi_json/spec/adapter_shared_example.rb +0 -162
  109. data/lib/vendor/multi_json/spec/helper.rb +0 -45
  110. data/lib/vendor/multi_json/spec/json_common_shared_example.rb +0 -36
  111. data/lib/vendor/multi_json/spec/multi_json_spec.rb +0 -151
  112. data/spec/archive_deploy_spec.rb +0 -53
  113. data/spec/basic_deploy_spec.rb +0 -26
  114. data/spec/bundler_deploy_spec.rb +0 -160
  115. data/spec/configuration_spec.rb +0 -206
  116. data/spec/custom_deploy_spec.rb +0 -128
  117. data/spec/deploy_hook_spec.rb +0 -378
  118. data/spec/deprecation_spec.rb +0 -23
  119. data/spec/ey_yml_customized_deploy_spec.rb +0 -99
  120. data/spec/fixtures/gitrepo.tar.gz +0 -0
  121. data/spec/fixtures/invalid_hook.rb +0 -1
  122. data/spec/fixtures/lockfiles/0.9-no-bundler +0 -111
  123. data/spec/fixtures/lockfiles/0.9-with-bundler +0 -117
  124. data/spec/fixtures/lockfiles/1.0-no-bundler +0 -54
  125. data/spec/fixtures/lockfiles/1.0.0.rc.1-with-bundler +0 -162
  126. data/spec/fixtures/lockfiles/1.0.18-do_mysql +0 -88
  127. data/spec/fixtures/lockfiles/1.0.18-do_postgres +0 -79
  128. data/spec/fixtures/lockfiles/1.0.18-mysql +0 -43
  129. data/spec/fixtures/lockfiles/1.0.18-mysql2 +0 -43
  130. data/spec/fixtures/lockfiles/1.0.18-pg +0 -43
  131. data/spec/fixtures/lockfiles/1.0.6-no-bundler +0 -51
  132. data/spec/fixtures/lockfiles/1.0.6-with-any-bundler +0 -52
  133. data/spec/fixtures/lockfiles/1.0.6-with-bundler +0 -52
  134. data/spec/fixtures/lockfiles/1.15.1-no-bundler +0 -51
  135. data/spec/fixtures/lockfiles/1.3.1-rails-3.2.13 +0 -112
  136. data/spec/fixtures/lockfiles/not-a-lockfile +0 -1
  137. data/spec/fixtures/repos/assets_detected/Gemfile +0 -5
  138. data/spec/fixtures/repos/assets_detected/Gemfile.lock +0 -88
  139. data/spec/fixtures/repos/assets_detected/README +0 -1
  140. data/spec/fixtures/repos/assets_detected/Rakefile +0 -5
  141. data/spec/fixtures/repos/assets_detected/app/assets/empty +0 -0
  142. data/spec/fixtures/repos/assets_detected/config/application.rb +0 -5
  143. data/spec/fixtures/repos/assets_detected/config/ey.yml +0 -3
  144. data/spec/fixtures/repos/assets_disabled/Gemfile +0 -5
  145. data/spec/fixtures/repos/assets_disabled/Gemfile.lock +0 -88
  146. data/spec/fixtures/repos/assets_disabled/README +0 -1
  147. data/spec/fixtures/repos/assets_disabled/Rakefile +0 -6
  148. data/spec/fixtures/repos/assets_disabled/app/assets/empty +0 -0
  149. data/spec/fixtures/repos/assets_disabled/config/application.rb +0 -5
  150. data/spec/fixtures/repos/assets_disabled/config/ey.yml +0 -3
  151. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile +0 -5
  152. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Gemfile.lock +0 -88
  153. data/spec/fixtures/repos/assets_disabled_in_ey_yml/README +0 -1
  154. data/spec/fixtures/repos/assets_disabled_in_ey_yml/Rakefile +0 -6
  155. data/spec/fixtures/repos/assets_disabled_in_ey_yml/app/assets/empty +0 -0
  156. data/spec/fixtures/repos/assets_disabled_in_ey_yml/config/application.rb +0 -5
  157. data/spec/fixtures/repos/assets_disabled_in_ey_yml/config/ey.yml +0 -5
  158. data/spec/fixtures/repos/assets_disabled_utf8/Gemfile +0 -5
  159. data/spec/fixtures/repos/assets_disabled_utf8/Gemfile.lock +0 -88
  160. data/spec/fixtures/repos/assets_disabled_utf8/README +0 -3
  161. data/spec/fixtures/repos/assets_disabled_utf8/Rakefile +0 -5
  162. data/spec/fixtures/repos/assets_disabled_utf8/app/assets/empty +0 -0
  163. data/spec/fixtures/repos/assets_disabled_utf8/config/application.rb +0 -7
  164. data/spec/fixtures/repos/assets_disabled_utf8/config/ey.yml +0 -3
  165. data/spec/fixtures/repos/assets_enabled_all/Gemfile +0 -5
  166. data/spec/fixtures/repos/assets_enabled_all/Gemfile.lock +0 -88
  167. data/spec/fixtures/repos/assets_enabled_all/README +0 -1
  168. data/spec/fixtures/repos/assets_enabled_all/app/assets/empty +0 -0
  169. data/spec/fixtures/repos/assets_enabled_all/config/application.rb +0 -5
  170. data/spec/fixtures/repos/assets_enabled_all/config/ey.yml +0 -6
  171. data/spec/fixtures/repos/assets_enabled_all/script/assets +0 -5
  172. data/spec/fixtures/repos/assets_enabled_all/tmp/obstruction +0 -1
  173. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Gemfile +0 -3
  174. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Gemfile.lock +0 -10
  175. data/spec/fixtures/repos/assets_enabled_in_ey_yml/README +0 -1
  176. data/spec/fixtures/repos/assets_enabled_in_ey_yml/Rakefile +0 -8
  177. data/spec/fixtures/repos/assets_enabled_in_ey_yml/config/ey.yml +0 -4
  178. data/spec/fixtures/repos/assets_enabled_util_only/Gemfile +0 -5
  179. data/spec/fixtures/repos/assets_enabled_util_only/Gemfile.lock +0 -88
  180. data/spec/fixtures/repos/assets_enabled_util_only/README +0 -1
  181. data/spec/fixtures/repos/assets_enabled_util_only/Rakefile +0 -6
  182. data/spec/fixtures/repos/assets_enabled_util_only/app/assets/empty +0 -0
  183. data/spec/fixtures/repos/assets_enabled_util_only/config/application.rb +0 -5
  184. data/spec/fixtures/repos/assets_enabled_util_only/config/ey.yml +0 -6
  185. data/spec/fixtures/repos/assets_error/Gemfile +0 -5
  186. data/spec/fixtures/repos/assets_error/Gemfile.lock +0 -88
  187. data/spec/fixtures/repos/assets_error/README +0 -1
  188. data/spec/fixtures/repos/assets_error/Rakefile +0 -4
  189. data/spec/fixtures/repos/assets_error/app/assets/empty +0 -0
  190. data/spec/fixtures/repos/assets_error/config/application.rb +0 -5
  191. data/spec/fixtures/repos/assets_error/config/ey.yml +0 -4
  192. data/spec/fixtures/repos/assets_in_hook/Gemfile +0 -5
  193. data/spec/fixtures/repos/assets_in_hook/Gemfile.lock +0 -88
  194. data/spec/fixtures/repos/assets_in_hook/README +0 -2
  195. data/spec/fixtures/repos/assets_in_hook/Rakefile +0 -5
  196. data/spec/fixtures/repos/assets_in_hook/app/assets/empty +0 -0
  197. data/spec/fixtures/repos/assets_in_hook/config/application.rb +0 -5
  198. data/spec/fixtures/repos/assets_in_hook/config/ey.yml +0 -3
  199. data/spec/fixtures/repos/assets_in_hook/deploy/before_compile_assets.rb +0 -2
  200. data/spec/fixtures/repos/bundle_fails/Gemfile +0 -1
  201. data/spec/fixtures/repos/bundle_fails/README +0 -1
  202. data/spec/fixtures/repos/bundle_fails/deploy/after_bundle.rb +0 -1
  203. data/spec/fixtures/repos/bundler_disabled/Gemfile +0 -4
  204. data/spec/fixtures/repos/bundler_disabled/Gemfile.lock +0 -12
  205. data/spec/fixtures/repos/bundler_disabled/README +0 -1
  206. data/spec/fixtures/repos/bundler_disabled/config/ey.yml +0 -2
  207. data/spec/fixtures/repos/bundler_disabled/deploy/after_bundle.rb +0 -1
  208. data/spec/fixtures/repos/bundler_disabled/deploy/before_bundle.rb +0 -1
  209. data/spec/fixtures/repos/bundler_old/Gemfile +0 -5
  210. data/spec/fixtures/repos/bundler_old/Gemfile.lock +0 -15
  211. data/spec/fixtures/repos/bundler_old/README +0 -1
  212. data/spec/fixtures/repos/default/Gemfile +0 -4
  213. data/spec/fixtures/repos/default/Gemfile.lock +0 -12
  214. data/spec/fixtures/repos/default/README +0 -5
  215. data/spec/fixtures/repos/default/ey.yml +0 -3
  216. data/spec/fixtures/repos/executable_hooks/README +0 -1
  217. data/spec/fixtures/repos/executable_hooks/deploy/before_restart +0 -72
  218. data/spec/fixtures/repos/executable_hooks_not_executable/README +0 -3
  219. data/spec/fixtures/repos/executable_hooks_not_executable/deploy/before_restart +0 -3
  220. data/spec/fixtures/repos/ey_yml/Gemfile +0 -4
  221. data/spec/fixtures/repos/ey_yml/Gemfile.lock +0 -12
  222. data/spec/fixtures/repos/ey_yml/README +0 -1
  223. data/spec/fixtures/repos/ey_yml/config/ey.yml +0 -18
  224. data/spec/fixtures/repos/ey_yml/deploy/before_migrate.rb +0 -6
  225. data/spec/fixtures/repos/ey_yml_alt/Gemfile +0 -4
  226. data/spec/fixtures/repos/ey_yml_alt/Gemfile.lock +0 -12
  227. data/spec/fixtures/repos/ey_yml_alt/README +0 -1
  228. data/spec/fixtures/repos/ey_yml_alt/deploy/before_migrate.rb +0 -6
  229. data/spec/fixtures/repos/ey_yml_alt/ey.yml +0 -12
  230. data/spec/fixtures/repos/hook_fails/README +0 -1
  231. data/spec/fixtures/repos/hook_fails/deploy/before_deploy.rb +0 -1
  232. data/spec/fixtures/repos/hooks/README +0 -1
  233. data/spec/fixtures/repos/hooks/deploy/after_bundle.rb +0 -1
  234. data/spec/fixtures/repos/hooks/deploy/after_compile_assets.rb +0 -1
  235. data/spec/fixtures/repos/hooks/deploy/after_deploy.rb +0 -1
  236. data/spec/fixtures/repos/hooks/deploy/after_migrate.rb +0 -1
  237. data/spec/fixtures/repos/hooks/deploy/after_restart.rb +0 -1
  238. data/spec/fixtures/repos/hooks/deploy/after_symlink.rb +0 -1
  239. data/spec/fixtures/repos/hooks/deploy/before_bundle.rb +0 -1
  240. data/spec/fixtures/repos/hooks/deploy/before_compile_assets.rb +0 -1
  241. data/spec/fixtures/repos/hooks/deploy/before_deploy.rb +0 -1
  242. data/spec/fixtures/repos/hooks/deploy/before_migrate.rb +0 -1
  243. data/spec/fixtures/repos/hooks/deploy/before_restart.rb +0 -1
  244. data/spec/fixtures/repos/hooks/deploy/before_symlink.rb +0 -1
  245. data/spec/fixtures/repos/multi_dep_manager/README +0 -1
  246. data/spec/fixtures/repos/multi_dep_manager/composer.json +0 -5
  247. data/spec/fixtures/repos/multi_dep_manager/composer.lock +0 -462
  248. data/spec/fixtures/repos/multi_dep_manager/package.json +0 -7
  249. data/spec/fixtures/repos/multi_dep_manager/public/index.php +0 -4
  250. data/spec/fixtures/repos/no_ey_config/Gemfile +0 -3
  251. data/spec/fixtures/repos/no_ey_config/Gemfile.lock +0 -10
  252. data/spec/fixtures/repos/no_ey_config/README +0 -1
  253. data/spec/fixtures/repos/no_ey_config/ey.yml +0 -3
  254. data/spec/fixtures/repos/no_ey_config_no_warning/Gemfile +0 -3
  255. data/spec/fixtures/repos/no_ey_config_no_warning/Gemfile.lock +0 -10
  256. data/spec/fixtures/repos/no_ey_config_no_warning/README +0 -1
  257. data/spec/fixtures/repos/no_ey_config_no_warning/ey.yml +0 -5
  258. data/spec/fixtures/repos/no_gemfile_lock/Gemfile +0 -4
  259. data/spec/fixtures/repos/no_gemfile_lock/README +0 -1
  260. data/spec/fixtures/repos/no_gemfile_lock/ey.yml +0 -3
  261. data/spec/fixtures/repos/nodejs/README +0 -1
  262. data/spec/fixtures/repos/nodejs/package.json +0 -7
  263. data/spec/fixtures/repos/not_bundled/README +0 -1
  264. data/spec/fixtures/repos/npm_disabled/README +0 -1
  265. data/spec/fixtures/repos/npm_disabled/config/ey.yml +0 -2
  266. data/spec/fixtures/repos/npm_disabled/package.json +0 -7
  267. data/spec/fixtures/repos/php_composer_disabled/README +0 -1
  268. data/spec/fixtures/repos/php_composer_disabled/composer.json +0 -5
  269. data/spec/fixtures/repos/php_composer_disabled/composer.lock +0 -462
  270. data/spec/fixtures/repos/php_composer_disabled/config/ey.yml +0 -2
  271. data/spec/fixtures/repos/php_composer_disabled/public/index.php +0 -4
  272. data/spec/fixtures/repos/php_composer_lock/README +0 -1
  273. data/spec/fixtures/repos/php_composer_lock/composer.json +0 -5
  274. data/spec/fixtures/repos/php_composer_lock/composer.lock +0 -462
  275. data/spec/fixtures/repos/php_composer_lock/public/index.php +0 -4
  276. data/spec/fixtures/repos/php_no_composer_lock/README +0 -1
  277. data/spec/fixtures/repos/php_no_composer_lock/composer.json +0 -21
  278. data/spec/fixtures/repos/php_no_composer_lock/public/index.php +0 -4
  279. data/spec/fixtures/repos/public_system/Gemfile +0 -4
  280. data/spec/fixtures/repos/public_system/Gemfile.lock +0 -12
  281. data/spec/fixtures/repos/public_system/README +0 -5
  282. data/spec/fixtures/repos/public_system/ey.yml +0 -3
  283. data/spec/fixtures/repos/public_system/public/system/cant_touch_this.txt +0 -3
  284. data/spec/fixtures/repos/sqlite3/Gemfile +0 -4
  285. data/spec/fixtures/repos/sqlite3/Gemfile.lock +0 -89
  286. data/spec/fixtures/repos/sqlite3/README +0 -1
  287. data/spec/fixtures/retwisj.war +0 -0
  288. data/spec/fixtures/valid_hook.rb +0 -1
  289. data/spec/git_strategy_spec.rb +0 -34
  290. data/spec/lockfile_parser_spec.rb +0 -126
  291. data/spec/maintenance_spec.rb +0 -44
  292. data/spec/multi_dependency_manager_spec.rb +0 -25
  293. data/spec/nodejs_deploy_spec.rb +0 -30
  294. data/spec/php_deploy_spec.rb +0 -81
  295. data/spec/platform_configure_spec.rb +0 -61
  296. data/spec/rails31_deploy_spec.rb +0 -172
  297. data/spec/restart_spec.rb +0 -43
  298. data/spec/rollback_spec.rb +0 -87
  299. data/spec/server_spec.rb +0 -70
  300. data/spec/services_deploy_spec.rb +0 -165
  301. data/spec/shell_spec.rb +0 -57
  302. data/spec/source/archive_spec.rb +0 -33
  303. data/spec/source/git_spec.rb +0 -44
  304. data/spec/sqlite3_deploy_spec.rb +0 -38
  305. data/spec/support/integration.rb +0 -103
  306. data/spec/support/source_doubles.rb +0 -28
  307. data/spec/support/timecop.rb +0 -5
  308. data/spec/symlink_spec.rb +0 -15
@@ -1,105 +0,0 @@
1
- # MultiJSON
2
- [![Gem Version](https://badge.fury.io/rb/multi_json.png)][gem]
3
- [![Build Status](https://secure.travis-ci.org/intridea/multi_json.png?branch=master)][travis]
4
- [![Dependency Status](https://gemnasium.com/intridea/multi_json.png?travis)][gemnasium]
5
- [![Code Climate](https://codeclimate.com/github/intridea/multi_json.png)][codeclimate]
6
-
7
- [gem]: https://rubygems.org/gems/multi_json
8
- [travis]: http://travis-ci.org/intridea/multi_json
9
- [gemnasium]: https://gemnasium.com/intridea/multi_json
10
- [codeclimate]: https://codeclimate.com/github/intridea/multi_json
11
-
12
- Lots of Ruby libraries parse JSON and everyone has their favorite JSON coder.
13
- Instead of choosing a single JSON coder and forcing users of your library to be
14
- stuck with it, you can use MultiJSON instead, which will simply choose the
15
- fastest available JSON coder. Here's how to use it:
16
-
17
- ```ruby
18
- require 'multi_json'
19
-
20
- MultiJson.load('{"abc":"def"}') #=> {"abc" => "def"}
21
- MultiJson.load('{"abc":"def"}', :symbolize_keys => true) #=> {:abc => "def"}
22
- MultiJson.dump({:abc => 'def'}) # convert Ruby back to JSON
23
- MultiJson.dump({:abc => 'def'}, :pretty => true) # encoded in a pretty form (if supported by the coder)
24
- ```
25
-
26
- When loading invalid JSON, multiJSON will throw a `MultiJson::LoadError`. `MultiJson::DecodeError` is an alias for backwards compatibility.
27
-
28
- ```ruby
29
- MultiJson.load('invalid json') #=> MultiJson::LoadError
30
- ```
31
-
32
- The `use` method, which sets the MultiJson adapter, takes either a symbol or a
33
- class (to allow for custom JSON parsers) that responds to both `.load` and `.dump`
34
- at the class level.
35
-
36
- MultiJSON tries to have intelligent defaulting. That is, if you have any of the
37
- supported engines already loaded, it will utilize them before attempting to
38
- load any. When loading, libraries are ordered by speed. First Oj, then Yajl,
39
- then the JSON gem, then JSON pure. If no other JSON library is available,
40
- MultiJSON falls back to [OkJson][], a simple, vendorable JSON parser.
41
-
42
- [okjson]: https://github.com/kr/okjson
43
-
44
- ## Supported JSON Engines
45
-
46
- * [Oj](https://github.com/ohler55/oj) Optimized JSON by Peter Ohler
47
- * [Yajl](https://github.com/brianmario/yajl-ruby) Yet Another JSON Library by Brian Lopez
48
- * [JSON](https://github.com/flori/json) The default JSON gem with C-extensions (ships with Ruby 1.9)
49
- * [JSON Pure](https://github.com/flori/json) A Ruby variant of the JSON gem
50
- * [NSJSONSerialization](https://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html) Wrapper for Apple's NSJSONSerialization in the Cocoa Framework (MacRuby only)
51
- * [gson.rb](https://github.com/avsej/gson.rb) A Ruby wrapper for google-gson library (JRuby only)
52
- * [OkJson][okjson] A simple, vendorable JSON parser
53
-
54
- ## Supported Ruby Versions
55
- This library aims to support and is [tested against][travis] the following Ruby
56
- implementations:
57
-
58
- * Ruby 1.8.7
59
- * Ruby 1.9.2
60
- * Ruby 1.9.3
61
- * Ruby 2.0.0
62
- * [JRuby][]
63
- * [Rubinius][]
64
- * [MacRuby][] (not tested on Travis CI)
65
-
66
- [jruby]: http://www.jruby.org/
67
- [rubinius]: http://rubini.us/
68
- [macruby]: http://www.macruby.org/
69
-
70
- If something doesn't work on one of these interpreters, it's a bug.
71
-
72
- This library may inadvertently work (or seem to work) on other Ruby
73
- implementations, however support will only be provided for the versions listed
74
- above.
75
-
76
- If you would like this library to support another Ruby version, you may
77
- volunteer to be a maintainer. Being a maintainer entails making sure all tests
78
- run and pass on that implementation. When something breaks on your
79
- implementation, you will be responsible for providing patches in a timely
80
- fashion. If critical issues for a particular implementation exist at the time
81
- of a major release, support for that Ruby version may be dropped.
82
-
83
- ## Versioning
84
-
85
- This library aims to adhere to [Semantic Versioning 2.0.0][semver]. Violations
86
- of this scheme should be reported as bugs. Specifically, if a minor or patch
87
- version is released that breaks backward compatibility, that version should be
88
- immediately yanked and/or a new version should be immediately released that
89
- restores compatibility. Breaking changes to the public API will only be
90
- introduced with new major versions. As a result of this policy, you can (and
91
- should) specify a dependency on this gem using the [Pessimistic Version
92
- Constraint][pvc] with two digits of precision. For example:
93
-
94
- ```ruby
95
- spec.add_dependency 'multi_json', '~> 1.0'
96
- ```
97
-
98
- [semver]: http://semver.org/
99
- [pvc]: http://docs.rubygems.org/read/chapter/16#page74
100
-
101
- ## Copyright
102
- Copyright (c) 2010-2013 Michael Bleigh, Josh Kalderimis, Erik Michaels-Ober,
103
- and Pavel Pravosud. See [LICENSE][] for details.
104
-
105
- [license]: LICENSE.md
@@ -1,12 +0,0 @@
1
- require 'bundler'
2
- Bundler::GemHelper.install_tasks
3
-
4
- require 'rspec/core/rake_task'
5
- desc "Run all examples"
6
- RSpec::Core::RakeTask.new(:spec)
7
-
8
- task :default => :spec
9
- task :test => :spec
10
-
11
- require 'yard'
12
- YARD::Rake::YardocTask.new
@@ -1,20 +0,0 @@
1
- require 'gson' unless defined?(::Gson)
2
-
3
- module MultiJson
4
- module Adapters
5
- # Use the gson.rb library to dump/load.
6
- module Gson
7
- extend self
8
-
9
- ParseError = ::Gson::DecodeError
10
-
11
- def load(string, options={}) #:nodoc:
12
- ::Gson::Decoder.new(options).decode(string)
13
- end
14
-
15
- def dump(object, options={}) #:nodoc:
16
- ::Gson::Encoder.new(options).encode(object)
17
- end
18
- end
19
- end
20
- end
@@ -1,35 +0,0 @@
1
- module MultiJson
2
- module Adapters
3
- module JsonCommon
4
- def load(string, options={})
5
- string = string.read if string.respond_to?(:read)
6
- ::JSON.parse("[#{string}]", process_load_options!(options)).first
7
- end
8
-
9
- def dump(object, options={})
10
- object.to_json(process_dump_options!(options))
11
- end
12
-
13
- protected
14
-
15
- def process_load_options!(options={})
16
- process_options!({:create_additions => false}, options) do |opts|
17
- opts.merge!(:symbolize_names => true) if options.delete(:symbolize_keys)
18
- end
19
- end
20
-
21
- def process_dump_options!(options={})
22
- process_options!({}, options) do |opts|
23
- opts.merge!(::JSON::PRETTY_STATE_PROTOTYPE.to_h) if options.delete(:pretty)
24
- end
25
- end
26
-
27
- def process_options!(default_options, options)
28
- return default_options if options.empty?
29
- yield default_options
30
- default_options.merge!(options)
31
- end
32
-
33
- end
34
- end
35
- end
@@ -1,12 +0,0 @@
1
- require 'json' unless defined?(::JSON)
2
- require 'multi_json/adapters/json_common'
3
-
4
- module MultiJson
5
- module Adapters
6
- # Use the JSON gem to dump/load.
7
- module JsonGem
8
- ParseError = ::JSON::ParserError
9
- extend JsonCommon
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- require 'json/pure' unless defined?(::JSON)
2
- require 'multi_json/adapters/json_common'
3
-
4
- module MultiJson
5
- module Adapters
6
- # Use JSON pure to dump/load.
7
- module JsonPure
8
- ParseError = ::JSON::ParserError
9
- extend JsonCommon
10
- end
11
- end
12
- end
@@ -1,35 +0,0 @@
1
- framework 'Foundation'
2
- require 'multi_json/adapters/ok_json'
3
-
4
- module MultiJson
5
- module Adapters
6
- module Nsjsonserialization
7
- extend self, MultiJson::Adapters::OkJson
8
- ParseError = ::MultiJson::OkJson::Error
9
-
10
- def load(string, options={})
11
- string = string.read if string.respond_to?(:read)
12
- data = string.dataUsingEncoding(NSUTF8StringEncoding)
13
- object = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves, error: nil)
14
- if object
15
- object = symbolize_keys(object) if options[:symbolize_keys]
16
- object
17
- else
18
- super(string, options={})
19
- end
20
- end
21
-
22
- def dump(object, options={})
23
- pretty = options[:pretty] ? NSJSONWritingPrettyPrinted : 0
24
- object = object.as_json if object.respond_to?(:as_json)
25
- if NSJSONSerialization.isValidJSONObject(object)
26
- data = NSJSONSerialization.dataWithJSONObject(object, options: pretty, error: nil)
27
- NSMutableString.alloc.initWithData(data, encoding: NSUTF8StringEncoding)
28
- else
29
- super(object, options)
30
- end
31
- end
32
-
33
- end
34
- end
35
- end
@@ -1,29 +0,0 @@
1
- require 'oj' unless defined?(::Oj)
2
-
3
- module MultiJson
4
- module Adapters
5
- # Use the Oj library to dump/load.
6
- module Oj
7
- extend self
8
-
9
- DEFAULT_OPTIONS = {:mode => :compat, :time_format => :ruby}.freeze
10
-
11
- ParseError = if defined?(::Oj::ParseError)
12
- ::Oj::ParseError
13
- else
14
- SyntaxError
15
- end
16
-
17
- def load(string, options={}) #:nodoc:
18
- options.merge!(:symbol_keys => options[:symbolize_keys])
19
- options[:mode] = :strict
20
- ::Oj.load(string, DEFAULT_OPTIONS.merge(options))
21
- end
22
-
23
- def dump(object, options={}) #:nodoc:
24
- options.merge!(:indent => 2) if options[:pretty]
25
- ::Oj.dump(object, DEFAULT_OPTIONS.merge(options))
26
- end
27
- end
28
- end
29
- end
@@ -1,58 +0,0 @@
1
- require 'multi_json/vendor/okjson'
2
-
3
- module MultiJson
4
- module Adapters
5
- module OkJson
6
- extend self
7
-
8
- ParseError = ::MultiJson::OkJson::Error
9
-
10
- def load(string, options={}) #:nodoc:
11
- string = string.read if string.respond_to?(:read)
12
- result = ::MultiJson::OkJson.decode("[#{string}]").first
13
- options[:symbolize_keys] ? symbolize_keys(result) : result
14
- end
15
-
16
- def dump(object, options={}) #:nodoc:
17
- ::MultiJson::OkJson.valenc(stringify_keys(object))
18
- end
19
-
20
- def symbolize_keys(object) #:nodoc:
21
- prepare_object(object) do |key|
22
- key.is_a?(String) ? key.to_sym : key
23
- end
24
- end
25
-
26
- def stringify_keys(object) #:nodoc:
27
- prepare_object(object) do |key|
28
- key.respond_to?(:to_s) ? key.to_s : key
29
- end
30
- end
31
-
32
- def prepare_object(object, &key_modifier) #:nodoc:
33
- case object
34
- when Array
35
- object.map do |value|
36
- prepare_object(value, &key_modifier)
37
- end
38
- when Hash
39
- object.inject({}) do |result, (key, value)|
40
- new_key = key_modifier.call(key)
41
- new_value = prepare_object(value, &key_modifier)
42
- result.merge! new_key => new_value
43
- end
44
- when String, Numeric, true, false, nil
45
- object
46
- else
47
- if object.respond_to?(:to_json)
48
- object
49
- elsif object.respond_to?(:to_s)
50
- object.to_s
51
- else
52
- object
53
- end
54
- end
55
- end
56
- end
57
- end
58
- end
@@ -1,20 +0,0 @@
1
- require 'yajl' unless defined?(::Yajl)
2
-
3
- module MultiJson
4
- module Adapters
5
- # Use the Yajl-Ruby library to dump/load.
6
- module Yajl
7
- extend self
8
-
9
- ParseError = ::Yajl::ParseError
10
-
11
- def load(string, options={}) #:nodoc:
12
- ::Yajl::Parser.new(:symbolize_keys => options[:symbolize_keys]).parse(string)
13
- end
14
-
15
- def dump(object, options={}) #:nodoc:
16
- ::Yajl::Encoder.encode(object, options)
17
- end
18
- end
19
- end
20
- end