static 1.0.0 → 1.0.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 (296) hide show
  1. checksums.yaml +7 -0
  2. data/bin/static +11 -0
  3. data/lib/static/cli.rb +2 -2
  4. data/lib/static/version.rb +1 -1
  5. data/vendor/cfoundry-0.5.2/LICENSE +746 -0
  6. data/vendor/cfoundry-0.5.2/Rakefile +38 -0
  7. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/applications.rb +53 -0
  8. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/domains.rb +16 -0
  9. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/frameworks.rb +22 -0
  10. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/helper.rb +131 -0
  11. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/login.rb +21 -0
  12. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/organization_users.rb +21 -0
  13. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/organizations.rb +70 -0
  14. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/routes.rb +26 -0
  15. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/runtimes.rb +22 -0
  16. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/service_bindings.rb +22 -0
  17. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/service_instances.rb +22 -0
  18. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/services.rb +25 -0
  19. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/spaces.rb +49 -0
  20. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/users.rb +84 -0
  21. data/vendor/cfoundry-0.5.2/lib/cc_api_stub.rb +17 -0
  22. data/vendor/cfoundry-0.5.2/lib/cfoundry/auth_token.rb +63 -0
  23. data/vendor/cfoundry-0.5.2/lib/cfoundry/baseclient.rb +201 -0
  24. data/vendor/cfoundry-0.5.2/lib/cfoundry/chatty_hash.rb +46 -0
  25. data/vendor/cfoundry-0.5.2/lib/cfoundry/client.rb +46 -0
  26. data/vendor/cfoundry-0.5.2/lib/cfoundry/concerns/login_helpers.rb +13 -0
  27. data/vendor/cfoundry-0.5.2/lib/cfoundry/errors.rb +160 -0
  28. data/vendor/cfoundry-0.5.2/lib/cfoundry/rest_client.rb +299 -0
  29. data/vendor/cfoundry-0.5.2/lib/cfoundry/test_support.rb +3 -0
  30. data/vendor/cfoundry-0.5.2/lib/cfoundry/trace_helpers.rb +40 -0
  31. data/vendor/cfoundry-0.5.2/lib/cfoundry/uaaclient.rb +112 -0
  32. data/vendor/cfoundry-0.5.2/lib/cfoundry/upload_helpers.rb +186 -0
  33. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/app.rb +363 -0
  34. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/base.rb +71 -0
  35. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/client.rb +193 -0
  36. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/framework.rb +21 -0
  37. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/model.rb +178 -0
  38. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/model_magic.rb +129 -0
  39. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/runtime.rb +24 -0
  40. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/service.rb +39 -0
  41. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/service_instance.rb +32 -0
  42. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/service_plan.rb +19 -0
  43. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/user.rb +22 -0
  44. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/app.rb +392 -0
  45. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/base.rb +83 -0
  46. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/client.rb +138 -0
  47. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/domain.rb +11 -0
  48. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/framework.rb +14 -0
  49. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/model.rb +148 -0
  50. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/model_magic.rb +449 -0
  51. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/organization.rb +16 -0
  52. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/route.rb +15 -0
  53. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/runtime.rb +12 -0
  54. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service.rb +19 -0
  55. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service_auth_token.rb +9 -0
  56. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service_binding.rb +10 -0
  57. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service_instance.rb +14 -0
  58. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service_plan.rb +12 -0
  59. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/space.rb +18 -0
  60. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/user.rb +64 -0
  61. data/vendor/cfoundry-0.5.2/lib/cfoundry/validator.rb +39 -0
  62. data/vendor/cfoundry-0.5.2/lib/cfoundry/version.rb +4 -0
  63. data/vendor/cfoundry-0.5.2/lib/cfoundry/zip.rb +56 -0
  64. data/vendor/cfoundry-0.5.2/lib/cfoundry.rb +2 -0
  65. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/applications_spec.rb +69 -0
  66. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/domains_spec.rb +19 -0
  67. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/frameworks_spec.rb +19 -0
  68. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/login_spec.rb +20 -0
  69. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/organization_users_spec.rb +19 -0
  70. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/organizations_spec.rb +97 -0
  71. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/routes_spec.rb +19 -0
  72. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/runtimes_spec.rb +19 -0
  73. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/service_bindings_spec.rb +13 -0
  74. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/service_instances_spec.rb +19 -0
  75. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/services_spec.rb +12 -0
  76. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/spaces_spec.rb +38 -0
  77. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/users_spec.rb +107 -0
  78. data/vendor/cfoundry-0.5.2/spec/cfoundry/auth_token_spec.rb +125 -0
  79. data/vendor/cfoundry-0.5.2/spec/cfoundry/baseclient_spec.rb +225 -0
  80. data/vendor/cfoundry-0.5.2/spec/cfoundry/client_spec.rb +15 -0
  81. data/vendor/cfoundry-0.5.2/spec/cfoundry/errors_spec.rb +80 -0
  82. data/vendor/cfoundry-0.5.2/spec/cfoundry/rest_client_spec.rb +281 -0
  83. data/vendor/cfoundry-0.5.2/spec/cfoundry/trace_helpers_spec.rb +72 -0
  84. data/vendor/cfoundry-0.5.2/spec/cfoundry/uaaclient_spec.rb +332 -0
  85. data/vendor/cfoundry-0.5.2/spec/cfoundry/upload_helpers_spec.rb +174 -0
  86. data/vendor/cfoundry-0.5.2/spec/cfoundry/v1/base_spec.rb +58 -0
  87. data/vendor/cfoundry-0.5.2/spec/cfoundry/v1/client_spec.rb +17 -0
  88. data/vendor/cfoundry-0.5.2/spec/cfoundry/v1/model_magic_spec.rb +43 -0
  89. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/app_spec.rb +144 -0
  90. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/base_spec.rb +299 -0
  91. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/client_spec.rb +73 -0
  92. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/model_magic_spec.rb +173 -0
  93. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/organization_spec.rb +15 -0
  94. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/space_spec.rb +15 -0
  95. data/vendor/cfoundry-0.5.2/spec/fakes/app_fake.rb +5 -0
  96. data/vendor/cfoundry-0.5.2/spec/fakes/domain_fake.rb +5 -0
  97. data/vendor/cfoundry-0.5.2/spec/fakes/framework_fake.rb +5 -0
  98. data/vendor/cfoundry-0.5.2/spec/fakes/organization_fake.rb +5 -0
  99. data/vendor/cfoundry-0.5.2/spec/fakes/route_fake.rb +5 -0
  100. data/vendor/cfoundry-0.5.2/spec/fakes/runtime_fake.rb +5 -0
  101. data/vendor/cfoundry-0.5.2/spec/fakes/service_fake.rb +5 -0
  102. data/vendor/cfoundry-0.5.2/spec/fakes/service_instance_fake.rb +5 -0
  103. data/vendor/cfoundry-0.5.2/spec/fakes/service_plan_fake.rb +5 -0
  104. data/vendor/cfoundry-0.5.2/spec/fakes/space_fake.rb +5 -0
  105. data/vendor/cfoundry-0.5.2/spec/fakes/user_fake.rb +5 -0
  106. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_dotfiles/xyz +1 -0
  107. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_nested_directories/foo/bar/baz/fizz +0 -0
  108. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_nested_directories/xyz +0 -0
  109. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/ignored_dir/file_in_ignored_dir.txt +1 -0
  110. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/ignored_file.txt +1 -0
  111. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/non_ignored_dir/file_in_non_ignored_dir.txt +1 -0
  112. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/non_ignored_dir/ignored_file.txt +1 -0
  113. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/non_ignored_file.txt +1 -0
  114. data/vendor/cfoundry-0.5.2/spec/fixtures/empty_file +0 -0
  115. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_application.json +24 -0
  116. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_application_summary.json +57 -0
  117. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_application.json +11 -0
  118. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_domain.json +10 -0
  119. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_organization.json +11 -0
  120. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_route.json +13 -0
  121. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_service_instance.json +11 -0
  122. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_space.json +11 -0
  123. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_user.json +11 -0
  124. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_empty_search.json +7 -0
  125. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_frameworks.json +20 -0
  126. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization.json +144 -0
  127. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization_domains.json +34 -0
  128. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization_search.json +37 -0
  129. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization_summary.json +19 -0
  130. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization_users.json +81 -0
  131. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_runtimes.json +20 -0
  132. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_binding.json +22 -0
  133. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_bindings.json +24 -0
  134. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_instance.json +81 -0
  135. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_instances.json +0 -0
  136. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_types.json +124 -0
  137. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_space.json +45 -0
  138. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_space_summary.json +86 -0
  139. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_stats.json +29 -0
  140. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_user.json +112 -0
  141. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_user_organizations.json +92 -0
  142. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_user_with_managers.json +85 -0
  143. data/vendor/cfoundry-0.5.2/spec/spec_helper.rb +20 -0
  144. data/vendor/cfoundry-0.5.2/spec/support/fake_helper.rb +236 -0
  145. data/vendor/cfoundry-0.5.2/spec/support/randoms.rb +3 -0
  146. data/vendor/cfoundry-0.5.2/spec/support/shared_examples/cc_api_stub_request_examples.rb +79 -0
  147. data/vendor/cfoundry-0.5.2/spec/support/shared_examples/client_login_examples.rb +46 -0
  148. data/vendor/cfoundry-0.5.2/spec/support/shared_examples/model_summary_examples.rb +34 -0
  149. data/vendor/cfoundry-0.5.2/spec/support/v1_fake_helper.rb +144 -0
  150. data/vendor/cfoundry-0.5.2/vendor/errors/README.md +4 -0
  151. data/vendor/cfoundry-0.5.2/vendor/errors/v1.yml +189 -0
  152. data/vendor/cfoundry-0.5.2/vendor/errors/v2.yml +360 -0
  153. data/vendor/tunnel-vmc-plugin-0.2.2/Rakefile +39 -0
  154. data/vendor/tunnel-vmc-plugin-0.2.2/config/clients.yml +17 -0
  155. data/vendor/tunnel-vmc-plugin-0.2.2/helper-app/Gemfile +10 -0
  156. data/vendor/tunnel-vmc-plugin-0.2.2/helper-app/server.rb +43 -0
  157. data/vendor/tunnel-vmc-plugin-0.2.2/lib/tunnel-vmc-plugin/plugin.rb +178 -0
  158. data/vendor/tunnel-vmc-plugin-0.2.2/lib/tunnel-vmc-plugin/tunnel.rb +308 -0
  159. data/vendor/tunnel-vmc-plugin-0.2.2/lib/tunnel-vmc-plugin/version.rb +3 -0
  160. data/vendor/tunnel-vmc-plugin-0.2.2/spec/plugin_spec.rb +29 -0
  161. data/vendor/tunnel-vmc-plugin-0.2.2/spec/spec_helper.rb +15 -0
  162. data/vendor/vmc-0.5.0/LICENSE +1277 -0
  163. data/vendor/vmc-0.5.0/Rakefile +101 -0
  164. data/vendor/vmc-0.5.0/bin/vmc +11 -0
  165. data/vendor/vmc-0.5.0/lib/vmc/cli/app/app.rb +45 -0
  166. data/vendor/vmc-0.5.0/lib/vmc/cli/app/apps.rb +99 -0
  167. data/vendor/vmc-0.5.0/lib/vmc/cli/app/base.rb +82 -0
  168. data/vendor/vmc-0.5.0/lib/vmc/cli/app/crashes.rb +42 -0
  169. data/vendor/vmc-0.5.0/lib/vmc/cli/app/delete.rb +95 -0
  170. data/vendor/vmc-0.5.0/lib/vmc/cli/app/deprecated.rb +11 -0
  171. data/vendor/vmc-0.5.0/lib/vmc/cli/app/env.rb +78 -0
  172. data/vendor/vmc-0.5.0/lib/vmc/cli/app/files.rb +137 -0
  173. data/vendor/vmc-0.5.0/lib/vmc/cli/app/health.rb +26 -0
  174. data/vendor/vmc-0.5.0/lib/vmc/cli/app/instances.rb +53 -0
  175. data/vendor/vmc-0.5.0/lib/vmc/cli/app/logs.rb +76 -0
  176. data/vendor/vmc-0.5.0/lib/vmc/cli/app/push/create.rb +153 -0
  177. data/vendor/vmc-0.5.0/lib/vmc/cli/app/push/interactions.rb +94 -0
  178. data/vendor/vmc-0.5.0/lib/vmc/cli/app/push/sync.rb +64 -0
  179. data/vendor/vmc-0.5.0/lib/vmc/cli/app/push.rb +105 -0
  180. data/vendor/vmc-0.5.0/lib/vmc/cli/app/rename.rb +35 -0
  181. data/vendor/vmc-0.5.0/lib/vmc/cli/app/restart.rb +20 -0
  182. data/vendor/vmc-0.5.0/lib/vmc/cli/app/scale.rb +71 -0
  183. data/vendor/vmc-0.5.0/lib/vmc/cli/app/start.rb +150 -0
  184. data/vendor/vmc-0.5.0/lib/vmc/cli/app/stats.rb +67 -0
  185. data/vendor/vmc-0.5.0/lib/vmc/cli/app/stop.rb +27 -0
  186. data/vendor/vmc-0.5.0/lib/vmc/cli/domain/base.rb +12 -0
  187. data/vendor/vmc-0.5.0/lib/vmc/cli/domain/domains.rb +40 -0
  188. data/vendor/vmc-0.5.0/lib/vmc/cli/domain/map.rb +55 -0
  189. data/vendor/vmc-0.5.0/lib/vmc/cli/domain/unmap.rb +56 -0
  190. data/vendor/vmc-0.5.0/lib/vmc/cli/help.rb +15 -0
  191. data/vendor/vmc-0.5.0/lib/vmc/cli/interactive.rb +105 -0
  192. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/base.rb +14 -0
  193. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/create.rb +32 -0
  194. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/delete.rb +73 -0
  195. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/org.rb +45 -0
  196. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/orgs.rb +35 -0
  197. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/rename.rb +36 -0
  198. data/vendor/vmc-0.5.0/lib/vmc/cli/route/base.rb +12 -0
  199. data/vendor/vmc-0.5.0/lib/vmc/cli/route/map.rb +80 -0
  200. data/vendor/vmc-0.5.0/lib/vmc/cli/route/routes.rb +26 -0
  201. data/vendor/vmc-0.5.0/lib/vmc/cli/route/unmap.rb +94 -0
  202. data/vendor/vmc-0.5.0/lib/vmc/cli/service/base.rb +8 -0
  203. data/vendor/vmc-0.5.0/lib/vmc/cli/service/bind.rb +44 -0
  204. data/vendor/vmc-0.5.0/lib/vmc/cli/service/create.rb +126 -0
  205. data/vendor/vmc-0.5.0/lib/vmc/cli/service/delete.rb +86 -0
  206. data/vendor/vmc-0.5.0/lib/vmc/cli/service/rename.rb +35 -0
  207. data/vendor/vmc-0.5.0/lib/vmc/cli/service/service.rb +42 -0
  208. data/vendor/vmc-0.5.0/lib/vmc/cli/service/services.rb +114 -0
  209. data/vendor/vmc-0.5.0/lib/vmc/cli/service/unbind.rb +38 -0
  210. data/vendor/vmc-0.5.0/lib/vmc/cli/space/base.rb +21 -0
  211. data/vendor/vmc-0.5.0/lib/vmc/cli/space/create.rb +60 -0
  212. data/vendor/vmc-0.5.0/lib/vmc/cli/space/delete.rb +95 -0
  213. data/vendor/vmc-0.5.0/lib/vmc/cli/space/rename.rb +39 -0
  214. data/vendor/vmc-0.5.0/lib/vmc/cli/space/space.rb +64 -0
  215. data/vendor/vmc-0.5.0/lib/vmc/cli/space/spaces.rb +55 -0
  216. data/vendor/vmc-0.5.0/lib/vmc/cli/space/switch.rb +16 -0
  217. data/vendor/vmc-0.5.0/lib/vmc/cli/start/base.rb +83 -0
  218. data/vendor/vmc-0.5.0/lib/vmc/cli/start/colors.rb +13 -0
  219. data/vendor/vmc-0.5.0/lib/vmc/cli/start/info.rb +126 -0
  220. data/vendor/vmc-0.5.0/lib/vmc/cli/start/login.rb +96 -0
  221. data/vendor/vmc-0.5.0/lib/vmc/cli/start/logout.rb +17 -0
  222. data/vendor/vmc-0.5.0/lib/vmc/cli/start/target.rb +71 -0
  223. data/vendor/vmc-0.5.0/lib/vmc/cli/start/target_interactions.rb +37 -0
  224. data/vendor/vmc-0.5.0/lib/vmc/cli/start/targets.rb +16 -0
  225. data/vendor/vmc-0.5.0/lib/vmc/cli/user/base.rb +29 -0
  226. data/vendor/vmc-0.5.0/lib/vmc/cli/user/create.rb +39 -0
  227. data/vendor/vmc-0.5.0/lib/vmc/cli/user/delete.rb +27 -0
  228. data/vendor/vmc-0.5.0/lib/vmc/cli/user/passwd.rb +50 -0
  229. data/vendor/vmc-0.5.0/lib/vmc/cli/user/register.rb +42 -0
  230. data/vendor/vmc-0.5.0/lib/vmc/cli/user/users.rb +32 -0
  231. data/vendor/vmc-0.5.0/lib/vmc/cli.rb +475 -0
  232. data/vendor/vmc-0.5.0/lib/vmc/constants.rb +13 -0
  233. data/vendor/vmc-0.5.0/lib/vmc/detect.rb +129 -0
  234. data/vendor/vmc-0.5.0/lib/vmc/errors.rb +17 -0
  235. data/vendor/vmc-0.5.0/lib/vmc/plugin.rb +56 -0
  236. data/vendor/vmc-0.5.0/lib/vmc/spacing.rb +89 -0
  237. data/vendor/vmc-0.5.0/lib/vmc/spec_helper.rb +1 -0
  238. data/vendor/vmc-0.5.0/lib/vmc/test_support.rb +6 -0
  239. data/vendor/vmc-0.5.0/lib/vmc/version.rb +3 -0
  240. data/vendor/vmc-0.5.0/lib/vmc.rb +8 -0
  241. data/vendor/vmc-0.5.0/spec/assets/hello-sinatra/Gemfile +3 -0
  242. data/vendor/vmc-0.5.0/spec/assets/hello-sinatra/config.ru +3 -0
  243. data/vendor/vmc-0.5.0/spec/assets/hello-sinatra/main.rb +6 -0
  244. data/vendor/vmc-0.5.0/spec/assets/specker_runner/specker_runner_input.rb +6 -0
  245. data/vendor/vmc-0.5.0/spec/assets/specker_runner/specker_runner_pause.rb +5 -0
  246. data/vendor/vmc-0.5.0/spec/console_app_specker/console_app_specker_matchers_spec.rb +152 -0
  247. data/vendor/vmc-0.5.0/spec/console_app_specker/specker_runner_spec.rb +157 -0
  248. data/vendor/vmc-0.5.0/spec/features/v1/new_user_flow_spec.rb +109 -0
  249. data/vendor/vmc-0.5.0/spec/features/v2/account_lifecycle_spec.rb +64 -0
  250. data/vendor/vmc-0.5.0/spec/features/v2/push_flow_spec.rb +125 -0
  251. data/vendor/vmc-0.5.0/spec/features/v2/switching_targets_spec.rb +32 -0
  252. data/vendor/vmc-0.5.0/spec/spec_helper.rb +63 -0
  253. data/vendor/vmc-0.5.0/spec/support/command_helper.rb +80 -0
  254. data/vendor/vmc-0.5.0/spec/support/config_helper.rb +15 -0
  255. data/vendor/vmc-0.5.0/spec/support/console_app_specker_matchers.rb +75 -0
  256. data/vendor/vmc-0.5.0/spec/support/fake_home_dir.rb +55 -0
  257. data/vendor/vmc-0.5.0/spec/support/interact_helper.rb +29 -0
  258. data/vendor/vmc-0.5.0/spec/support/shared_examples/errors.rb +40 -0
  259. data/vendor/vmc-0.5.0/spec/support/shared_examples/input.rb +14 -0
  260. data/vendor/vmc-0.5.0/spec/support/specker_runner.rb +79 -0
  261. data/vendor/vmc-0.5.0/spec/support/tracking_expector.rb +71 -0
  262. data/vendor/vmc-0.5.0/spec/vmc/cli/app/base_spec.rb +17 -0
  263. data/vendor/vmc-0.5.0/spec/vmc/cli/app/delete_spec.rb +188 -0
  264. data/vendor/vmc-0.5.0/spec/vmc/cli/app/instances_spec.rb +65 -0
  265. data/vendor/vmc-0.5.0/spec/vmc/cli/app/push/create_spec.rb +591 -0
  266. data/vendor/vmc-0.5.0/spec/vmc/cli/app/push_spec.rb +369 -0
  267. data/vendor/vmc-0.5.0/spec/vmc/cli/app/rename_spec.rb +104 -0
  268. data/vendor/vmc-0.5.0/spec/vmc/cli/app/scale_spec.rb +76 -0
  269. data/vendor/vmc-0.5.0/spec/vmc/cli/app/start_spec.rb +168 -0
  270. data/vendor/vmc-0.5.0/spec/vmc/cli/app/stats_spec.rb +68 -0
  271. data/vendor/vmc-0.5.0/spec/vmc/cli/domain/map_spec.rb +130 -0
  272. data/vendor/vmc-0.5.0/spec/vmc/cli/domain/unmap_spec.rb +69 -0
  273. data/vendor/vmc-0.5.0/spec/vmc/cli/organization/orgs_spec.rb +108 -0
  274. data/vendor/vmc-0.5.0/spec/vmc/cli/organization/rename_spec.rb +113 -0
  275. data/vendor/vmc-0.5.0/spec/vmc/cli/route/map_spec.rb +140 -0
  276. data/vendor/vmc-0.5.0/spec/vmc/cli/route/unmap_spec.rb +221 -0
  277. data/vendor/vmc-0.5.0/spec/vmc/cli/service/bind_spec.rb +25 -0
  278. data/vendor/vmc-0.5.0/spec/vmc/cli/service/delete_spec.rb +22 -0
  279. data/vendor/vmc-0.5.0/spec/vmc/cli/service/rename_spec.rb +105 -0
  280. data/vendor/vmc-0.5.0/spec/vmc/cli/service/service_spec.rb +23 -0
  281. data/vendor/vmc-0.5.0/spec/vmc/cli/service/unbind_spec.rb +25 -0
  282. data/vendor/vmc-0.5.0/spec/vmc/cli/space/create_spec.rb +73 -0
  283. data/vendor/vmc-0.5.0/spec/vmc/cli/space/rename_spec.rb +102 -0
  284. data/vendor/vmc-0.5.0/spec/vmc/cli/space/spaces_spec.rb +104 -0
  285. data/vendor/vmc-0.5.0/spec/vmc/cli/space/switch_space_spec.rb +55 -0
  286. data/vendor/vmc-0.5.0/spec/vmc/cli/start/info_spec.rb +160 -0
  287. data/vendor/vmc-0.5.0/spec/vmc/cli/start/login_spec.rb +142 -0
  288. data/vendor/vmc-0.5.0/spec/vmc/cli/start/logout_spec.rb +50 -0
  289. data/vendor/vmc-0.5.0/spec/vmc/cli/start/target_spec.rb +123 -0
  290. data/vendor/vmc-0.5.0/spec/vmc/cli/user/create_spec.rb +54 -0
  291. data/vendor/vmc-0.5.0/spec/vmc/cli/user/delete_spec.rb +51 -0
  292. data/vendor/vmc-0.5.0/spec/vmc/cli/user/passwd_spec.rb +102 -0
  293. data/vendor/vmc-0.5.0/spec/vmc/cli/user/register_spec.rb +140 -0
  294. data/vendor/vmc-0.5.0/spec/vmc/cli_spec.rb +448 -0
  295. data/vendor/vmc-0.5.0/spec/vmc/detect_spec.rb +54 -0
  296. metadata +446 -43
