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
@@ -1,109 +0,0 @@
1
- begin
2
- require 'bundler/setup'
3
- # When require bundler/setup fails, AWS Lambda won't be able to load base_path_mapping
4
- # So we'll require base_path_mapping within begin/rescue block so that it does not also
5
- # fail the entire lambda function.
6
- # require 'jets/internal/app/functions/jets/base_path_mapping'
7
- require_relative "base_path_mapping"
8
- rescue Exception => e
9
- # Note: rescue LoadError is not enough in AWS Lambda environment
10
- # Actual exceptions:
11
- # require bundler/setup: Ruby exception "Bundler::GemNotFound"
12
- # require base_path_mappnig: AWS Lambda reported error "errorType": "Init<LoadError>"
13
- # Will use a generic rescue Exception though in case error changes in the future.
14
- puts "WARN: #{e.class} #{e.message}"
15
- puts <<~EOL
16
- Could not require bundler/setup.
17
- This can happen for weird timeout missing error. Example:
18
-
19
- Could not find timeout-0.3.2 in locally installed gems
20
-
21
- Happens when the gem command is out-of-date on old versions of ruby 2.7.
22
- See: https://community.boltops.com/t/could-not-find-timeout-0-3-1-in-any-of-the-sources/996
23
- EOL
24
- end
25
- require 'cfn_response'
26
-
27
- STAGE_NAME = "<%= @stage_name %>"
28
-
29
- def lambda_handler(event:, context:)
30
- cfn = CfnResponse.new(event, context)
31
- cfn.response do
32
- # Super edge case: mapping is nil when require bundler/setup fails
33
- begin
34
- mapping = BasePathMapping.new(event, STAGE_NAME)
35
- rescue NameError => e
36
- puts "ERROR: #{e.class} #{e.message}"
37
- puts error_message
38
- end
39
-
40
- # This is the "second pass" of CloudFormation when it tries to delete the BasePathMapping during rollback
41
- if mapping.nil? && event['RequestType'] == "Delete"
42
- cfn.success # so that CloudFormation can continue the delete process from a rollback
43
- delay
44
- return
45
- end
46
-
47
- # Normal behavior when mapping is not nil when bundler/setup loads successfully
48
- case event['RequestType']
49
- when "Create", "Update"
50
- mapping.update
51
- when "Delete"
52
- mapping.delete(true) if mapping.should_delete?
53
- end
54
- end
55
- end
56
-
57
- def delay
58
- puts "Delaying 60 seconds to allow user some time to see lambda function logs."
59
- 60.times do
60
- puts Time.now
61
- sleep 1
62
- end
63
- end
64
-
65
- def error_message
66
- <<~EOL
67
- This is ultimately the result of require bundler/setup failing to load.
68
- On the CloudFormation first pass, the BasePathMapping fails to CREATE.
69
- CloudFormation does a rollback and tries to delete the BasePathMapping.
70
-
71
- Jets will send a success response to CloudFormation so it can continue and delete
72
- BasePathMapping on the rollback. Otherwise, CloudFormation ends up in the terminal
73
- UPDATE_FAILED state and the CloudFormation console provides 3 options:
74
-
75
- 1) retry 2) update 3) rollback.
76
-
77
- The only option that seems to work is rollback to get it out of UPDATE_FAILED to
78
- UPDATE_ROLLBACK_COMPLETE. But then, if we `jets deploy` again without fixing the
79
- require bundler/setup issue, we'll end back up in the UPDATE_FAILED state.
80
-
81
- Will handle this error so we can continue the stack because we do not want it to fail
82
- and never be able to send the CfnResponse. Then we have to wait hours for a CloudFormation timeout.
83
- Sometimes deleting the APP-dev-ApiDeployment20230518230443-EXAMPLEY8YQP0 stack
84
- allows the cloudformation stacks to continue, but usually, it'll only just slightly speed up the rollback.
85
-
86
- Some examples of actual rollback times:
87
-
88
- When left alone, the rollback takes about 2.5 hours.
89
-
90
- 2023-05-19 05:39:25 User Initiated
91
- 2023-05-19 08:01:48 UPDATE_ROLLBACK_COMPLETE
92
-
93
- When deleting the APP-dev-ApiDeployment20230518230443-EXAMPLEY8YQP0 stack, it takes about 1.5 hours.
94
-
95
- 2023-05-19 06:25:41 User Initiated
96
- 2023-05-19 07:47:03 UPDATE_ROLLBACK_COMPLETE
97
-
98
- Rescuing and handling the error here allows the CloudFormation stack to continue and finish the rollback process.
99
- It takes the rollback time down to about 3 minutes. Example:
100
-
101
- 2023-05-19 16:34:19 User Initiated
102
- 2023-05-19 16:37:34 UPDATE_ROLLBACK_COMPLETE
103
-
104
- Note: The first cloudformation CREATE pass sends FAILED Status to CloudFormation,
105
- and the second cloudformation DELETE pass sends SUCCESS Status to CloudFormation.
106
-
107
- Related: https://community.boltops.com/t/could-not-find-timeout-0-3-1-in-any-of-the-sources/996
108
- EOL
109
- end
@@ -1,191 +0,0 @@
1
- require 'aws-sdk-apigateway'
2
- require 'aws-sdk-cloudformation'
3
-
4
- class BasePathMapping
5
- def initialize(event, stage_name)
6
- @event, @stage_name = event, stage_name
7
- aws_config_update!
8
- end
9
-
10
- # Override the AWS retry settings. The aws-sdk-core has expondential backup with this formula:
11
- #
12
- # 2 ** c.retries * c.config.retry_base_delay
13
- #
14
- # So the max delay will be 2 ** 7 * 0.6 = 76.8s
15
- #
16
- # Useful links:
17
- #
18
- # https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-sdk-core/lib/aws-sdk-core/plugins/retry_errors.rb
19
- # https://docs.aws.amazon.com/apigateway/latest/developerguide/limits.html
20
- #
21
- def aws_config_update!
22
- Aws.config.update(
23
- retry_limit: 7, # default: 3
24
- retry_base_delay: 0.6, # default: 0.3
25
- )
26
- end
27
-
28
- # Cannot use update_base_path_mapping to update the base_mapping because it doesnt
29
- # allow us to change the rest_api_id. So we delete and create.
30
- def update
31
- puts "BasePathMapping update"
32
- if rest_api_changed?
33
- delete(true)
34
- create
35
- else
36
- puts "BasePathMapping update: rest_api_id #{rest_api_id} did not change. Skipping."
37
- end
38
-
39
- puts "BasePathMapping update complete"
40
- end
41
-
42
- def rest_api_changed?
43
- puts "BasePathMapping checking if rest_api_id changed"
44
- mapping = current_base_path_mapping
45
- return true unless mapping
46
- mapping.rest_api_id != rest_api_id
47
- end
48
-
49
- def current_base_path_mapping
50
- resp = apigateway.get_base_path_mapping(base_path: "(none)", domain_name: domain_name)
51
- rescue Aws::APIGateway::Errors::NotFoundException
52
- return nil
53
- end
54
-
55
- # Dont delete the newly created base path mapping unless this is an operation
56
- # where we're fully deleting the stack
57
- def should_delete?
58
- deleting_parent?
59
- end
60
-
61
- def delete(fail_silently=false)
62
- puts "BasePathMapping delete"
63
- options = {
64
- domain_name: domain_name, # required
65
- base_path: base_path.empty? ? '(none)' : base_path,
66
- }
67
- puts "BasePathMapping delete options #{options.inspect}"
68
- apigateway.delete_base_path_mapping(options)
69
- wait_for_delete
70
- puts "BasePathMapping delete complete"
71
- # https://github.com/tongueroo/jets/issues/255
72
- # Used to return: Aws::APIGateway::Errors::NotFoundException
73
- # Now returns: Aws::APIGateway::Errors::InternalFailure
74
- # So we'll use a more generic error
75
- rescue Aws::APIGateway::Errors::ServiceError => e
76
- raise(e) unless fail_silently
77
- end
78
-
79
- # Wait for deletion to complete
80
- # Otherwise, CloudFormation continues too fast during a `jets delete`
81
- # and the initially fails deletion. CloudFormaton then retries until it's successfully.
82
- # The stack ultimately finishes deleting successfully but the error messages
83
- # are confusing to the user.
84
- def wait_for_delete
85
- loop do
86
- resp = apigateway.get_base_path_mapping(
87
- domain_name: domain_name,
88
- base_path: base_path.empty? ? '(none)' : base_path,
89
- )
90
- break if resp.nil? || resp.empty?
91
- sleep(5)
92
- end
93
- rescue Aws::APIGateway::Errors::NotFoundException
94
- nil
95
- end
96
-
97
- def create
98
- puts "BasePathMapping create"
99
- options = {
100
- domain_name: domain_name, # required
101
- base_path: base_path,
102
- rest_api_id: rest_api_id, # required
103
- stage: @stage_name,
104
- }
105
- puts "BasePathMapping create options #{options.inspect}"
106
- apigateway.create_base_path_mapping(options)
107
- puts "BasePathMapping create complete"
108
- rescue Aws::APIGateway::Errors::ServiceError => e
109
- puts "ERROR: #{e.class}: #{e.message}"
110
- puts "BasePathMapping create failed"
111
- if e.message.include?("Invalid domain name identifier specified")
112
- puts <<~EOL
113
- This super edge case error seems to happen when the cloudformation stack does a rollback
114
- because the BasePathMapping custom resource fails. This has happened with a strange combination of
115
- ruby 2.7 and the timeout gem not being picked up in the AWS Lambda runtime environment
116
- Specifically, when jets deploy was used with a rubygems install that is out-of-date.
117
- See: https://community.boltops.com/t/could-not-find-timeout-0-3-1-in-any-of-the-sources/996
118
-
119
- The new base path mapping is not created correctly and the old base path mapping is not properly deleted.
120
- The old ghost base mapping interferes with the new base path mapping.
121
- The workaround solution seems to require removing all the config.domain settings and deploying again. Example:
122
-
123
- config/application.rb
124
-
125
- config.domain.cert_arn = "arn:aws:acm:us-west-2:111111111111:certificate/EXAMPLE1-a3de-4fe7-b72e-4cc153c5303e"
126
- config.domain.hosted_zone_name = "example.com"
127
-
128
- Comment out those settings, deploy, then uncomment and deploy again.
129
- If there's a better workaround, please let us know.
130
- EOL
131
- end
132
- raise(e)
133
- end
134
-
135
- def mapping_stack
136
- @mapping_stack ||= cfn.describe_stacks(stack_name: @event['StackId']).stacks.first
137
- end
138
-
139
- def rest_api_id
140
- @rest_api_id ||= parameter_value('RestApi')
141
- end
142
-
143
- def domain_name
144
- @domain_name ||= parameter_value('DomainName')
145
- end
146
-
147
- def base_path
148
- @base_path ||= parameter_value('BasePath') || ''
149
- end
150
-
151
- def parameter_value(parameter_key)
152
- puts "mapping_stack #{mapping_stack.inspect}"
153
- param = mapping_stack[:parameters].find { |p| p.parameter_key == parameter_key }
154
- param&.parameter_value # possible for this to be nil when removing the config: IE: config.domain.name = nil
155
- end
156
-
157
- def deleting_parent?
158
- stack = cfn.describe_stacks(stack_name: parent_stack_name).stacks.first
159
- stack.stack_status == 'DELETE_IN_PROGRESS'
160
- end
161
-
162
- def parent_stack_name
163
- mapping_stack[:root_id]
164
- end
165
-
166
- def apigateway
167
- @apigateway ||= Aws::APIGateway::Client.new(aws_options)
168
- end
169
-
170
- def cfn
171
- @cfn ||= Aws::CloudFormation::Client.new(aws_options)
172
- end
173
-
174
- def aws_options
175
- options = {
176
- retry_limit: 7, # default: 3
177
- retry_base_delay: 0.6, # default: 0.3
178
- }
179
- options.merge!(
180
- log_level: :debug,
181
- logger: Logger.new($stdout),
182
- ) if ENV['JETS_DEBUG_AWS_SDK']
183
- options
184
- end
185
- end
186
-
187
- if __FILE__ == $0
188
- event = JSON.load(File.read(ARGV[0]))
189
- stage_name = 'dev' # change to test
190
- BasePathMapping.new(event, stage_name).update
191
- end
@@ -1,64 +0,0 @@
1
- class Jets::PreheatJob < Jets::Job::Base
2
- include Jets::AwsServices
3
-
4
- class_timeout 30
5
- class_memory 1024
6
- class_iam_policy([
7
- {
8
- Sid: "Statement1",
9
- Action: ["logs:*"],
10
- Effect: "Allow",
11
- Resource: [{
12
- "Fn::Sub": "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/lambda/${JetsPreheatJobWarmLambdaFunction}"
13
- }]
14
- },
15
- {
16
- Sid: "Statement2",
17
- Action: ["lambda:InvokeFunction", "lambda:InvokeAsync"],
18
- Effect: "Allow",
19
- Resource: [{
20
- "Fn::Sub": "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:#{Jets.project_namespace}-*"
21
- }]
22
- }
23
- ])
24
-
25
- rate(Jets.config.prewarm.rate) if Jets.config.prewarm.enable
26
- def warm
27
- options = call_options(event[:quiet])
28
- Jets::Preheat.warm_all(options)
29
- "Finished prewarming your application."
30
- end
31
-
32
- class << self
33
- # Can use this to prewarm post deploy
34
- def prewarm!
35
- perform_now(:warm, quiet: true)
36
- end
37
- end
38
-
39
- private
40
-
41
- # Usually: jets-preheat_job-warm unless JETS_RESET=1, in that case need to lookup the function name
42
- def warm_function_name
43
- # Return early to avoid lookup call normally
44
- return "jets-preheat_job-warm" unless ENV["JETS_RESET"] == "1"
45
-
46
- parent_stack = cfn.describe_stack_resources(stack_name: Jets::Names.parent_stack_name)
47
- preheat_stack = parent_stack.stack_resources.find do |resource|
48
- resource.logical_resource_id =~ /JetsPreheatJob/
49
- end
50
-
51
- resp = cfn.describe_stack_resources(stack_name: preheat_stack.physical_resource_id)
52
- resources = resp.stack_resources
53
- warm_function = resources.find do |resource|
54
- resource.logical_resource_id =~ /WarmLambdaFunction/
55
- end
56
- warm_function.physical_resource_id # IE: jets-preheat_job-warm
57
- end
58
-
59
- def call_options(quiet)
60
- options = {}
61
- options.merge!(mute: true, mute_output: true) if quiet
62
- options
63
- end
64
- end
@@ -1,33 +0,0 @@
1
- require 'bundler/setup'
2
- require 'active_support/core_ext/hash'
3
- require 'cfn_response'
4
-
5
- def lambda_handler(event:, context:)
6
- cfn = CfnResponse.new(event, context)
7
- cfn.response do
8
- case event['RequestType']
9
- when "Create", "Update"
10
- properties = event["ResourceProperties"].dup
11
- # After deleting ServiceToken, the rest of the values are the bucket configuration properties.
12
- properties.delete("ServiceToken")
13
- configurator = BucketConfigurator.new
14
- configurator.put(properties)
15
- end
16
- end
17
- end
18
-
19
- ########################################################
20
- require "aws-sdk-s3"
21
-
22
- class BucketConfigurator
23
- def put(props={})
24
- # all props including bucket gets passed from the Custom::S3BucketConfiguration resource
25
- props = props.deep_transform_keys { |k| k.to_s.underscore.to_sym }
26
- puts "props: #{JSON.dump(props)}"
27
- s3.put_bucket_notification_configuration(props)
28
- end
29
-
30
- def s3
31
- @s3 ||= Aws::S3::Client.new
32
- end
33
- end
@@ -1 +0,0 @@
1
- <%= @info.html_safe %>
@@ -1,10 +0,0 @@
1
- <h2>
2
- Routes
3
- </h2>
4
-
5
- <p>
6
- Routes match in priority from top to bottom
7
- </p>
8
-
9
- <%# @routes_inspector.format(ActionDispatch::Routing::HtmlTableFormatter.new(self)) %>
10
- <%= raw @routes_table %>
@@ -1,165 +0,0 @@
1
- <!DOCTYPE html>
2
- <html><head>
3
- <title><%= @page_title %></title>
4
- <meta name="viewport" content="width=device-width" />
5
- <style type="text/css">
6
- html, body, iframe {
7
- height: 100%;
8
- }
9
-
10
- body {
11
- margin: 0;
12
- }
13
-
14
- header {
15
- width: 100%;
16
- padding: 10px 0 0 0;
17
- margin: 0;
18
- background: white;
19
- font: 12px "Lucida Grande", sans-serif;
20
- border-bottom: 1px solid #dedede;
21
- overflow: hidden;
22
- }
23
-
24
- dl {
25
- margin: 0 0 10px 0;
26
- padding: 0;
27
- }
28
-
29
- dt {
30
- width: 80px;
31
- padding: 1px;
32
- float: left;
33
- clear: left;
34
- text-align: right;
35
- color: #7f7f7f;
36
- }
37
-
38
- dd {
39
- margin-left: 90px; /* 80px + 10px */
40
- padding: 1px;
41
- }
42
-
43
- dd:empty:before {
44
- content: "\00a0"; // &nbsp;
45
- }
46
-
47
- iframe {
48
- border: 0;
49
- width: 100%;
50
- }
51
- </style>
52
- </head>
53
-
54
- <body>
55
- <header>
56
- <dl>
57
- <% if @email.respond_to?(:smtp_envelope_from) && Array(@email.from) != Array(@email.smtp_envelope_from) %>
58
- <dt>SMTP-From:</dt>
59
- <dd id="smtp_from"><%= @email.smtp_envelope_from %></dd>
60
- <% end %>
61
-
62
- <% if @email.respond_to?(:smtp_envelope_to) && @email.to != @email.smtp_envelope_to %>
63
- <dt>SMTP-To:</dt>
64
- <dd id="smtp_to"><%= @email.smtp_envelope_to %></dd>
65
- <% end %>
66
-
67
- <dt>From:</dt>
68
- <dd id="from"><%= @email.header['from'] %></dd>
69
-
70
- <% if @email.reply_to %>
71
- <dt>Reply-To:</dt>
72
- <dd id="reply_to"><%= @email.header['reply-to'] %></dd>
73
- <% end %>
74
-
75
- <dt>To:</dt>
76
- <dd id="to"><%= @email.header['to'] %></dd>
77
-
78
- <% if @email.cc %>
79
- <dt>CC:</dt>
80
- <dd id="cc"><%= @email.header['cc'] %></dd>
81
- <% end %>
82
-
83
- <dt>Date:</dt>
84
- <dd id="date"><%= Time.current.rfc2822 %></dd>
85
-
86
- <dt>Subject:</dt>
87
- <dd><strong id="subject"><%= @email.subject %></strong></dd>
88
-
89
- <% unless @email.attachments.nil? || @email.attachments.empty? %>
90
- <dt>Attachments:</dt>
91
- <dd>
92
- <% @email.attachments.each do |a| %>
93
- <% filename = a.respond_to?(:original_filename) ? a.original_filename : a.filename %>
94
- <%= link_to filename, "data:application/octet-stream;charset=utf-8;base64,#{Base64.encode64(a.body.to_s)}", download: filename %>
95
- <% end %>
96
- </dd>
97
- <% end %>
98
-
99
- <dt>Format:</dt>
100
- <% if @email.html_part && @email.text_part %>
101
- <dd>
102
- <select id="part" onchange="refreshBody(false);">
103
- <option <%= request.format == Mime[:html] ? 'selected' : '' %> value="<%= part_query('text/html') %>">View as HTML email</option>
104
- <option <%= request.format == Mime[:text] ? 'selected' : '' %> value="<%= part_query('text/plain') %>">View as plain-text email</option>
105
- </select>
106
- </dd>
107
- <% elsif @part %>
108
- <dd id="mime_type" data-mime-type="<%= part_query(@part.mime_type) %>"><%= @part.mime_type == 'text/html' ? 'HTML email' : 'plain-text email' %></dd>
109
- <% else %>
110
- <dd id="mime_type" data-mime-type=""></dd>
111
- <% end %>
112
-
113
- <% if I18n.available_locales.count > 1 %>
114
- <dt>Locale:</dt>
115
- <dd>
116
- <select id="locale" onchange="refreshBody(true);">
117
- <% I18n.available_locales.each do |locale| %>
118
- <option <%= I18n.locale == locale ? 'selected' : '' %> value="<%= locale_query(locale) %>"><%= locale %></option>
119
- <% end %>
120
- </select>
121
- </dd>
122
- <% end %>
123
- </dl>
124
- </header>
125
-
126
- <% if @part && @part.mime_type %>
127
- <iframe name="messageBody" src="?<%= part_query(@part.mime_type) %>"></iframe>
128
- <% else %>
129
- <p>
130
- You are trying to preview an email that does not have any content.
131
- This is probably because the <em>mail</em> method has not been called in <em><%= @preview.preview_name %>#<%= @email_action %></em>.
132
- </p>
133
- <% end %>
134
-
135
- <script>
136
- function refreshBody(reload) {
137
- var part_select = document.querySelector('select#part');
138
- var locale_select = document.querySelector('select#locale');
139
- var iframe = document.getElementsByName('messageBody')[0];
140
- var part_param = part_select ?
141
- part_select.options[part_select.selectedIndex].value :
142
- document.querySelector('#mime_type').dataset.mimeType;
143
- var locale_param = locale_select ? locale_select.options[locale_select.selectedIndex].value : null;
144
- var fresh_location;
145
- if (locale_param) {
146
- fresh_location = '?' + part_param + '&' + locale_param;
147
- } else {
148
- fresh_location = '?' + part_param;
149
- }
150
- iframe.contentWindow.location = fresh_location;
151
-
152
- var url = location.pathname.replace(/\.(txt|html)$/, '');
153
- var format = /html/.test(part_param) ? '.html' : '.txt';
154
- var state_to_replace = locale_param ? (url + format + '?' + locale_param) : (url + format);
155
-
156
- if (reload) {
157
- location.href = state_to_replace;
158
- } else if (history.replaceState) {
159
- window.history.replaceState({}, '', state_to_replace);
160
- }
161
- }
162
- </script>
163
-
164
- </body>
165
- </html>
@@ -1,8 +0,0 @@
1
- <% @previews.each do |preview| %>
2
- <h3><%= link_to preview.preview_name.titleize, url_for(controller: "jets/mailers", action: "preview", path: preview.preview_name) %></h3>
3
- <ul>
4
- <% preview.emails.each do |email| %>
5
- <li><%= link_to email, url_for(controller: "jets/mailers", action: "preview", path: "#{preview.preview_name}/#{email}") %></li>
6
- <% end %>
7
- </ul>
8
- <% end %>
@@ -1,6 +0,0 @@
1
- <h3><%= @preview.preview_name.titleize %></h3>
2
- <ul>
3
- <% @preview.emails.each do |email| %>
4
- <li><%= link_to email, url_for(controller: "jets/mailers", action: "preview", path: "#{@preview.preview_name}/#{email}") %></li>
5
- <% end %>
6
- </ul>
@@ -1,95 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Ruby on Jets</title>
5
- <meta charset="utf-8">
6
- <meta name="viewport" content="width=device-width">
7
- <style type="text/css" media="screen" charset="utf-8">
8
- body {
9
- text-align: center;
10
- margin: 0;
11
- }
12
- img {
13
- max-width: 320px;
14
- }
15
- .container {
16
- max-width: 648px;
17
- }
18
- @media (min-width: 768px) {
19
- img {
20
- max-width: none;
21
- }
22
- .container {
23
- max-width: none;
24
- }
25
- }
26
-
27
- .header {
28
- padding: 20px;
29
- /*background-color: #b81513;*/
30
- /*color: white;*/
31
- }
32
- .title {
33
- font-size: 1.5em;
34
- }
35
- @media (max-width: 500px) {
36
- .title {
37
- font-size: 1.3em;
38
- }
39
- }
40
- .intro {
41
- text-align: left;
42
- font-size: large;
43
- margin: 0 auto;
44
- padding: 0 20px;
45
- max-width: 640px;
46
- }
47
- pre, code {
48
- padding: 0;
49
- margin: 0;
50
- }
51
- pre {
52
- margin-left: 20px;
53
- width: 99%;
54
- overflow: auto;
55
- }
56
- @media (max-width: 500px) {
57
- pre {
58
- margin-left: -30px;
59
- font-size: 0.8em;
60
- }
61
- }
62
- </style>
63
- </head>
64
-
65
- <body>
66
- <div class="container">
67
- <header class="header">
68
- <img src="https://s3.amazonaws.com/jets-public/jets/images/jets.png" class="logo" alt="logo" />
69
- <h1 class="title">Welcome and congrats!<br /> Jets is running.</h1>
70
- </header>
71
- <div class="intro">
72
- <p>
73
- To get started:
74
- </p>
75
- <div class="code"><pre><code>
76
- $ jets generate scaffold post title:string
77
- $ jets db:create db:migrate
78
- $ jets server
79
- $ open http://localhost:8888/posts
80
- $ jets help
81
- </code></pre></div>
82
- <p>Docs on: <a href="http://rubyonjets.com">rubyonjets.com</a></p>
83
- <p>CLI: <a href="http://rubyonjets.com/reference">Jets CLI reference</a></p>
84
- <p>Jets Info: <%= link_to "Properties", controller: "jets/info", action: "properties" %></p>
85
- <p>Jets Info: <%= link_to "Routes", controller: "jets/info", action: "routes" %></p>
86
- </div>
87
- <p class="version">
88
- <ul>
89
- <li><strong>Jets version:</strong> <%= Jets.version %></li>
90
- <li><strong>Ruby version:</strong> <%= RUBY_DESCRIPTION %></li>
91
- </ul>
92
- </p>
93
- </div>
94
- </body>
95
- </html>