jets 5.0.17 → 6.0.0.beta1

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 (769) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -19
  3. data/Gemfile +4 -0
  4. data/README.md +19 -165
  5. data/Rakefile +3 -3
  6. data/exe/jets +2 -1
  7. data/jets.gemspec +15 -22
  8. data/lib/jets/api/agree.rb +62 -0
  9. data/lib/jets/api/base.rb +8 -0
  10. data/lib/jets/api/client.rb +246 -0
  11. data/lib/jets/api/config.rb +73 -0
  12. data/lib/jets/api/error.rb +70 -0
  13. data/lib/jets/api/ping.rb +9 -0
  14. data/lib/jets/api/project.rb +9 -0
  15. data/lib/jets/api/release.rb +17 -0
  16. data/lib/jets/api/response.rb +27 -0
  17. data/lib/jets/api/sig.rb +13 -0
  18. data/lib/jets/api/stack.rb +14 -0
  19. data/lib/jets/api.rb +17 -0
  20. data/lib/jets/autoloaders/gem.rb +47 -58
  21. data/lib/jets/autoloaders/main.rb +64 -0
  22. data/lib/jets/autoloaders.rb +14 -43
  23. data/lib/jets/aws_services/aws_helpers.rb +17 -0
  24. data/lib/jets/{aws_info.rb → aws_services/aws_info.rb} +24 -17
  25. data/lib/jets/aws_services/global_memoist.rb +9 -4
  26. data/lib/jets/aws_services/s3_bucket.rb +8 -10
  27. data/lib/jets/aws_services/stack_status.rb +5 -31
  28. data/lib/jets/aws_services.rb +36 -17
  29. data/lib/jets/bundle.rb +9 -7
  30. data/lib/jets/cfn/base.rb +16 -5
  31. data/lib/jets/cfn/bootstrap.rb +13 -0
  32. data/lib/jets/cfn/builder/interface.rb +22 -31
  33. data/lib/jets/cfn/builder/parent/genesis.rb +84 -0
  34. data/lib/jets/cfn/builder/post_process.rb +3 -3
  35. data/lib/jets/cfn/delete.rb +17 -0
  36. data/lib/jets/cfn/deploy.rb +151 -0
  37. data/lib/jets/cfn/iam/managed_policy.rb +21 -0
  38. data/lib/jets/cfn/iam/policy.rb +121 -0
  39. data/lib/jets/cfn/resource/associated.rb +1 -1
  40. data/lib/jets/cfn/resource/codebuild/fleet.rb +48 -0
  41. data/lib/jets/cfn/resource/codebuild/iam_role.rb +63 -0
  42. data/lib/jets/cfn/resource/codebuild/project/base.rb +4 -0
  43. data/lib/jets/cfn/resource/codebuild/project/ec2.rb +125 -0
  44. data/lib/jets/cfn/resource/codebuild/project/env.rb +55 -0
  45. data/lib/jets/cfn/resource/codebuild/project/format_env.rb +35 -0
  46. data/lib/jets/cfn/resource/codebuild/project/lambda.rb +15 -0
  47. data/lib/jets/cfn/resource/replacer.rb +5 -5
  48. data/lib/jets/cfn/resource/s3/bucket.rb +3 -3
  49. data/lib/jets/cfn/resource/s3/jets_bucket.rb +9 -18
  50. data/lib/jets/cfn/resource/standardizer.rb +11 -9
  51. data/lib/jets/cfn/rollback.rb +8 -0
  52. data/lib/jets/cfn/stack/deployable.rb +16 -0
  53. data/lib/jets/cfn/stack/rollback.rb +59 -0
  54. data/lib/jets/cfn/stack/template.rb +47 -0
  55. data/lib/jets/cfn/stack/yamler.rb +53 -0
  56. data/lib/jets/cfn/stack.rb +24 -0
  57. data/lib/jets/cfn/status.rb +41 -6
  58. data/lib/jets/cfn/teardown/bucket.rb +79 -0
  59. data/lib/jets/cfn/teardown.rb +20 -0
  60. data/lib/jets/cli/base.rb +46 -0
  61. data/lib/jets/cli/bootstrap.rb +17 -0
  62. data/lib/jets/cli/build.rb +8 -0
  63. data/lib/jets/cli/call.rb +133 -0
  64. data/lib/jets/cli/ci/base.rb +54 -0
  65. data/lib/jets/cli/ci/build.rb +8 -0
  66. data/lib/jets/cli/ci/delete.rb +25 -0
  67. data/lib/jets/cli/ci/deploy.rb +17 -0
  68. data/lib/jets/cli/ci/info.rb +40 -0
  69. data/lib/jets/cli/ci/init.rb +97 -0
  70. data/lib/jets/cli/ci/logs.rb +10 -0
  71. data/lib/jets/cli/ci/start.rb +121 -0
  72. data/lib/jets/cli/ci/status.rb +29 -0
  73. data/lib/jets/cli/ci/stop.rb +24 -0
  74. data/lib/jets/cli/ci/tailer.rb +17 -0
  75. data/lib/jets/cli/ci/templates/ci.rb.tt +19 -0
  76. data/lib/jets/cli/ci.rb +55 -0
  77. data/lib/jets/cli/clean.rb +10 -0
  78. data/lib/jets/cli/concurrency/base.rb +17 -0
  79. data/lib/jets/cli/concurrency/get.rb +37 -0
  80. data/lib/jets/cli/concurrency/info.rb +86 -0
  81. data/lib/jets/cli/concurrency/set.rb +31 -0
  82. data/lib/jets/cli/concurrency/unset.rb +21 -0
  83. data/lib/jets/cli/concurrency.rb +33 -0
  84. data/lib/jets/cli/curl/adapter/base.rb +8 -0
  85. data/lib/jets/cli/curl/adapter/cookies/jar.rb +28 -0
  86. data/lib/jets/cli/curl/adapter/cookies/parser.rb +48 -0
  87. data/lib/jets/cli/curl/adapter/lambda.rb +142 -0
  88. data/lib/jets/cli/curl/request.rb +62 -0
  89. data/lib/jets/cli/curl.rb +9 -0
  90. data/lib/jets/cli/delete.rb +23 -0
  91. data/lib/jets/cli/deploy.rb +18 -0
  92. data/lib/jets/cli/dotenv/base.rb +4 -0
  93. data/lib/jets/cli/dotenv/get.rb +14 -0
  94. data/lib/jets/cli/dotenv/list.rb +32 -0
  95. data/lib/jets/cli/dotenv/set.rb +50 -0
  96. data/lib/jets/cli/dotenv/ssm.rb +60 -0
  97. data/lib/jets/cli/dotenv/unset.rb +11 -0
  98. data/lib/jets/cli/dotenv.rb +28 -0
  99. data/lib/jets/cli/env/base.rb +13 -0
  100. data/lib/jets/cli/env/get.rb +13 -0
  101. data/lib/jets/cli/env/list.rb +19 -0
  102. data/lib/jets/cli/env/parse.rb +11 -0
  103. data/lib/jets/cli/env/set.rb +25 -0
  104. data/lib/jets/cli/env/unset.rb +17 -0
  105. data/lib/jets/cli/env.rb +29 -0
  106. data/lib/jets/cli/exec/command.rb +61 -0
  107. data/lib/jets/cli/exec/repl/history.rb +42 -0
  108. data/lib/jets/cli/exec/repl.rb +122 -0
  109. data/lib/jets/cli/exec.rb +14 -0
  110. data/lib/jets/cli/functions.rb +39 -0
  111. data/lib/jets/cli/generate/event.rb +29 -0
  112. data/lib/jets/cli/generate/templates/application_event.rb.tt +6 -0
  113. data/lib/jets/cli/generate/templates/event_types/application_event.rb +4 -0
  114. data/lib/jets/cli/generate/templates/event_types/dynamodb.rb.tt +6 -0
  115. data/lib/jets/cli/generate/templates/event_types/iot.rb.tt +6 -0
  116. data/lib/jets/{generators/job → cli/generate}/templates/event_types/kinesis.rb.tt +2 -4
  117. data/lib/jets/{generators/job → cli/generate}/templates/event_types/log.rb.tt +2 -4
  118. data/lib/jets/{generators/job → cli/generate}/templates/event_types/rule.rb.tt +2 -4
  119. data/lib/jets/cli/generate/templates/event_types/s3.rb.tt +13 -0
  120. data/lib/jets/cli/generate/templates/event_types/scheduled.rb.tt +6 -0
  121. data/lib/jets/cli/generate/templates/event_types/sns.rb.tt +8 -0
  122. data/lib/jets/cli/generate/templates/event_types/sqs.rb.tt +9 -0
  123. data/lib/jets/cli/generate.rb +6 -0
  124. data/lib/jets/cli/group/actions.rb +57 -0
  125. data/lib/jets/cli/group/base.rb +12 -0
  126. data/lib/jets/cli/group/helpers.rb +26 -0
  127. data/lib/jets/cli/help/build.md +1 -0
  128. data/lib/jets/cli/help/call.md +28 -0
  129. data/lib/jets/cli/help/curl.md +82 -0
  130. data/lib/jets/{command → cli}/help/delete.md +4 -4
  131. data/lib/jets/cli/help/deploy.md +5 -0
  132. data/lib/jets/cli/help/dotenv/get.md +4 -0
  133. data/lib/jets/cli/help/dotenv/list.md +5 -0
  134. data/lib/jets/cli/help/dotenv/set.md +25 -0
  135. data/lib/jets/cli/help/dotenv/unset.md +12 -0
  136. data/lib/jets/cli/help/exec.md +53 -0
  137. data/lib/jets/cli/help/generate/event.md +11 -0
  138. data/lib/jets/{command → cli}/help/logs.md +2 -2
  139. data/lib/jets/{command/help/releases.md → cli/help/release/history.md} +3 -3
  140. data/lib/jets/cli/help/rollback.md +5 -0
  141. data/lib/jets/cli/help/schedule/validate.md +1 -0
  142. data/lib/jets/{command → cli}/help/status.md +1 -1
  143. data/lib/jets/cli/help.rb +16 -0
  144. data/lib/jets/cli/init/detect.rb +30 -0
  145. data/lib/jets/cli/init/templates/config/jets/bootstrap.rb.tt +16 -0
  146. data/lib/jets/cli/init/templates/config/jets/deploy.rb.tt +43 -0
  147. data/lib/jets/cli/init/templates/config/jets/project.rb.tt +3 -0
  148. data/lib/jets/cli/init/templates/env/.env.tt +18 -0
  149. data/lib/jets/cli/init.rb +66 -0
  150. data/lib/jets/cli/lambda/checks.rb +22 -0
  151. data/lib/jets/cli/lambda/function.rb +104 -0
  152. data/lib/jets/cli/lambda/functions.rb +10 -0
  153. data/lib/jets/cli/lambda/lookup.rb +68 -0
  154. data/lib/jets/cli/login.rb +7 -0
  155. data/lib/jets/cli/logout.rb +7 -0
  156. data/lib/jets/cli/logs.rb +40 -0
  157. data/lib/jets/cli/maintenance/base.rb +15 -0
  158. data/lib/jets/cli/maintenance/mode.rb +44 -0
  159. data/lib/jets/cli/maintenance/web.rb +31 -0
  160. data/lib/jets/cli/maintenance/worker/base.rb +22 -0
  161. data/lib/jets/cli/maintenance/worker/restorer.rb +19 -0
  162. data/lib/jets/cli/maintenance/worker/saver.rb +15 -0
  163. data/lib/jets/cli/maintenance/worker/zeroer.rb +19 -0
  164. data/lib/jets/cli/maintenance/worker.rb +31 -0
  165. data/lib/jets/cli/maintenance.rb +32 -0
  166. data/lib/jets/cli/package/dockerfile.rb +9 -0
  167. data/lib/jets/cli/package.rb +8 -0
  168. data/lib/jets/cli/ping.rb +10 -0
  169. data/lib/jets/cli/projects.rb +22 -0
  170. data/lib/jets/cli/release/base.rb +4 -0
  171. data/lib/jets/cli/release/history.rb +68 -0
  172. data/lib/jets/cli/release/info.rb +59 -0
  173. data/lib/jets/cli/release/rollback.rb +15 -0
  174. data/lib/jets/cli/release.rb +23 -0
  175. data/lib/jets/cli/schedule/base.rb +5 -0
  176. data/lib/jets/cli/schedule/translate.rb +168 -0
  177. data/lib/jets/cli/schedule/validate.rb +95 -0
  178. data/lib/jets/cli/schedule.rb +15 -0
  179. data/lib/jets/cli/stacks.rb +33 -0
  180. data/lib/jets/cli/stop.rb +31 -0
  181. data/lib/jets/cli/teardown.rb +8 -0
  182. data/lib/jets/cli/tip.rb +86 -0
  183. data/lib/jets/cli/url.rb +41 -0
  184. data/lib/jets/cli/waf/base.rb +7 -0
  185. data/lib/jets/cli/waf/build.rb +8 -0
  186. data/lib/jets/cli/waf/delete.rb +17 -0
  187. data/lib/jets/cli/waf/deploy.rb +17 -0
  188. data/lib/jets/cli/waf/info.rb +128 -0
  189. data/lib/jets/cli/waf/init.rb +40 -0
  190. data/lib/jets/cli/waf/templates/waf.rb.tt +26 -0
  191. data/lib/jets/cli/waf.rb +38 -0
  192. data/lib/jets/cli.rb +180 -28
  193. data/lib/jets/code/copy/base.rb +84 -0
  194. data/lib/jets/code/copy/full.rb +9 -0
  195. data/lib/jets/code/copy/git_copy.rb +26 -0
  196. data/lib/jets/code/copy/git_inline.rb +13 -0
  197. data/lib/jets/code/copy/rsync.rb +19 -0
  198. data/lib/jets/code/dummy.rb +11 -0
  199. data/lib/jets/code/stager.rb +124 -0
  200. data/lib/jets/code/user.rb +24 -0
  201. data/lib/jets/code.rb +80 -0
  202. data/lib/jets/core/booter.rb +58 -0
  203. data/lib/jets/core/config/base.rb +17 -0
  204. data/lib/jets/core/config/bootstrap/cfn.rb +12 -0
  205. data/lib/jets/core/config/bootstrap/code.rb +16 -0
  206. data/lib/jets/core/config/bootstrap/codebuild.rb +97 -0
  207. data/lib/jets/core/config/bootstrap/s3_bucket.rb +19 -0
  208. data/lib/jets/core/config/bootstrap.rb +24 -0
  209. data/lib/jets/core/config/helpers/ssm.rb +9 -0
  210. data/lib/jets/core/config/helpers.rb +5 -0
  211. data/lib/jets/core/config/info.rb +27 -0
  212. data/lib/jets/core/config/project.rb +103 -0
  213. data/lib/jets/core.rb +26 -202
  214. data/lib/jets/core_ext/bundler.rb +6 -4
  215. data/lib/jets/core_ext.rb +0 -1
  216. data/lib/jets/dotenv/convention.rb +86 -0
  217. data/lib/jets/dotenv/ssm.rb +61 -38
  218. data/lib/jets/dotenv/var.rb +60 -0
  219. data/lib/jets/dotenv.rb +55 -50
  220. data/lib/jets/event/base.rb +55 -0
  221. data/lib/jets/event/dsl/dynamodb_event.rb +8 -0
  222. data/lib/jets/event/dsl/iot_event.rb +17 -0
  223. data/lib/jets/event/dsl/kinesis_event.rb +8 -0
  224. data/lib/jets/event/dsl/log_event.rb +8 -0
  225. data/lib/jets/event/dsl/rate_expression.rb +27 -0
  226. data/lib/jets/event/dsl/s3_event.rb +7 -0
  227. data/lib/jets/event/dsl/scheduled_event.rb +53 -0
  228. data/lib/jets/event/dsl/sns_event.rb +8 -0
  229. data/lib/jets/event/dsl/sqs_event.rb +8 -0
  230. data/lib/jets/{job → event}/dsl.rb +7 -12
  231. data/lib/jets/{job → event}/helpers/kinesis_event.rb +2 -2
  232. data/lib/jets/{job → event}/helpers/log_event.rb +5 -5
  233. data/lib/jets/event/helpers/s3_event.rb +76 -0
  234. data/lib/jets/event/helpers/sns_event.rb +16 -0
  235. data/lib/jets/event/helpers/sqs_event.rb +23 -0
  236. data/lib/jets/event/s3.rb +21 -0
  237. data/lib/jets/git/azure.rb +64 -0
  238. data/lib/jets/git/base.rb +26 -0
  239. data/lib/jets/git/bitbucket.rb +30 -0
  240. data/lib/jets/git/circleci.rb +23 -0
  241. data/lib/jets/git/codebuild.rb +49 -0
  242. data/lib/jets/git/custom.rb +32 -0
  243. data/lib/jets/git/git_cli.rb +28 -0
  244. data/lib/jets/git/github.rb +48 -0
  245. data/lib/jets/git/gitlab.rb +30 -0
  246. data/lib/jets/git/info.rb +39 -0
  247. data/lib/jets/git/local.rb +69 -0
  248. data/lib/jets/git/saved.rb +16 -0
  249. data/lib/jets/git/user.rb +33 -0
  250. data/lib/jets/git.rb +5 -0
  251. data/lib/jets/lambda/definition.rb +22 -16
  252. data/lib/jets/lambda/dsl.rb +394 -394
  253. data/lib/jets/lambda/function_constructor.rb +1 -2
  254. data/lib/jets/lambda/functions.rb +10 -25
  255. data/lib/jets/names.rb +5 -17
  256. data/lib/jets/prewarm.rb +27 -0
  257. data/lib/jets/rdoc.rb +2 -2
  258. data/lib/jets/remote/base.rb +11 -0
  259. data/lib/jets/remote/download.rb +65 -0
  260. data/lib/jets/remote/runner.rb +101 -0
  261. data/lib/jets/remote/tailer.rb +272 -0
  262. data/lib/jets/shim/adapter/alb.rb +16 -0
  263. data/lib/jets/shim/adapter/apigw.rb +37 -0
  264. data/lib/jets/shim/adapter/base.rb +16 -0
  265. data/lib/jets/shim/adapter/command.rb +21 -0
  266. data/lib/jets/shim/adapter/event.rb +27 -0
  267. data/lib/jets/shim/adapter/fallback.rb +64 -0
  268. data/lib/jets/shim/adapter/lambda.rb +35 -0
  269. data/lib/jets/shim/adapter/prewarm.rb +27 -0
  270. data/lib/jets/shim/adapter/web.rb +145 -0
  271. data/lib/jets/shim/config.rb +71 -0
  272. data/lib/jets/shim/handler.rb +60 -0
  273. data/lib/jets/shim/maintenance/maintenance.html +45 -0
  274. data/lib/jets/shim/maintenance.rb +37 -0
  275. data/lib/jets/shim/response/alb.rb +10 -0
  276. data/lib/jets/shim/response/apigw.rb +4 -0
  277. data/lib/jets/shim/response/base.rb +124 -0
  278. data/lib/jets/shim/response/lambda.rb +4 -0
  279. data/lib/jets/shim/response/web.rb +4 -0
  280. data/lib/jets/shim.rb +46 -0
  281. data/lib/jets/stack/{main/dsl → dsl/main}/base.rb +2 -23
  282. data/lib/jets/stack/dsl/main/cloudwatch.rb +6 -0
  283. data/lib/jets/stack/dsl/main/iam.rb +6 -0
  284. data/lib/jets/stack/dsl/main/kinesis.rb +6 -0
  285. data/lib/jets/stack/dsl/main/lambda.rb +39 -0
  286. data/lib/jets/stack/dsl/main/s3.rb +9 -0
  287. data/lib/jets/stack/dsl/main/sns.rb +12 -0
  288. data/lib/jets/stack/dsl/main/sqs.rb +6 -0
  289. data/lib/jets/stack/dsl/main.rb +15 -0
  290. data/lib/jets/stack/dsl/output.rb +11 -0
  291. data/lib/jets/stack/dsl/parameter.rb +11 -0
  292. data/lib/jets/stack/dsl/resource.rb +11 -0
  293. data/lib/jets/stack/dsl.rb +10 -0
  294. data/lib/jets/stack/{output/lookup.rb → outputs.rb} +7 -6
  295. data/lib/jets/stack.rb +11 -58
  296. data/lib/jets/thor/auth.rb +96 -0
  297. data/lib/jets/thor/base.rb +155 -0
  298. data/lib/jets/thor/help.rb +129 -0
  299. data/lib/jets/thor/project_check.rb +50 -0
  300. data/lib/jets/thor/shared_options.rb +31 -0
  301. data/lib/jets/thor/version_check.rb +51 -0
  302. data/lib/jets/util/call_line.rb +9 -0
  303. data/lib/jets/util/camelize.rb +1 -1
  304. data/lib/jets/util/git.rb +11 -0
  305. data/lib/jets/util/logging.rb +16 -0
  306. data/lib/jets/util/pretty.rb +23 -0
  307. data/lib/jets/util/sh.rb +38 -0
  308. data/lib/jets/util/sure.rb +25 -0
  309. data/lib/jets/util/truthy.rb +9 -0
  310. data/lib/jets/util/yamler.rb +3 -5
  311. data/lib/jets/version.rb +1 -1
  312. data/lib/jets.rb +4 -8
  313. metadata +339 -604
  314. data/.circleci/config.yml +0 -92
  315. data/.cody/README.md +0 -13
  316. data/.cody/docs/bin/build.sh +0 -7
  317. data/.cody/docs/bin/bundler_setup.sh +0 -8
  318. data/.cody/docs/bin/cli_docs.sh +0 -6
  319. data/.cody/docs/bin/git_commit.sh +0 -27
  320. data/.cody/docs/bin/git_setup.sh +0 -12
  321. data/.cody/docs/bin/subnav.sh +0 -14
  322. data/.cody/docs/buildspec.yml +0 -10
  323. data/.cody/docs/project.rb +0 -10
  324. data/Dockerfile +0 -16
  325. data/Dockerfile.base +0 -53
  326. data/Guardfile +0 -22
  327. data/Procfile +0 -2
  328. data/engines/internal/app/controllers/jets/application_controller.rb +0 -28
  329. data/engines/internal/app/controllers/jets/bare_controller.rb +0 -6
  330. data/engines/internal/app/controllers/jets/health_controller.rb +0 -55
  331. data/engines/internal/app/controllers/jets/info_controller.rb +0 -45
  332. data/engines/internal/app/controllers/jets/mailers_controller.rb +0 -95
  333. data/engines/internal/app/controllers/jets/mount_controller.rb +0 -59
  334. data/engines/internal/app/controllers/jets/public_controller.rb +0 -35
  335. data/engines/internal/app/controllers/jets/welcome_controller.rb +0 -9
  336. data/engines/internal/app/functions/jets/base_path.rb +0 -109
  337. data/engines/internal/app/functions/jets/base_path_mapping.rb +0 -191
  338. data/engines/internal/app/jobs/jets/preheat_job.rb +0 -64
  339. data/engines/internal/app/shared/functions/jets/s3_bucket_config.rb +0 -33
  340. data/engines/internal/app/views/jets/info/properties.html.erb +0 -1
  341. data/engines/internal/app/views/jets/info/routes.html.erb +0 -10
  342. data/engines/internal/app/views/jets/mailers/email.html.erb +0 -165
  343. data/engines/internal/app/views/jets/mailers/index.html.erb +0 -8
  344. data/engines/internal/app/views/jets/mailers/mailer.html.erb +0 -6
  345. data/engines/internal/app/views/jets/welcome/index.html.erb +0 -95
  346. data/engines/internal/app/views/layouts/application.html.erb +0 -51
  347. data/engines/internal/lib/internal/actiondispatch.rb +0 -39
  348. data/engines/internal/lib/internal/actionmailer.rb +0 -51
  349. data/engines/internal/lib/internal/actionview.rb +0 -152
  350. data/engines/internal/lib/internal/activerecord.rb +0 -37
  351. data/engines/internal/lib/internal/activesupport.rb +0 -47
  352. data/engines/internal/lib/internal/engine.rb +0 -13
  353. data/engines/internal/lib/internal/i18n_engine.rb +0 -19
  354. data/engines/internal/lib/internal/jets_controller.rb +0 -46
  355. data/engines/internal/lib/internal/overrides/debug_exceptions.rb +0 -40
  356. data/engines/internal/lib/internal/templates/rescues/_trace.html.erb +0 -62
  357. data/engines/internal/lib/internal/templates/rescues/_trace.text.erb +0 -9
  358. data/engines/internal/lib/internal/turbines/asset_tag_helper.rb +0 -70
  359. data/engines/internal/lib/internal/turbines/helpers.rb +0 -18
  360. data/engines/internal/lib/internal/turbines/routes_helpers.rb +0 -42
  361. data/lib/jets/app_loader.rb +0 -77
  362. data/lib/jets/application/bootstrap.rb +0 -100
  363. data/lib/jets/application/configuration/defaults.rb +0 -256
  364. data/lib/jets/application/configuration.rb +0 -494
  365. data/lib/jets/application/default_middleware_stack.rb +0 -140
  366. data/lib/jets/application/dummy_erb_compiler.rb +0 -18
  367. data/lib/jets/application/finisher.rb +0 -266
  368. data/lib/jets/application/routes_reloader.rb +0 -80
  369. data/lib/jets/application.rb +0 -556
  370. data/lib/jets/authorizer/base.rb +0 -37
  371. data/lib/jets/authorizer/dsl.rb +0 -73
  372. data/lib/jets/authorizer/helpers/iam_helper.rb +0 -49
  373. data/lib/jets/autoloaders/inflector.rb +0 -21
  374. data/lib/jets/backtrace_cleaner.rb +0 -27
  375. data/lib/jets/booter.rb +0 -78
  376. data/lib/jets/builders/code_builder.rb +0 -359
  377. data/lib/jets/builders/code_size.rb +0 -58
  378. data/lib/jets/builders/gem_replacer.rb +0 -83
  379. data/lib/jets/builders/handler_generator.rb +0 -214
  380. data/lib/jets/builders/lambda_layer.rb +0 -63
  381. data/lib/jets/builders/md5.rb +0 -60
  382. data/lib/jets/builders/md5_zip.rb +0 -61
  383. data/lib/jets/builders/purger.rb +0 -35
  384. data/lib/jets/builders/rack_packager.rb +0 -51
  385. data/lib/jets/builders/rackup_wrappers/rackup +0 -19
  386. data/lib/jets/builders/rackup_wrappers/rackup.rb +0 -7
  387. data/lib/jets/builders/ruby_packager.rb +0 -288
  388. data/lib/jets/builders/shim_vars/app.rb +0 -82
  389. data/lib/jets/builders/shim_vars/base.rb +0 -25
  390. data/lib/jets/builders/shim_vars/shared.rb +0 -37
  391. data/lib/jets/builders/templates/handlers/one_lambda_for_all_controllers.rb +0 -33
  392. data/lib/jets/builders/templates/handlers/one_lambda_per_controller.rb +0 -20
  393. data/lib/jets/builders/templates/handlers/one_lambda_per_method.rb +0 -18
  394. data/lib/jets/builders/tidy.rb +0 -107
  395. data/lib/jets/builders/util.rb +0 -31
  396. data/lib/jets/cfn/builder/api/base.rb +0 -12
  397. data/lib/jets/cfn/builder/api/deployment.rb +0 -46
  398. data/lib/jets/cfn/builder/api/gateway.rb +0 -106
  399. data/lib/jets/cfn/builder/api/mapping.rb +0 -54
  400. data/lib/jets/cfn/builder/api/methods.rb +0 -72
  401. data/lib/jets/cfn/builder/api/paged.rb +0 -30
  402. data/lib/jets/cfn/builder/api/pages/base.rb +0 -105
  403. data/lib/jets/cfn/builder/api/pages/methods.rb +0 -17
  404. data/lib/jets/cfn/builder/api/pages/page.rb +0 -19
  405. data/lib/jets/cfn/builder/api/pages/resources.rb +0 -21
  406. data/lib/jets/cfn/builder/api/resources.rb +0 -40
  407. data/lib/jets/cfn/builder/authorizer.rb +0 -64
  408. data/lib/jets/cfn/builder/controller.rb +0 -28
  409. data/lib/jets/cfn/builder/function.rb +0 -9
  410. data/lib/jets/cfn/builder/job.rb +0 -10
  411. data/lib/jets/cfn/builder/nested.rb +0 -130
  412. data/lib/jets/cfn/builder/one_controller.rb +0 -53
  413. data/lib/jets/cfn/builder/parent/stagger.rb +0 -34
  414. data/lib/jets/cfn/builder/parent.rb +0 -149
  415. data/lib/jets/cfn/builder/rule.rb +0 -20
  416. data/lib/jets/cfn/builder/shared.rb +0 -15
  417. data/lib/jets/cfn/builder/util/source.rb +0 -21
  418. data/lib/jets/cfn/builder.rb +0 -230
  419. data/lib/jets/cfn/deployment.rb +0 -85
  420. data/lib/jets/cfn/download.rb +0 -39
  421. data/lib/jets/cfn/params/api/base.rb +0 -39
  422. data/lib/jets/cfn/params/api/cors.rb +0 -10
  423. data/lib/jets/cfn/params/api/methods.rb +0 -69
  424. data/lib/jets/cfn/params/api/resources.rb +0 -28
  425. data/lib/jets/cfn/params/common.rb +0 -14
  426. data/lib/jets/cfn/resource/api_gateway/authorizer.rb +0 -82
  427. data/lib/jets/cfn/resource/api_gateway/base_path/function.rb +0 -57
  428. data/lib/jets/cfn/resource/api_gateway/base_path/mapping.rb +0 -45
  429. data/lib/jets/cfn/resource/api_gateway/base_path/role.rb +0 -70
  430. data/lib/jets/cfn/resource/api_gateway/deployment.rb +0 -73
  431. data/lib/jets/cfn/resource/api_gateway/domain_name.rb +0 -65
  432. data/lib/jets/cfn/resource/api_gateway/method/authorization.rb +0 -41
  433. data/lib/jets/cfn/resource/api_gateway/method.rb +0 -92
  434. data/lib/jets/cfn/resource/api_gateway/resource.rb +0 -86
  435. data/lib/jets/cfn/resource/api_gateway/resource_id.rb +0 -25
  436. data/lib/jets/cfn/resource/api_gateway/rest_api/change_detection.rb +0 -10
  437. data/lib/jets/cfn/resource/api_gateway/rest_api/logical_id/message.rb +0 -59
  438. data/lib/jets/cfn/resource/api_gateway/rest_api/logical_id.rb +0 -98
  439. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/base.rb +0 -110
  440. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/media_types.rb +0 -36
  441. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/page.rb +0 -93
  442. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/to.rb +0 -30
  443. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/variable.rb +0 -35
  444. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change.rb +0 -27
  445. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/collision/variable_exception.rb +0 -7
  446. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/collision.rb +0 -121
  447. data/lib/jets/cfn/resource/api_gateway/rest_api/routes.rb +0 -7
  448. data/lib/jets/cfn/resource/api_gateway/rest_api.rb +0 -74
  449. data/lib/jets/cfn/resource/config/config_rule.rb +0 -74
  450. data/lib/jets/cfn/resource/config/managed_rule.rb +0 -15
  451. data/lib/jets/cfn/resource/events/rule.rb +0 -31
  452. data/lib/jets/cfn/resource/iam/application_role.rb +0 -27
  453. data/lib/jets/cfn/resource/iam/base_role_definition.rb +0 -56
  454. data/lib/jets/cfn/resource/iam/class_role.rb +0 -74
  455. data/lib/jets/cfn/resource/iam/function_role.rb +0 -54
  456. data/lib/jets/cfn/resource/iam/managed_policy.rb +0 -22
  457. data/lib/jets/cfn/resource/iam/policy.rb +0 -31
  458. data/lib/jets/cfn/resource/iam/policy_document.rb +0 -42
  459. data/lib/jets/cfn/resource/iot/topic_rule.rb +0 -34
  460. data/lib/jets/cfn/resource/lambda/event_source_mapping.rb +0 -31
  461. data/lib/jets/cfn/resource/lambda/function/controller.rb +0 -21
  462. data/lib/jets/cfn/resource/lambda/function/environment.rb +0 -64
  463. data/lib/jets/cfn/resource/lambda/function.rb +0 -266
  464. data/lib/jets/cfn/resource/lambda/gem_layer.rb +0 -17
  465. data/lib/jets/cfn/resource/lambda/layer_version.rb +0 -44
  466. data/lib/jets/cfn/resource/lambda/permission.rb +0 -51
  467. data/lib/jets/cfn/resource/logs/subscription_filter.rb +0 -31
  468. data/lib/jets/cfn/resource/nested/api/base.rb +0 -4
  469. data/lib/jets/cfn/resource/nested/api/deployment.rb +0 -53
  470. data/lib/jets/cfn/resource/nested/api/gateway.rb +0 -15
  471. data/lib/jets/cfn/resource/nested/api/mapping.rb +0 -33
  472. data/lib/jets/cfn/resource/nested/api/methods.rb +0 -30
  473. data/lib/jets/cfn/resource/nested/api/page.rb +0 -8
  474. data/lib/jets/cfn/resource/nested/api/resources.rb +0 -22
  475. data/lib/jets/cfn/resource/nested/app_class.rb +0 -116
  476. data/lib/jets/cfn/resource/nested/authorizer.rb +0 -34
  477. data/lib/jets/cfn/resource/nested/base.rb +0 -38
  478. data/lib/jets/cfn/resource/nested/one_controller.rb +0 -48
  479. data/lib/jets/cfn/resource/nested/shared.rb +0 -79
  480. data/lib/jets/cfn/resource/one/function.rb +0 -66
  481. data/lib/jets/cfn/resource/one/permission.rb +0 -17
  482. data/lib/jets/cfn/resource/route53/record_set.rb +0 -98
  483. data/lib/jets/cfn/resource/sns/subscription.rb +0 -29
  484. data/lib/jets/cfn/resource/sns/topic.rb +0 -35
  485. data/lib/jets/cfn/resource/sns/topic_policy.rb +0 -40
  486. data/lib/jets/cfn/resource/sqs/queue.rb +0 -21
  487. data/lib/jets/cfn/ship.rb +0 -192
  488. data/lib/jets/cfn/template.rb +0 -93
  489. data/lib/jets/cfn/upload.rb +0 -163
  490. data/lib/jets/command/actions.rb +0 -49
  491. data/lib/jets/command/api_helpers.rb +0 -42
  492. data/lib/jets/command/aws_helpers.rb +0 -26
  493. data/lib/jets/command/base.rb +0 -209
  494. data/lib/jets/command/behavior.rb +0 -83
  495. data/lib/jets/command/environment_argument.rb +0 -42
  496. data/lib/jets/command/help/build.md +0 -6
  497. data/lib/jets/command/help/call.md +0 -48
  498. data/lib/jets/command/help/clean/build.md +0 -5
  499. data/lib/jets/command/help/clean/log.md +0 -5
  500. data/lib/jets/command/help/console.md +0 -18
  501. data/lib/jets/command/help/db/generate.md +0 -8
  502. data/lib/jets/command/help/dbconsole.md +0 -9
  503. data/lib/jets/command/help/degenerate.md +0 -16
  504. data/lib/jets/command/help/deploy.md +0 -32
  505. data/lib/jets/command/help/gems/check.md +0 -1
  506. data/lib/jets/command/help/generate.md +0 -28
  507. data/lib/jets/command/help/import/rack.md +0 -13
  508. data/lib/jets/command/help/import/rails.md +0 -11
  509. data/lib/jets/command/help/new.md +0 -41
  510. data/lib/jets/command/help/rollback.md +0 -5
  511. data/lib/jets/command/help/routes.md +0 -15
  512. data/lib/jets/command/help/runner.md +0 -40
  513. data/lib/jets/command/help/server.md +0 -15
  514. data/lib/jets/command/help/upgrade.md +0 -7
  515. data/lib/jets/command/help.rb +0 -17
  516. data/lib/jets/command/helpers/editor.rb +0 -35
  517. data/lib/jets/command/rake_decorate.rb +0 -38
  518. data/lib/jets/command.rb +0 -142
  519. data/lib/jets/commands/application/application_command.rb +0 -46
  520. data/lib/jets/commands/build/build_command.rb +0 -33
  521. data/lib/jets/commands/call/anonymous_guesser.rb +0 -96
  522. data/lib/jets/commands/call/autoload_guesser.rb +0 -136
  523. data/lib/jets/commands/call/base_guesser.rb +0 -62
  524. data/lib/jets/commands/call/call_command.rb +0 -27
  525. data/lib/jets/commands/call/caller.rb +0 -184
  526. data/lib/jets/commands/call/guesser.rb +0 -48
  527. data/lib/jets/commands/clean/base.rb +0 -24
  528. data/lib/jets/commands/clean/build.rb +0 -13
  529. data/lib/jets/commands/clean/clean_command.rb +0 -15
  530. data/lib/jets/commands/clean/log.rb +0 -111
  531. data/lib/jets/commands/configure/configure_command.rb +0 -9
  532. data/lib/jets/commands/console/console_command.rb +0 -38
  533. data/lib/jets/commands/credentials/USAGE +0 -103
  534. data/lib/jets/commands/credentials/credentials_command/diffing.rb +0 -51
  535. data/lib/jets/commands/credentials/credentials_command.rb +0 -139
  536. data/lib/jets/commands/db/system/change/change_command.rb +0 -24
  537. data/lib/jets/commands/dbconsole/dbconsole_command.rb +0 -184
  538. data/lib/jets/commands/degenerate/degenerate_command.rb +0 -21
  539. data/lib/jets/commands/delete/delete_command.rb +0 -154
  540. data/lib/jets/commands/deploy/deploy_command.rb +0 -118
  541. data/lib/jets/commands/dev/dev_command.rb +0 -19
  542. data/lib/jets/commands/dotenv/dotenv_command.rb +0 -9
  543. data/lib/jets/commands/encrypted/USAGE +0 -46
  544. data/lib/jets/commands/encrypted/encrypted_command.rb +0 -87
  545. data/lib/jets/commands/gems/gems_command.rb +0 -14
  546. data/lib/jets/commands/generate/generate_command.rb +0 -95
  547. data/lib/jets/commands/help/USAGE +0 -20
  548. data/lib/jets/commands/help/help_command.rb +0 -15
  549. data/lib/jets/commands/initializers/initializers_command.rb +0 -19
  550. data/lib/jets/commands/logs/logs_command.rb +0 -45
  551. data/lib/jets/commands/new/new_command.rb +0 -19
  552. data/lib/jets/commands/notes/notes_command.rb +0 -30
  553. data/lib/jets/commands/plugin/plugin_command.rb +0 -45
  554. data/lib/jets/commands/projects/projects_command.rb +0 -30
  555. data/lib/jets/commands/rake/rake_command.rb +0 -59
  556. data/lib/jets/commands/releases/releases_command.rb +0 -124
  557. data/lib/jets/commands/rollback/rollback_command.rb +0 -33
  558. data/lib/jets/commands/routes/routes_command.rb +0 -19
  559. data/lib/jets/commands/runner/runner_command.rb +0 -60
  560. data/lib/jets/commands/server/server_command.rb +0 -291
  561. data/lib/jets/commands/stacks/stacks_command.rb +0 -39
  562. data/lib/jets/commands/status/status_command.rb +0 -16
  563. data/lib/jets/commands/url/url_command.rb +0 -92
  564. data/lib/jets/commands/version/version_command.rb +0 -11
  565. data/lib/jets/commands.rb +0 -17
  566. data/lib/jets/configuration.rb +0 -166
  567. data/lib/jets/controller/base.rb +0 -117
  568. data/lib/jets/controller/compat/abstract_controller/base.rb +0 -126
  569. data/lib/jets/controller/compat/action_controller/metal.rb +0 -99
  570. data/lib/jets/controller/compat/caching.rb +0 -13
  571. data/lib/jets/controller/compat/future.rb +0 -13
  572. data/lib/jets/controller/compat/route_set.rb +0 -47
  573. data/lib/jets/controller/decorate/apigw_stage.rb +0 -39
  574. data/lib/jets/controller/decorate/authorization.rb +0 -91
  575. data/lib/jets/controller/decorate/logging.rb +0 -90
  576. data/lib/jets/controller/decorate/redirecting.rb +0 -16
  577. data/lib/jets/controller/decorate/url_for.rb +0 -10
  578. data/lib/jets/controller/handler/apigw.rb +0 -93
  579. data/lib/jets/controller/handler.rb +0 -41
  580. data/lib/jets/controller/middleware/main.rb +0 -61
  581. data/lib/jets/controller/middleware/mimic/apigw.rb +0 -140
  582. data/lib/jets/controller/middleware/mimic/lambda_context.rb +0 -44
  583. data/lib/jets/controller/middleware/mimic.rb +0 -105
  584. data/lib/jets/controller/middleware/webpacker_setup.rb +0 -6
  585. data/lib/jets/controller/rack_adapter/action.rb +0 -35
  586. data/lib/jets/controller/rack_adapter/env.rb +0 -145
  587. data/lib/jets/controller/request/compat/params.rb +0 -144
  588. data/lib/jets/controller/request/compat/request.rb +0 -125
  589. data/lib/jets/controller/request.rb +0 -46
  590. data/lib/jets/controller/response/compat/response.rb +0 -67
  591. data/lib/jets/controller/response.rb +0 -144
  592. data/lib/jets/core_ext/kernel.rb +0 -13
  593. data/lib/jets/dev_caching.rb +0 -44
  594. data/lib/jets/dotenv/show.rb +0 -11
  595. data/lib/jets/engine/configuration.rb +0 -96
  596. data/lib/jets/engine/turbines.rb +0 -23
  597. data/lib/jets/engine.rb +0 -380
  598. data/lib/jets/erb.rb +0 -51
  599. data/lib/jets/generators/job/job_generator.rb +0 -41
  600. data/lib/jets/generators/job/templates/application_job.rb.tt +0 -6
  601. data/lib/jets/generators/job/templates/event_types/dynamodb.rb.tt +0 -8
  602. data/lib/jets/generators/job/templates/event_types/iot.rb.tt +0 -8
  603. data/lib/jets/generators/job/templates/event_types/s3.rb.tt +0 -11
  604. data/lib/jets/generators/job/templates/event_types/scheduled.rb.tt +0 -8
  605. data/lib/jets/generators/job/templates/event_types/sns.rb.tt +0 -11
  606. data/lib/jets/generators/job/templates/event_types/sqs.rb.tt +0 -11
  607. data/lib/jets/generators/overrides/app/USAGE +0 -38
  608. data/lib/jets/generators/overrides/app/app_generator.rb +0 -148
  609. data/lib/jets/generators/overrides/app/helpers.rb +0 -139
  610. data/lib/jets/generators/overrides/app/templates/.env +0 -10
  611. data/lib/jets/generators/overrides/app/templates/.gitignore.tt +0 -13
  612. data/lib/jets/generators/overrides/app/templates/.jetsignore +0 -6
  613. data/lib/jets/generators/overrides/app/templates/.rspec +0 -3
  614. data/lib/jets/generators/overrides/app/templates/Gemfile.tt +0 -28
  615. data/lib/jets/generators/overrides/app/templates/README.md +0 -11
  616. data/lib/jets/generators/overrides/app/templates/Rakefile +0 -2
  617. data/lib/jets/generators/overrides/app/templates/app/assets/config/manifest.js +0 -3
  618. data/lib/jets/generators/overrides/app/templates/app/assets/images/.keep +0 -0
  619. data/lib/jets/generators/overrides/app/templates/app/assets/javascripts/.keep +0 -0
  620. data/lib/jets/generators/overrides/app/templates/app/assets/stylesheets/application.css +0 -15
  621. data/lib/jets/generators/overrides/app/templates/app/controllers/application_controller.rb +0 -2
  622. data/lib/jets/generators/overrides/app/templates/app/helpers/application_helper.rb +0 -2
  623. data/lib/jets/generators/overrides/app/templates/app/javascript/application.js +0 -5
  624. data/lib/jets/generators/overrides/app/templates/app/jobs/application_job.rb +0 -4
  625. data/lib/jets/generators/overrides/app/templates/app/models/application_record.rb +0 -3
  626. data/lib/jets/generators/overrides/app/templates/app/views/layouts/application.html.erb.tt +0 -30
  627. data/lib/jets/generators/overrides/app/templates/bin/jets +0 -3
  628. data/lib/jets/generators/overrides/app/templates/config/application.rb.tt +0 -15
  629. data/lib/jets/generators/overrides/app/templates/config/database.yml.tt +0 -27
  630. data/lib/jets/generators/overrides/app/templates/config/environments/development.rb.tt +0 -29
  631. data/lib/jets/generators/overrides/app/templates/config/environments/production.rb.tt +0 -21
  632. data/lib/jets/generators/overrides/app/templates/config/environments/test.rb.tt +0 -23
  633. data/lib/jets/generators/overrides/app/templates/config/initializers/content_security_policy.rb +0 -31
  634. data/lib/jets/generators/overrides/app/templates/config/initializers/filter_parameter_logging.rb +0 -8
  635. data/lib/jets/generators/overrides/app/templates/config/initializers/permissions_policy.rb +0 -11
  636. data/lib/jets/generators/overrides/app/templates/config/routes.rb +0 -13
  637. data/lib/jets/generators/overrides/app/templates/config.ru +0 -5
  638. data/lib/jets/generators/overrides/app/templates/db/.gitkeep +0 -0
  639. data/lib/jets/generators/overrides/app/templates/public/404.html +0 -67
  640. data/lib/jets/generators/overrides/app/templates/public/422.html +0 -67
  641. data/lib/jets/generators/overrides/app/templates/public/500.html +0 -66
  642. data/lib/jets/generators/overrides/app/templates/public/favicon.ico +0 -0
  643. data/lib/jets/generators/overrides/app/templates/spec/controllers/posts_controller_spec.rb +0 -15
  644. data/lib/jets/generators/overrides/app/templates/spec/fixtures/payloads/posts-index.json +0 -51
  645. data/lib/jets/generators/overrides/app/templates/spec/fixtures/payloads/posts-show.json +0 -53
  646. data/lib/jets/generators/overrides/app/templates/spec/spec_helper.rb.tt +0 -30
  647. data/lib/jets/generators/overrides/templates/erb/scaffold/_form.html.erb +0 -34
  648. data/lib/jets/generators/overrides/templates/erb/scaffold/edit.html.erb +0 -6
  649. data/lib/jets/generators/overrides/templates/erb/scaffold/index.html.erb +0 -22
  650. data/lib/jets/generators/overrides/templates/erb/scaffold/new.html.erb +0 -5
  651. data/lib/jets/generators/overrides/templates/erb/scaffold/partial.html.erb +0 -8
  652. data/lib/jets/generators/overrides/templates/erb/scaffold/show.html.erb +0 -9
  653. data/lib/jets/generators/overrides/templates/rails/assets/javascript.js +0 -2
  654. data/lib/jets/generators/overrides/templates/rails/assets/stylesheet.css +0 -4
  655. data/lib/jets/generators/overrides/templates/rails/scaffold/scaffold.css +0 -80
  656. data/lib/jets/generators/overrides/templates/rails/scaffold_controller/api_controller.rb.tt +0 -58
  657. data/lib/jets/generators/overrides/templates/rails/scaffold_controller/controller.rb.tt +0 -67
  658. data/lib/jets/generators.rb +0 -112
  659. data/lib/jets/inflections.rb +0 -32
  660. data/lib/jets/info.rb +0 -116
  661. data/lib/jets/initializable.rb +0 -95
  662. data/lib/jets/job/base.rb +0 -52
  663. data/lib/jets/job/dsl/dynamodb_event.rb +0 -78
  664. data/lib/jets/job/dsl/event_source_mapping.rb +0 -11
  665. data/lib/jets/job/dsl/iot_event.rb +0 -24
  666. data/lib/jets/job/dsl/kinesis_event.rb +0 -47
  667. data/lib/jets/job/dsl/log_event.rb +0 -15
  668. data/lib/jets/job/dsl/rule_event.rb +0 -78
  669. data/lib/jets/job/dsl/s3_event.rb +0 -77
  670. data/lib/jets/job/dsl/sns_event.rb +0 -54
  671. data/lib/jets/job/dsl/sqs_event.rb +0 -97
  672. data/lib/jets/job/helpers/s3_event.rb +0 -50
  673. data/lib/jets/job/helpers/sns_event.rb +0 -26
  674. data/lib/jets/job/helpers/sqs_event.rb +0 -26
  675. data/lib/jets/klass.rb +0 -108
  676. data/lib/jets/lambda/dsl/warnings.rb +0 -57
  677. data/lib/jets/mega/hash_converter.rb +0 -25
  678. data/lib/jets/mega/request/source.rb +0 -20
  679. data/lib/jets/mega/request.rb +0 -163
  680. data/lib/jets/overrides/dummy/rails.rb +0 -11
  681. data/lib/jets/overrides/lambda/marshaller.rb +0 -31
  682. data/lib/jets/overrides/lambda.rb +0 -1
  683. data/lib/jets/overrides/puma.rb +0 -10
  684. data/lib/jets/paths.rb +0 -243
  685. data/lib/jets/poly/base_executor.rb +0 -125
  686. data/lib/jets/poly/lambda_executor.rb +0 -16
  687. data/lib/jets/poly/node_error.rb +0 -8
  688. data/lib/jets/poly/node_executor.rb +0 -54
  689. data/lib/jets/poly/python_error.rb +0 -8
  690. data/lib/jets/poly/python_executor.rb +0 -23
  691. data/lib/jets/poly.rb +0 -73
  692. data/lib/jets/preheat.rb +0 -110
  693. data/lib/jets/processors/deducer.rb +0 -65
  694. data/lib/jets/processors/main_processor.rb +0 -54
  695. data/lib/jets/rack/logger.rb +0 -77
  696. data/lib/jets/router/compat/route_set.rb +0 -177
  697. data/lib/jets/router/dsl/mount.rb +0 -47
  698. data/lib/jets/router/dsl.rb +0 -164
  699. data/lib/jets/router/engine_mount.rb +0 -36
  700. data/lib/jets/router/help.rb +0 -130
  701. data/lib/jets/router/helpers/named_routes/add_full_url.rb +0 -13
  702. data/lib/jets/router/helpers/named_routes/generated.rb +0 -197
  703. data/lib/jets/router/helpers/named_routes/proxy.rb +0 -66
  704. data/lib/jets/router/matcher.rb +0 -204
  705. data/lib/jets/router/resources/base.rb +0 -7
  706. data/lib/jets/router/resources/filter.rb +0 -15
  707. data/lib/jets/router/resources/options.rb +0 -15
  708. data/lib/jets/router/route/after_initialize.rb +0 -64
  709. data/lib/jets/router/route/as.rb +0 -93
  710. data/lib/jets/router/route/authorizer.rb +0 -58
  711. data/lib/jets/router/route/compat.rb +0 -45
  712. data/lib/jets/router/route/info.rb +0 -74
  713. data/lib/jets/router/route/node.rb +0 -137
  714. data/lib/jets/router/route/path.rb +0 -93
  715. data/lib/jets/router/route.rb +0 -249
  716. data/lib/jets/router/route_set.rb +0 -214
  717. data/lib/jets/router/scope.rb +0 -230
  718. data/lib/jets/router/state.rb +0 -67
  719. data/lib/jets/router/util.rb +0 -8
  720. data/lib/jets/router.rb +0 -94
  721. data/lib/jets/ruby_version_check.rb +0 -15
  722. data/lib/jets/rule/base.rb +0 -20
  723. data/lib/jets/rule/dsl.rb +0 -109
  724. data/lib/jets/secrets.rb +0 -110
  725. data/lib/jets/spec_helpers/controllers/params.rb +0 -8
  726. data/lib/jets/spec_helpers/controllers/request.rb +0 -107
  727. data/lib/jets/spec_helpers/controllers/response.rb +0 -10
  728. data/lib/jets/spec_helpers/controllers.rb +0 -54
  729. data/lib/jets/spec_helpers/fixtures.rb +0 -11
  730. data/lib/jets/spec_helpers.rb +0 -15
  731. data/lib/jets/stack/builder.rb +0 -44
  732. data/lib/jets/stack/definition.rb +0 -47
  733. data/lib/jets/stack/depends/item.rb +0 -26
  734. data/lib/jets/stack/depends.rb +0 -34
  735. data/lib/jets/stack/function.rb +0 -71
  736. data/lib/jets/stack/main/dsl/cloudwatch.rb +0 -19
  737. data/lib/jets/stack/main/dsl/iam.rb +0 -8
  738. data/lib/jets/stack/main/dsl/kinesis.rb +0 -15
  739. data/lib/jets/stack/main/dsl/lambda.rb +0 -90
  740. data/lib/jets/stack/main/dsl/s3.rb +0 -12
  741. data/lib/jets/stack/main/dsl/sns.rb +0 -16
  742. data/lib/jets/stack/main/dsl/sqs.rb +0 -10
  743. data/lib/jets/stack/main/dsl.rb +0 -17
  744. data/lib/jets/stack/main.rb +0 -4
  745. data/lib/jets/stack/output/dsl.rb +0 -19
  746. data/lib/jets/stack/output.rb +0 -35
  747. data/lib/jets/stack/parameter/dsl.rb +0 -42
  748. data/lib/jets/stack/parameter.rb +0 -37
  749. data/lib/jets/stack/resource/dsl.rb +0 -19
  750. data/lib/jets/stack/resource.rb +0 -31
  751. data/lib/jets/stack/s3_event.rb +0 -101
  752. data/lib/jets/tasks/engine.rake +0 -85
  753. data/lib/jets/tasks/framework.rake +0 -66
  754. data/lib/jets/tasks/log.rake +0 -41
  755. data/lib/jets/tasks/middleware.rake +0 -9
  756. data/lib/jets/tasks/misc.rake +0 -81
  757. data/lib/jets/tasks/statistics.rake +0 -37
  758. data/lib/jets/tasks/tmp.rake +0 -51
  759. data/lib/jets/tasks/yarn.rake +0 -29
  760. data/lib/jets/tasks/zeitwerk.rake +0 -61
  761. data/lib/jets/tasks.rb +0 -18
  762. data/lib/jets/tmp_loader.rb +0 -53
  763. data/lib/jets/turbine/configurable.rb +0 -36
  764. data/lib/jets/turbine/configuration.rb +0 -101
  765. data/lib/jets/turbine.rb +0 -185
  766. data/lib/jets/util.rb +0 -40
  767. /data/lib/jets/{command → cli}/help/projects.md +0 -0
  768. /data/lib/jets/{command → cli}/help/stacks.md +0 -0
  769. /data/lib/jets/{command → cli}/help/url.md +0 -0