@@ -0,0 +1,114 @@
1
+ require "vmc/cli/service/base"
2
+
3
+ module VMC::Service
4
+ class Services < Base
5
+ desc "List your service"
6
+ group :services
7
+ input :space, :desc => "Show services in given space",
8
+ :from_given => by_name(:space),
9
+ :default => proc { client.current_space }
10
+ input :name, :desc => "Filter by name"
11
+ input :service, :desc => "Filter by service type"
12
+ input :plan, :desc => "Filter by service plan"
13
+ input :provider, :desc => "Filter by service provider"
14
+ input :version, :desc => "Filter by service version"
15
+ input :app, :desc => "Limit to application's service bindings",
16
+ :from_given => by_name(:app)
17
+ input :full, :desc => "Verbose output format", :default => false
18
+ def services
19
+ msg =
20
+ if space = input[:space]
21
+ "Getting services in #{c(space.name, :name)}"
22
+ else
23
+ "Getting services"
24
+ end
25
+
26
+ services =
27
+ with_progress(msg) do
28
+ client.service_instances(:depth => 2)
29
+ end
30
+
31
+ line unless quiet?
32
+
33
+ if services.empty? and !quiet?
34
+ line "No services."
35
+ return
36
+ end
37
+
38
+ services.reject! do |i|
39
+ !service_matches(i, input)
40
+ end
41
+
42
+ if input[:full]
43
+ spaced(services) do |s|
44
+ invoke :service, :service => s
45
+ end
46
+ else
47
+ table(
48
+ ["name", "service", "version", v2? && "plan", v2? && "bound apps"],
49
+ services.collect { |i|
50
+ if v2?
51
+ plan = i.service_plan
52
+ service = plan.service
53
+
54
+ label = service.label
55
+ version = service.version
56
+ apps = name_list(i.service_bindings.collect(&:app))
57
+ else
58
+ label = i.vendor
59
+ version = i.version
60
+ end
61
+
62
+ [ c(i.name, :name),
63
+ label,
64
+ version,
65
+ v2? && plan.name,
66
+ apps
67
+ ]
68
+ })
69
+ end
70
+ end
71
+
72
+ private
73
+
74
+ def service_matches(i, options)
75
+ if app = options[:app]
76
+ return false unless app.services.include? i
77
+ end
78
+
79
+ if name = options[:name]
80
+ return false unless File.fnmatch(name, i.name)
81
+ end
82
+
83
+ plan = i.service_plan if v2?
84
+
85
+ if service = options[:service]
86
+ if v2?
87
+ return false unless File.fnmatch(service, plan.service.label)
88
+ else
89
+ return false unless File.fnmatch(service, i.vendor)
90
+ end
91
+ end
92
+
93
+ if plan = options[:plan]
94
+ fail "--plan is not supported on this target" unless v2?
95
+ return false unless File.fnmatch(plan.upcase, plan.name.upcase)
96
+ end
97
+
98
+ if provider = options[:provider]
99
+ fail "--provider is not supported on this target" unless v2?
100
+ return false unless File.fnmatch(provider, plan.service.provider)
101
+ end
102
+
103
+ if version = options[:version]
104
+ if v2?
105
+ return false unless File.fnmatch(version, plan.service.version)
106
+ else
107
+ return false unless File.fnmatch(version, i.version)
108
+ end
109
+ end
110
+
111
+ true
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,38 @@
1
+ require "vmc/detect"
2
+
3
+ require "vmc/cli/service/base"
4
+
5
+ module VMC::Service
6
+ class Unbind < Base
7
+ desc "Unbind a service from an application"
8
+ group :services, :manage
9
+ input :service, :desc => "Service to unbind", :argument => :optional,
10
+ :from_given => by_name(:service_instance, :service)
11
+ input :app, :desc => "Application to unbind from", :argument => :optional,
12
+ :from_given => by_name(:app)
13
+ def unbind_service
14
+ app = input[:app]
15
+ service = input[:service, app]
16
+
17
+ with_progress(
18
+ "Unbinding #{c(service.name, :name)} from #{c(app.name, :name)}") do
19
+ app.unbind(service)
20
+ end
21
+ end
22
+
23
+ private
24
+
25
+ def ask_service(app)
26
+ services = app.services
27
+ fail "No bound services." if services.empty?
28
+
29
+ ask "Which service?", :choices => services,
30
+ :display => proc(&:name)
31
+ end
32
+
33
+ def ask_app
34
+ ask "Which application?", :choices => client.apps,
35
+ :display => proc(&:name)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,21 @@
1
+ require "vmc/cli"
2
+
3
+ module VMC
4
+ module Space
5
+ class Base < CLI
6
+ def precondition
7
+ check_target
8
+ check_logged_in
9
+
10
+ fail "This command is v2-only." unless v2?
11
+ end
12
+
13
+ def self.space_by_name
14
+ proc { |name, org, *_|
15
+ org.space_by_name(name) ||
16
+ fail("Unknown space '#{name}'.")
17
+ }
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,60 @@
1
+ require "vmc/cli/space/base"
2
+
3
+ module VMC::Space
4
+ class Create < Base
5
+ desc "Create a space in an organization"
6
+ group :spaces
7
+ input :name, :desc => "Space name", :argument => :optional
8
+ input :organization, :desc => "Parent organization",
9
+ :argument => :optional, :aliases => ["--org", "-o"],
10
+ :from_given => by_name(:organization),
11
+ :default => proc { client.current_organization }
12
+ input :target, :desc => "Switch to the space after creation",
13
+ :alias => "-t", :default => false
14
+ input :manager, :desc => "Add yourself as manager", :default => true
15
+ input :developer, :desc => "Add yourself as developer", :default => true
16
+ input :auditor, :desc => "Add yourself as auditor", :default => false
17
+
18
+ def create_space
19
+ return invoke :help,
20
+ :command => "create-space" if input[:organization].nil?
21
+
22
+ space = client.space
23
+ space.organization = input[:organization]
24
+ space.name = input[:name]
25
+
26
+ with_progress("Creating space #{c(space.name, :name)}") do
27
+ space.create!
28
+ end
29
+
30
+ if input[:manager]
31
+ with_progress("Adding you as a manager") do
32
+ space.add_manager client.current_user
33
+ end
34
+ end
35
+
36
+ if input[:developer]
37
+ with_progress("Adding you as a developer") do
38
+ space.add_developer client.current_user
39
+ end
40
+ end
41
+
42
+ if input[:auditor]
43
+ with_progress("Adding you as an auditor") do
44
+ space.add_auditor client.current_user
45
+ end
46
+ end
47
+
48
+ if input[:target]
49
+ invoke :target, :organization => space.organization,
50
+ :space => space
51
+ end
52
+ end
53
+
54
+ private
55
+
56
+ def ask_name
57
+ ask("Name")
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,95 @@
1
+ require "vmc/cli/space/base"
2
+
3
+ module VMC::Space
4
+ class Delete < Base
5
+ desc "Delete a space and its contents"
6
+ group :spaces
7
+ input :organization, :desc => "Space's organization",
8
+ :aliases => ["--org", "-o"], :from_given => by_name(:organization),
9
+ :default => proc { client.current_organization }
10
+ input :spaces, :desc => "Spaces to delete", :argument => :splat,
11
+ :singular => :space, :from_given => space_by_name
12
+ input :recursive, :desc => "Delete recursively", :alias => "-r",
13
+ :default => false, :forget => true
14
+ input :warn, :desc => "Show warning if it was the last space",
15
+ :default => true
16
+ input :really, :type => :boolean, :forget => true, :hidden => true,
17
+ :default => proc { force? || interact }
18
+ def delete_space
19
+ org = input[:organization]
20
+ spaces = input[:spaces, org]
21
+
22
+ deleted_current = false
23
+
24
+ spaces.each do |space|
25
+ next unless input[:really, space]
26
+
27
+ next unless clear_space(space)
28
+
29
+ deleted_current ||= space == client.current_space
30
+
31
+ with_progress("Deleting space #{c(space.name, :name)}") do
32
+ space.delete!
33
+ end
34
+ end
35
+
36
+ org.invalidate!
37
+
38
+ if org.spaces.empty?
39
+ return unless input[:warn]
40
+
41
+ line
42
+ line c("There are no longer any spaces in #{b(org.name)}.", :warning)
43
+ line "You may want to create one with #{c("create-space", :good)}."
44
+ elsif deleted_current
45
+ invalidate_client
46
+ invoke :target, :organization => client.current_organization
47
+ end
48
+ end
49
+
50
+ def clear_space(space)
51
+ apps = space.apps
52
+ services = space.service_instances
53
+
54
+ return true if apps.empty? && services.empty?
55
+
56
+ unless force?
57
+ line "This space is not empty!"
58
+ line
59
+ line "apps: #{name_list(apps)}"
60
+ line "service: #{name_list(services)}"
61
+ line
62
+
63
+ return unless input[:recursive]
64
+ end
65
+
66
+ apps.each do |a|
67
+ invoke :delete, :app => a, :really => true
68
+ end
69
+
70
+ services.each do |i|
71
+ invoke :delete_service, :service => i, :really => true
72
+ end
73
+
74
+ true
75
+ end
76
+
77
+ private
78
+
79
+ def ask_spaces(org)
80
+ spaces = org.spaces
81
+ fail "No spaces." if spaces.empty?
82
+
83
+ [ask("Which space in #{c(org.name, :name)}?", :choices => spaces,
84
+ :display => proc(&:name))]
85
+ end
86
+
87
+ def ask_really(space)
88
+ ask("Really delete #{c(space.name, :name)}?", :default => false)
89
+ end
90
+
91
+ def ask_recursive
92
+ ask "Delete #{c("EVERYTHING", :bad)}?", :default => false
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,39 @@
1
+ require "vmc/cli/space/base"
2
+
3
+ module VMC::Space
4
+ class Rename < Base
5
+ desc "Rename a space"
6
+ group :spaces, :hidden => true
7
+ input :organization, :desc => "Space's organization",
8
+ :aliases => ["--org", "-o"], :from_given => by_name(:organization),
9
+ :default => proc { client.current_organization }
10
+ input :space, :desc => "Space to rename", :argument => :optional,
11
+ :from_given => by_name(:space)
12
+ input :name, :desc => "New space name", :argument => :optional
13
+ def rename_space
14
+ org = input[:organization]
15
+ space = input[:space, org]
16
+ name = input[:name]
17
+
18
+ space.name = name
19
+
20
+ with_progress("Renaming to #{c(name, :name)}") do
21
+ space.update!
22
+ end
23
+ end
24
+
25
+ private
26
+
27
+ def ask_space(org)
28
+ spaces = org.spaces
29
+ fail "No spaces." if spaces.empty?
30
+
31
+ ask("Rename which space?", :choices => spaces.sort_by(&:name),
32
+ :display => proc(&:name))
33
+ end
34
+
35
+ def ask_name
36
+ ask("New name")
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,64 @@
1
+ require "vmc/cli/space/base"
2
+
3
+ module VMC::Space
4
+ class Space < Base
5
+ desc "Show space information"
6
+ group :spaces
7
+ input :organization, :desc => "Space's organization",
8
+ :aliases => %w{--org -o},
9
+ :default => proc { client.current_organization },
10
+ :from_given => by_name(:organization)
11
+ input :space, :desc => "Space to show", :argument => :optional,
12
+ :default => proc { client.current_space },
13
+ :from_given => space_by_name
14
+ input :full, :desc => "Show full information for apps, services, etc.",
15
+ :default => false
16
+ def space
17
+ org = input[:organization]
18
+ space = input[:space, org]
19
+
20
+ unless space
21
+ return if quiet?
22
+ fail "No current space."
23
+ end
24
+
25
+ if quiet?
26
+ puts space.name
27
+ return
28
+ end
29
+
30
+ line "#{c(space.name, :name)}:"
31
+
32
+ indented do
33
+ line "organization: #{c(space.organization.name, :name)}"
34
+
35
+ if input[:full]
36
+ line
37
+ line "apps:"
38
+
39
+ spaced(space.apps(:depth => 2)) do |a|
40
+ indented do
41
+ invoke :app, :app => a
42
+ end
43
+ end
44
+ else
45
+ line "apps: #{name_list(space.apps)}"
46
+ end
47
+
48
+ if input[:full]
49
+ line
50
+ line "services:"
51
+ spaced(space.service_instances(:depth => 2)) do |s|
52
+ indented do
53
+ invoke :service, :service => s
54
+ end
55
+ end
56
+ else
57
+ line "services: #{name_list(space.service_instances)}"
58
+ end
59
+
60
+ line "domains: #{name_list(space.domains)}"
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,55 @@
1
+ require "vmc/cli/space/base"
2
+
3
+ module VMC::Space
4
+ class Spaces < Base
5
+ desc "List spaces in an organization"
6
+ group :spaces
7
+ input :organization, :desc => "Organization to list spaces from",
8
+ :aliases => %w{--org -o}, :argument => :optional,
9
+ :from_given => by_name(:organization),
10
+ :default => proc { client.current_organization }
11
+ input :name, :desc => "Filter by name"
12
+ input :full, :desc => "Show full information for apps, services, etc.",
13
+ :default => false
14
+ def spaces
15
+ org = input[:organization]
16
+ spaces =
17
+ with_progress("Getting spaces in #{c(org.name, :name)}") do
18
+ org.spaces(:depth => quiet? ? 0 : 1).sort_by(&:name)
19
+ end
20
+
21
+ return if spaces.empty?
22
+
23
+ line unless quiet?
24
+
25
+ spaces.reject! do |s|
26
+ !space_matches?(s, input)
27
+ end
28
+
29
+ if input[:full]
30
+ spaced(spaces) do |s|
31
+ invoke :space, :space => s, :full => input[:full]
32
+ end
33
+ else
34
+ table(
35
+ %w{name apps services},
36
+ spaces.collect { |s|
37
+ [ c(s.name, :name),
38
+ name_list(s.apps),
39
+ name_list(s.service_instances)
40
+ ]
41
+ })
42
+ end
43
+ end
44
+
45
+ private
46
+
47
+ def space_matches?(s, options)
48
+ if name = options[:name]
49
+ return false if s.name !~ /#{name}/
50
+ end
51
+
52
+ true
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,16 @@
1
+ require "vmc/cli/space/base"
2
+
3
+ module VMC::Space
4
+ class Switch < Base
5
+ desc "Switch to a space"
6
+ group :spaces, :hidden => true
7
+ input :name, :desc => "Space name", :argument => true
8
+ def switch_space
9
+ if (space = client.space_by_name(input[:name]))
10
+ invoke :target, :space => space
11
+ else
12
+ raise VMC::UserError, "The space #{input[:name]} does not exist, please create the space first."
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,83 @@
1
+ require "vmc/cli"
2
+
3
+ module VMC
4
+ module Start
5
+ class Base < CLI
6
+ # Make sure we only show the target once
7
+ @@displayed_target = false
8
+
9
+ def displayed_target?
10
+ @@displayed_target
11
+ end
12
+
13
+
14
+ # These commands don't require authentication.
15
+ def precondition; end
16
+
17
+ private
18
+
19
+ def show_context
20
+ return if quiet? || displayed_target?
21
+
22
+ display_target
23
+
24
+ line
25
+
26
+ @@displayed_target = true
27
+ end
28
+
29
+ def display_target
30
+ if quiet?
31
+ line client.target
32
+ else
33
+ line "target: #{c(client.target, :name)}"
34
+ end
35
+ end
36
+
37
+ def select_org(input, info)
38
+ if input.has?(:organization) || !org_valid?(info[:organization])
39
+ org = input[:organization]
40
+ with_progress("Switching to organization #{c(org.name, :name)}") {} if org
41
+ org
42
+ else
43
+ client.current_organization
44
+ end
45
+ end
46
+
47
+ def select_space(org, input, info, changed_org)
48
+ if input.has?(:space) || !space_valid?(info[:space])
49
+ line if changed_org && !quiet?
50
+ space = input[:space, org]
51
+ with_progress("Switching to space #{c(space.name, :name)}") {} if space
52
+ space
53
+ else
54
+ client.current_space
55
+ end
56
+ end
57
+
58
+ def select_org_and_space(input, info)
59
+ org = select_org(input, info)
60
+ changed_org = client.current_organization != org
61
+ space = select_space(org, input, info, changed_org) if org
62
+ info.merge!(
63
+ :organization => (org ? org.guid : nil),
64
+ :space => (space ? space.guid : nil)
65
+ )
66
+ end
67
+
68
+ def org_valid?(guid, user = client.current_user)
69
+ return false unless guid
70
+ client.organization(guid).users.include? user
71
+ rescue CFoundry::APIError
72
+ false
73
+ end
74
+
75
+ def space_valid?(guid, user = client.current_user)
76
+ return false unless guid
77
+ client.space(guid).developers.include? user
78
+ rescue CFoundry::APIError
79
+ false
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,13 @@
1
+ require "vmc/cli/start/base"
2
+
3
+ module VMC::Start
4
+ class Colors < Base
5
+ desc "Show color configuration"
6
+ group :start, :hidden => true
7
+ def colors
8
+ user_colors.each do |n, c|
9
+ line "#{n}: #{c(c.to_s, n)}"
10
+ end
11
+ end
12
+ end
13
+ end