@@ -11,411 +11,411 @@ module Jets::Lambda::Dsl
11
11
  self.class.lambda_functions
12
12
  end
13
13
 
14
- included do
15
- class << self
16
- extend Memoist
17
- include Warnings
18
-
19
- def class_properties(options=nil)
20
- if options
21
- @class_properties ||= {}
22
- @class_properties.deep_merge!(options)
23
- else
24
- @class_properties || {}
14
+ module ClassMethods
15
+ extend Memoist
16
+
17
+ def class_properties(options = nil)
18
+ if options
19
+ @class_properties ||= {}
20
+ @class_properties.deep_merge!(options)
21
+ else
22
+ @class_properties || {}
23
+ end
24
+ end
25
+ alias_method :class_props, :class_properties
26
+
27
+ def properties(options = {})
28
+ @properties ||= {}
29
+ @properties.deep_merge!(options)
30
+ end
31
+ alias_method :props, :properties
32
+
33
+ def class_environment(hash)
34
+ environment = standardize_env(hash)
35
+ class_properties(Environment: environment)
36
+ end
37
+ alias_method :class_env, :class_environment
38
+
39
+ def environment(hash)
40
+ environment = standardize_env(hash)
41
+ properties(Environment: environment)
42
+ end
43
+ alias_method :env, :environment
44
+
45
+ # Allows user to pass in hash with or without the :variables key.
46
+ def standardize_env(hash)
47
+ return hash if hash.key?(:Variables)
48
+
49
+ environment = {}
50
+ environment[:Variables] ||= {}
51
+ environment[:Variables].merge!(hash)
52
+ environment
53
+ end
54
+
55
+ # Convenience method that set properties. List based on https://amzn.to/2oSph1P
56
+ # Not all properites are included because some properties are not meant to be set
57
+ # directly. For example, function_name is a calculated setting by Jets.
58
+ PROPERTIES = %W[
59
+ dead_letter_config
60
+ description
61
+ ephemeral_storage
62
+ handler
63
+ kms_key_arn
64
+ logging_config
65
+ memory_size
66
+ reserved_concurrent_executions
67
+ role
68
+ runtime
69
+ tags
70
+ timeout
71
+ tracing_config
72
+ vpc_config
73
+ ]
74
+ PROPERTIES.each do |property|
75
+ # Example:
76
+ # def timeout(value)
77
+ # properties(timeout: value)
78
+ # end
79
+ #
80
+ # def class_timeout(value)
81
+ # class_properties(timeout: value)
82
+ # end
83
+ class_eval <<~CODE, __FILE__, __LINE__ + 1
84
+ def #{property}(value)
85
+ properties(#{property}: value)
25
86
  end
26
- end
27
- alias_method :class_props, :class_properties
28
-
29
- def properties(options={})
30
- @properties ||= {}
31
- @properties.deep_merge!(options)
32
- end
33
- alias_method :props, :properties
34
-
35
- def class_environment(hash)
36
- environment = standardize_env(hash)
37
- class_properties(Environment: environment)
38
- end
39
- alias_method :class_env, :class_environment
40
87
 
41
- def environment(hash)
42
- environment = standardize_env(hash)
43
- properties(Environment: environment)
44
- end
45
- alias_method :env, :environment
46
-
47
- # Allows user to pass in hash with or without the :variables key.
48
- def standardize_env(hash)
49
- return hash if hash.key?(:Variables)
50
-
51
- environment = {}
52
- environment[:Variables] ||= {}
53
- environment[:Variables].merge!(hash)
54
- environment
55
- end
56
-
57
- # Convenience method that set properties. List based on https://amzn.to/2oSph1P
58
- # Not all properites are included because some properties are not meant to be set
59
- # directly. For example, function_name is a calculated setting by Jets.
60
- PROPERTIES = %W[
61
- dead_letter_config
62
- description
63
- ephemeral_storage
64
- handler
65
- kms_key_arn
66
- memory_size
67
- reserved_concurrent_executions
68
- role
69
- runtime
70
- timeout
71
- tracing_config
72
- vpc_config
73
- tags
74
- ]
75
- PROPERTIES.each do |property|
88
+ def class_#{property}(value)
89
+ class_properties(#{property}: value)
90
+ end
91
+ CODE
92
+ end
93
+
94
+ # Expose the PROPERTIES list so we can access it
95
+ def properties_list
96
+ PROPERTIES
97
+ end
98
+
99
+ # More convenience aliases
100
+ alias_method :memory, :memory_size
101
+ alias_method :class_memory, :class_memory_size
102
+ alias_method :desc, :description
103
+ alias_method :class_desc, :class_description
104
+ alias_method :reserved_concurrency, :reserved_concurrent_executions
105
+ alias_method :class_reserved_concurrency, :class_reserved_concurrent_executions
106
+
107
+ attr_writer :provisioned_concurrency
108
+
109
+ # definitions: one or more definitions
110
+ def iam_policy(*definitions)
111
+ if definitions.empty?
112
+ @iam_policy
113
+ else
114
+ @iam_policy ||= []
115
+ @iam_policy += definitions.flatten
116
+ end
117
+ end
118
+
119
+ # definitions: one or more definitions
120
+ def class_iam_policy(*definitions)
121
+ if definitions.empty?
122
+ @class_iam_policy
123
+ else
124
+ @class_iam_policy ||= []
125
+ @class_iam_policy += definitions.flatten
126
+ end
127
+ end
128
+
129
+ # definitions: one or more definitions
130
+ def managed_iam_policy(*definitions)
131
+ if definitions.empty?
132
+ @managed_iam_policy
133
+ else
134
+ @managed_iam_policy ||= []
135
+ @managed_iam_policy += definitions.flatten
136
+ end
137
+ end
138
+
139
+ # definitions: one or more definitions
140
+ def class_managed_iam_policy(*definitions)
141
+ if definitions.empty?
142
+ @class_managed_iam_policy
143
+ else
144
+ @class_managed_iam_policy ||= []
145
+ @class_managed_iam_policy += definitions.flatten
146
+ end
147
+ end
148
+
149
+ def build_class_iam?
150
+ !!(class_iam_policy || class_managed_iam_policy)
151
+ end
152
+
153
+ #############################
154
+ # Main method that registers resources associated with the Lambda function.
155
+ # All resources methods lead here.
156
+ def associated_resources(*definitions)
157
+ if definitions == [nil] # when associated_resources called with no arguments
158
+ @associated_resources || []
159
+ else
160
+ @associated_resources ||= []
161
+ associated_resource = Jets::Cfn::Resource::Associated.new(definitions)
162
+ associated_resource.multiple_resources = @multiple_resources
163
+ @associated_resources << associated_resource
164
+ @associated_resources.flatten!
165
+ end
166
+ end
167
+ alias_method :associated_resource, :associated_resources
168
+ # Allow user to use `resource` instead of `associated_resource` for a more natural feel
169
+ # User-friendly short resource method. Users will use this.
170
+ alias_method :resource, :associated_resources
171
+
172
+ # Using this odd way of setting these properties so we can keep the
173
+ # resource(*definitions) signature simple. Using keyword arguments at the end
174
+ # interfere with being able to pass in any keys for the properties hash at the end.
175
+ #
176
+ # TODO: If there's a cleaner way of doing this, let me know.
177
+ def with_fresh_properties(fresh_properties: true, multiple_resources: true)
178
+ @associated_properties = nil if fresh_properties # dont use any current associated_properties
179
+ @multiple_resources = multiple_resources
180
+
181
+ yield
182
+
183
+ @multiple_resources = false
184
+ @associated_properties = nil if fresh_properties # reset for next definition, since we're defining eagerly
185
+ end
186
+
187
+ # Properties belonging to the associated resource
188
+ def associated_properties(options = {})
189
+ @associated_properties ||= {}
190
+ @associated_properties.deep_merge!(options)
191
+ end
192
+ alias_method :associated_props, :associated_properties
193
+
194
+ # meta definition
195
+ def self.define_associated_properties(associated_properties)
196
+ associated_properties.each do |property|
76
197
  # Example:
77
- # def timeout(value)
78
- # properties(timeout: value)
79
- # end
80
- #
81
- # def class_timeout(value)
82
- # class_properties(timeout: value)
198
+ # def config_rule_name(value)
199
+ # associated_properties(config_rule_name: value)
83
200
  # end
84
- class_eval <<~CODE
201
+ class_eval <<~CODE, __FILE__, __LINE__ + 1
85
202
  def #{property}(value)
86
- properties(#{property}: value)
87
- end
88
-
89
- def class_#{property}(value)
90
- class_properties(#{property}: value)
203
+ associated_properties(#{property}: value)
91
204
  end
92
205
  CODE
93
206
  end
94
- # More convenience aliases
95
- alias_method :memory, :memory_size
96
- alias_method :class_memory, :class_memory_size
97
- alias_method :desc, :description
98
- alias_method :class_desc, :class_description
99
-
100
- # definitions: one or more definitions
101
- def iam_policy(*definitions)
102
- if definitions.empty?
103
- @iam_policy
104
- else
105
- iam_policy_unused_warning(managed=false)
106
- @iam_policy ||= []
107
- @iam_policy += definitions.flatten
108
- end
109
- end
110
-
111
- # definitions: one or more definitions
112
- def class_iam_policy(*definitions)
113
- if definitions.empty?
114
- @class_iam_policy
115
- else
116
- class_iam_policy_unused_warning(managed=false)
117
- @class_iam_policy ||= []
118
- @class_iam_policy += definitions.flatten
119
- end
120
- end
121
-
122
- # definitions: one or more definitions
123
- def managed_iam_policy(*definitions)
124
- if definitions.empty?
125
- @managed_iam_policy
126
- else
127
- iam_policy_unused_warning(managed=true)
128
- @managed_iam_policy ||= []
129
- @managed_iam_policy += definitions.flatten
130
- end
131
- end
132
-
133
- # definitions: one or more definitions
134
- def class_managed_iam_policy(*definitions)
135
- if definitions.empty?
136
- @class_managed_iam_policy
137
- else
138
- class_iam_policy_unused_warning(managed=true)
139
- @class_managed_iam_policy ||= []
140
- @class_managed_iam_policy += definitions.flatten
141
- end
142
- end
143
-
144
- def build_class_iam?
145
- !!(class_iam_policy || class_managed_iam_policy)
146
- end
147
-
148
- #############################
149
- # Main method that registers resources associated with the Lambda function.
150
- # All resources methods lead here.
151
- def associated_resources(*definitions)
152
- if definitions == [nil] # when associated_resources called with no arguments
153
- @associated_resources || []
154
- else
155
- @associated_resources ||= []
156
- associated_resource = Jets::Cfn::Resource::Associated.new(definitions)
157
- associated_resource.multiple_resources = @multiple_resources
158
- @associated_resources << associated_resource
159
- @associated_resources.flatten!
160
- end
161
- end
162
- # User-friendly short resource method. Users will use this.
163
- alias_method :resource, :associated_resources
164
-
165
- # Using this odd way of setting these properties so we can keep the
166
- # resource(*definitions) signature simple. Using keyword arguments at the end
167
- # interfere with being able to pass in any keys for the properties hash at the end.
207
+ end
208
+
209
+ def add_logical_id_counter?
210
+ return false unless @associated_resources
211
+ # Only takes one associated resource with multiple set to true to return false of this check
212
+ return false if @associated_resources.detect { |associated| associated.multiple_resources }
213
+ # Otherwise check if there is more than 1 @associated_resources
214
+ @associated_resources.size > 1
215
+ end
216
+
217
+ # Loop back through the resources and add a counter to the end of the id
218
+ # to handle multiple events.
219
+ # Then replace @associated_resources entirely
220
+ def add_logical_id_counter
221
+ numbered_resources = []
222
+ n = 1
223
+ @associated_resources.map do |associated|
224
+ logical_id = associated.logical_id
225
+ attributes = associated.attributes
226
+
227
+ logical_id = logical_id.to_s.sub(/\d+$/, "")
228
+ new_definition = {"#{logical_id}#{n}" => attributes}
229
+ numbered_resources << Jets::Cfn::Resource::Associated.new(new_definition)
230
+ n += 1
231
+ end
232
+ @associated_resources = numbered_resources
233
+ end
234
+
235
+ # Examples:
236
+ #
237
+ # depends_on :custom
238
+ # depends_on :custom, :alert
239
+ # depends_on :custom, class_prefix: true
240
+ # depends_on :custom, :alert, class_prefix: true
241
+ #
242
+ # interface method
243
+ def depends_on(*stacks)
244
+ end
245
+
246
+ def ref(name)
247
+ "!Ref #{name.to_s.camelize}"
248
+ end
249
+
250
+ def sub(value)
251
+ "!Sub #{value.to_s.camelize}"
252
+ end
253
+
254
+ # meth is a Symbol
255
+ def method_added(meth)
256
+ return if %w[initialize method_missing].include?(meth.to_s)
257
+ return unless public_method_defined?(meth)
258
+
259
+ register_definition(meth)
260
+ end
261
+
262
+ def register_definition(meth, lang = :ruby)
263
+ # Note: for anonymous classes like for app/functions self.name is ""
264
+ # We adjust the class name when we build the functions later in
265
+ # FunctionContstructor#adjust_definitions.
266
+
267
+ # At this point we can use the current associated_properties and defined the
268
+ # associated resource with the Lambda function.
269
+ unless associated_properties.empty?
270
+ associated_resources(default_associated_resource_definition(meth))
271
+ end
272
+
273
+ # Unsure why but we have to use @associated_resources vs associated_resources
274
+ # associated_resources is always nil
275
+ if add_logical_id_counter?
276
+ add_logical_id_counter
277
+ end
278
+
279
+ all_definitions[meth] = Jets::Lambda::Definition.new(name, meth,
280
+ properties: @properties, # lambda function properties
281
+ provisioned_concurrency: @provisioned_concurrency,
282
+ iam_policy: @iam_policy,
283
+ managed_iam_policy: @managed_iam_policy,
284
+ associated_resources: @associated_resources,
285
+ lang: lang,
286
+ replacements: replacements(meth))
287
+
288
+ # Done storing options, clear out for the next added method.
289
+ clear_properties
290
+ # Important to clear @properties at the end of registering outside of
291
+ # register_definition because register_definition is overridden in Jets::Event::Dsl
168
292
  #
169
- # TODO: If there's a cleaner way of doing this, let me know.
170
- def with_fresh_properties(fresh_properties: true, multiple_resources: true)
171
- @associated_properties = nil if fresh_properties # dont use any current associated_properties
172
- @multiple_resources = multiple_resources
173
-
174
- yield
175
-
176
- @multiple_resources = false
177
- @associated_properties = nil if fresh_properties # reset for next definition, since we're defining eagerly
178
- end
179
-
180
- # Properties belonging to the associated resource
181
- def associated_properties(options={})
182
- @associated_properties ||= {}
183
- @associated_properties.deep_merge!(options)
184
- end
185
- alias_method :associated_props, :associated_properties
186
-
187
- # meta definition
188
- def self.define_associated_properties(associated_properties)
189
- associated_properties.each do |property|
190
- # Example:
191
- # def config_rule_name(value)
192
- # associated_properties(config_rule_name: value)
193
- # end
194
- class_eval <<~CODE
195
- def #{property}(value)
196
- associated_properties(#{property}: value)
197
- end
198
- CODE
199
- end
200
- end
201
-
202
- def add_logical_id_counter?
203
- return false unless @associated_resources
204
- # Only takes one associated resource with multiple set to true to return false of this check
205
- return false if @associated_resources.detect { |associated| associated.multiple_resources }
206
- # Otherwise check if there is more than 1 @associated_resources
207
- @associated_resources.size > 1
208
- end
209
-
210
- # Loop back through the resources and add a counter to the end of the id
211
- # to handle multiple events.
212
- # Then replace @associated_resources entirely
213
- def add_logical_id_counter
214
- numbered_resources = []
215
- n = 1
216
- @associated_resources.map do |associated|
217
- logical_id = associated.logical_id
218
- attributes = associated.attributes
219
-
220
- logical_id = logical_id.to_s.sub(/\d+$/,'')
221
- new_definition = { "#{logical_id}#{n}" => attributes }
222
- numbered_resources << Jets::Cfn::Resource::Associated.new(new_definition)
223
- n += 1
224
- end
225
- @associated_resources = numbered_resources
226
- end
227
-
228
- # Examples:
293
+ # Jets::Event::Base < Jets::Lambda::Functions
229
294
  #
230
- # depends_on :custom
231
- # depends_on :custom, :alert
232
- # depends_on :custom, class_prefix: true
233
- # depends_on :custom, :alert, class_prefix: true
234
- #
235
- def depends_on(*stacks)
236
- if stacks == []
237
- @depends_on
295
+ # Both Jets::Event::Base and Jets::Lambda::Functions have Dsl modules included.
296
+ # So the Jets::Event::Dsl overrides some of the Jets::Lambda::Dsl behavior.
297
+
298
+ true
299
+ end
300
+
301
+ # Meant to be overridden to add more custom replacements based on the app class type
302
+ def replacements(meth)
303
+ {}
304
+ end
305
+
306
+ def clear_properties
307
+ @properties = nil
308
+ @provisioned_concurrency = nil
309
+ @iam_policy = nil
310
+ @managed_iam_policy = nil
311
+ @associated_resources = nil
312
+ @associated_properties = nil
313
+ end
314
+
315
+ # Returns the all definitions for this class with their method names as keys.
316
+ #
317
+ # ==== Returns
318
+ # OrderedHash:: An ordered hash with definitions names as keys and definition
319
+ # objects as values.
320
+ #
321
+ def all_definitions
322
+ @all_definitions ||= ActiveSupport::OrderedHash.new
323
+ end
324
+ # Do not call all definitions outside this class, instead use: definitions or lambda functions
325
+ private :all_definitions
326
+
327
+ # Goes up the class inheritance chain to build the definitions.
328
+ #
329
+ # Example heirarchy:
330
+ #
331
+ # Jets::Lambda::Functions > Jets::Controller::Base > ApplicationController ...
332
+ # > PostsController > ChildPostsController
333
+ #
334
+ # Do not include definitions from the direct subclasses of Jets::Lambda::Functions
335
+ # because those classes are abstract. Dont want those methods to be included.
336
+ def find_all_definitions(options = {})
337
+ public = options[:public].nil? ? true : options[:public]
338
+ klass = self
339
+ direct_subclasses = Jets::Lambda::Functions.subclasses
340
+ lookup = []
341
+
342
+ # Go up class inheritance and builds lookup structure in memory
343
+ until direct_subclasses.include?(klass)
344
+ lookup << klass.send(:all_definitions) # one place we want to call private all_definitions method
345
+ klass = klass.superclass
346
+ end
347
+ merged_definitions = ActiveSupport::OrderedHash.new
348
+ # Go back down the class inheritance chain in reverse order and merge the definitions
349
+ lookup.reverse_each do |definitions_hash|
350
+ # definitions_hash is a result of all_definitions. Example: PostsController.all_definitions
351
+ merged_definitions.merge!(definitions_hash)
352
+ end
353
+
354
+ # The cfn builders required the right final child class to build the lambda functions correctly.
355
+ merged_definitions.each do |meth, definition|
356
+ # Override the class name for the cfn builders
357
+ definition = definition.clone # do not stomp over current definitions since things are usually looked by reference
358
+ definition.instance_variable_set(:@class_name, name)
359
+ merged_definitions[meth] = definition
360
+ end
361
+
362
+ # Methods can be made private with the :private keyword after the method has been defined.
363
+ # To account for this, loop back thorugh all the methods and check if the method is indeed public.
364
+ definitions = ActiveSupport::OrderedHash.new
365
+ merged_definitions.each do |meth, definition|
366
+ if public
367
+ definitions[meth] = definition if definition.public_meth?
238
368
  else
239
- @depends_on ||= []
240
- options = stacks.last.is_a?(Hash) ? stacks.pop : {}
241
- stacks.each do |stack|
242
- @depends_on << Jets::Stack::Depends::Item.new(stack, options)
243
- end
369
+ definitions[meth] = definition unless definition.public_meth?
244
370
  end
245
371
  end
246
-
247
- def ref(name)
248
- "!Ref #{name.to_s.camelize}"
249
- end
250
-
251
- def sub(value)
252
- "!Sub #{value.to_s.camelize}"
253
- end
254
-
255
- # meth is a Symbol
256
- def method_added(meth)
257
- return if %w[initialize method_missing].include?(meth.to_s)
258
- return unless public_method_defined?(meth)
259
-
260
- register_definition(meth)
261
- end
262
-
263
- def register_definition(meth, lang=:ruby)
264
- # Note: for anonymous classes like for app/functions self.name is ""
265
- # We adjust the class name when we build the functions later in
266
- # FunctionContstructor#adjust_definitions.
267
-
268
- # At this point we can use the current associated_properties and defined the
269
- # associated resource with the Lambda function.
270
- unless associated_properties.empty?
271
- associated_resources(default_associated_resource_definition(meth))
272
- end
273
-
274
- # Unsure why but we have to use @associated_resources vs associated_resources
275
- # associated_resources is always nil
276
- if add_logical_id_counter?
277
- add_logical_id_counter
278
- end
279
-
280
- all_definitions[meth] = Jets::Lambda::Definition.new(self.name, meth,
281
- properties: @properties, # lambda function properties
282
- iam_policy: @iam_policy,
283
- managed_iam_policy: @managed_iam_policy,
284
- associated_resources: @associated_resources,
285
- lang: lang,
286
- replacements: replacements(meth))
287
-
288
- # Done storing options, clear out for the next added method.
289
- clear_properties
290
- # Important to clear @properties at the end of registering outside of
291
- # register_definition because register_definition is overridden in Jets::Job::Dsl
292
- #
293
- # Jets::Job::Base < Jets::Lambda::Functions
294
- #
295
- # Both Jets::Job::Base and Jets::Lambda::Functions have Dsl modules included.
296
- # So the Jets::Job::Dsl overrides some of the Jets::Lambda::Dsl behavior.
297
-
298
- true
299
- end
300
-
301
- # Meant to be overridden to add more custom replacements based on the app class type
302
- def replacements(meth)
303
- {}
304
- end
305
-
306
- def clear_properties
307
- @properties = nil
308
- @iam_policy = nil
309
- @managed_iam_policy = nil
310
- @associated_resources = nil
311
- @associated_properties = nil
312
- end
313
-
314
- # Returns the all definitions for this class with their method names as keys.
315
- #
316
- # ==== Returns
317
- # OrderedHash:: An ordered hash with definitions names as keys and definition
318
- # objects as values.
319
- #
320
- def all_definitions
321
- @all_definitions ||= ActiveSupport::OrderedHash.new
322
- end
323
- # Do not call all definitions outside this class, instead use: definitions or lambda functions
324
- private :all_definitions
325
-
326
- # Goes up the class inheritance chain to build the definitions.
327
- #
328
- # Example heirarchy:
329
- #
330
- # Jets::Lambda::Functions > Jets::Controller::Base > ApplicationController ...
331
- # > PostsController > ChildPostsController
332
- #
333
- # Do not include definitions from the direct subclasses of Jets::Lambda::Functions
334
- # because those classes are abstract. Dont want those methods to be included.
335
- def find_all_definitions(options={})
336
- public = options[:public].nil? ? true : options[:public]
337
- klass = self
338
- direct_subclasses = Jets::Lambda::Functions.subclasses
339
- lookup = []
340
-
341
- # Go up class inheritance and builds lookup structure in memory
342
- until direct_subclasses.include?(klass)
343
- lookup << klass.send(:all_definitions) # one place we want to call private all_definitions method
344
- klass = klass.superclass
345
- end
346
- merged_definitions = ActiveSupport::OrderedHash.new
347
- # Go back down the class inheritance chain in reverse order and merge the definitions
348
- lookup.reverse.each do |definitions_hash|
349
- # definitions_hash is a result of all_definitions. Example: PostsController.all_definitions
350
- merged_definitions.merge!(definitions_hash)
351
- end
352
-
353
- # The cfn builders required the right final child class to build the lambda functions correctly.
354
- merged_definitions.each do |meth, definition|
355
- # Override the class name for the cfn builders
356
- definition = definition.clone # do not stomp over current definitions since things are usually looked by reference
357
- definition.instance_variable_set(:@class_name, self.name)
358
- merged_definitions[meth] = definition
359
- end
360
-
361
- # Methods can be made private with the :private keyword after the method has been defined.
362
- # To account for this, loop back thorugh all the methods and check if the method is indeed public.
363
- definitions = ActiveSupport::OrderedHash.new
364
- merged_definitions.each do |meth, definition|
365
- if public
366
- definitions[meth] = definition if definition.public_meth?
367
- else
368
- definitions[meth] = definition unless definition.public_meth?
369
- end
370
- end
371
- definitions
372
- end
373
- memoize :find_all_definitions
374
-
375
- def all_public_definitions
376
- find_all_definitions(public: true)
377
- end
378
-
379
- def all_private_definitions
380
- find_all_definitions(public: false)
381
- end
382
-
383
- # Returns the definitions for this class in Array form.
384
- #
385
- # ==== Returns
386
- # Array of definition objects
387
- #
388
- def definitions
389
- all_public_definitions.values
390
- end
391
-
392
- # The public methods defined in the project app class ulimately become
393
- # lambda functions.
394
- #
395
- # Example return value:
396
- # [:index, :new, :create, :show]
397
- def lambda_functions
398
- all_public_definitions.keys
399
- end
400
-
401
- # Used in Jets::Cfn::Builder::Interface#build
402
- # Overridden in rule/dsl.rb
403
- def build?
404
- !definitions.empty?
405
- end
406
-
407
- # Polymorphic support
408
- def defpoly(lang, meth)
409
- register_definition(meth, lang)
410
- end
411
-
412
- def python(meth)
413
- defpoly(:python, meth)
414
- end
415
-
416
- def node(meth)
417
- defpoly(:node, meth)
418
- end
419
- end # end of class << self
420
- end # end of included
372
+ definitions
373
+ end
374
+ memoize :find_all_definitions
375
+
376
+ def all_public_definitions
377
+ find_all_definitions(public: true)
378
+ end
379
+
380
+ def all_private_definitions
381
+ find_all_definitions(public: false)
382
+ end
383
+
384
+ # Returns the definitions for this class in Array form.
385
+ #
386
+ # ==== Returns
387
+ # Array of definition objects
388
+ #
389
+ def definitions
390
+ all_public_definitions.values
391
+ end
392
+
393
+ # The public methods defined in the project app class ulimately become
394
+ # lambda functions.
395
+ #
396
+ # Example return value:
397
+ # [:index, :new, :create, :show]
398
+ def lambda_functions
399
+ all_public_definitions.keys
400
+ end
401
+
402
+ # Used in Jets::Cfn::Builder::Interface#build
403
+ # Overridden in rule/dsl.rb
404
+ def build?
405
+ !definitions.empty?
406
+ end
407
+
408
+ # Polymorphic support
409
+ def defpoly(lang, meth)
410
+ register_definition(meth, lang)
411
+ end
412
+
413
+ def python(meth)
414
+ defpoly(:python, meth)
415
+ end
416
+
417
+ def node(meth)
418
+ defpoly(:node, meth)
419
+ end
420
+ end
421
421
  end