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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -19
- data/Gemfile +4 -0
- data/README.md +19 -165
- data/Rakefile +3 -3
- data/exe/jets +2 -1
- data/jets.gemspec +15 -22
- data/lib/jets/api/agree.rb +62 -0
- data/lib/jets/api/base.rb +8 -0
- data/lib/jets/api/client.rb +246 -0
- data/lib/jets/api/config.rb +73 -0
- data/lib/jets/api/error.rb +70 -0
- data/lib/jets/api/ping.rb +9 -0
- data/lib/jets/api/project.rb +9 -0
- data/lib/jets/api/release.rb +17 -0
- data/lib/jets/api/response.rb +27 -0
- data/lib/jets/api/sig.rb +13 -0
- data/lib/jets/api/stack.rb +14 -0
- data/lib/jets/api.rb +17 -0
- data/lib/jets/autoloaders/gem.rb +47 -58
- data/lib/jets/autoloaders/main.rb +64 -0
- data/lib/jets/autoloaders.rb +14 -43
- data/lib/jets/aws_services/aws_helpers.rb +17 -0
- data/lib/jets/{aws_info.rb → aws_services/aws_info.rb} +24 -17
- data/lib/jets/aws_services/global_memoist.rb +9 -4
- data/lib/jets/aws_services/s3_bucket.rb +8 -10
- data/lib/jets/aws_services/stack_status.rb +5 -31
- data/lib/jets/aws_services.rb +36 -17
- data/lib/jets/bundle.rb +9 -7
- data/lib/jets/cfn/base.rb +16 -5
- data/lib/jets/cfn/bootstrap.rb +13 -0
- data/lib/jets/cfn/builder/interface.rb +22 -31
- data/lib/jets/cfn/builder/parent/genesis.rb +84 -0
- data/lib/jets/cfn/builder/post_process.rb +3 -3
- data/lib/jets/cfn/delete.rb +17 -0
- data/lib/jets/cfn/deploy.rb +151 -0
- data/lib/jets/cfn/iam/managed_policy.rb +21 -0
- data/lib/jets/cfn/iam/policy.rb +121 -0
- data/lib/jets/cfn/resource/associated.rb +1 -1
- data/lib/jets/cfn/resource/codebuild/fleet.rb +48 -0
- data/lib/jets/cfn/resource/codebuild/iam_role.rb +63 -0
- data/lib/jets/cfn/resource/codebuild/project/base.rb +4 -0
- data/lib/jets/cfn/resource/codebuild/project/ec2.rb +125 -0
- data/lib/jets/cfn/resource/codebuild/project/env.rb +55 -0
- data/lib/jets/cfn/resource/codebuild/project/format_env.rb +35 -0
- data/lib/jets/cfn/resource/codebuild/project/lambda.rb +15 -0
- data/lib/jets/cfn/resource/replacer.rb +5 -5
- data/lib/jets/cfn/resource/s3/bucket.rb +3 -3
- data/lib/jets/cfn/resource/s3/jets_bucket.rb +9 -18
- data/lib/jets/cfn/resource/standardizer.rb +11 -9
- data/lib/jets/cfn/rollback.rb +8 -0
- data/lib/jets/cfn/stack/deployable.rb +16 -0
- data/lib/jets/cfn/stack/rollback.rb +59 -0
- data/lib/jets/cfn/stack/template.rb +47 -0
- data/lib/jets/cfn/stack/yamler.rb +53 -0
- data/lib/jets/cfn/stack.rb +24 -0
- data/lib/jets/cfn/status.rb +41 -6
- data/lib/jets/cfn/teardown/bucket.rb +79 -0
- data/lib/jets/cfn/teardown.rb +20 -0
- data/lib/jets/cli/base.rb +46 -0
- data/lib/jets/cli/bootstrap.rb +17 -0
- data/lib/jets/cli/build.rb +8 -0
- data/lib/jets/cli/call.rb +133 -0
- data/lib/jets/cli/ci/base.rb +54 -0
- data/lib/jets/cli/ci/build.rb +8 -0
- data/lib/jets/cli/ci/delete.rb +25 -0
- data/lib/jets/cli/ci/deploy.rb +17 -0
- data/lib/jets/cli/ci/info.rb +40 -0
- data/lib/jets/cli/ci/init.rb +97 -0
- data/lib/jets/cli/ci/logs.rb +10 -0
- data/lib/jets/cli/ci/start.rb +121 -0
- data/lib/jets/cli/ci/status.rb +29 -0
- data/lib/jets/cli/ci/stop.rb +24 -0
- data/lib/jets/cli/ci/tailer.rb +17 -0
- data/lib/jets/cli/ci/templates/ci.rb.tt +19 -0
- data/lib/jets/cli/ci.rb +55 -0
- data/lib/jets/cli/clean.rb +10 -0
- data/lib/jets/cli/concurrency/base.rb +17 -0
- data/lib/jets/cli/concurrency/get.rb +37 -0
- data/lib/jets/cli/concurrency/info.rb +86 -0
- data/lib/jets/cli/concurrency/set.rb +31 -0
- data/lib/jets/cli/concurrency/unset.rb +21 -0
- data/lib/jets/cli/concurrency.rb +33 -0
- data/lib/jets/cli/curl/adapter/base.rb +8 -0
- data/lib/jets/cli/curl/adapter/cookies/jar.rb +28 -0
- data/lib/jets/cli/curl/adapter/cookies/parser.rb +48 -0
- data/lib/jets/cli/curl/adapter/lambda.rb +142 -0
- data/lib/jets/cli/curl/request.rb +62 -0
- data/lib/jets/cli/curl.rb +9 -0
- data/lib/jets/cli/delete.rb +23 -0
- data/lib/jets/cli/deploy.rb +18 -0
- data/lib/jets/cli/dotenv/base.rb +4 -0
- data/lib/jets/cli/dotenv/get.rb +14 -0
- data/lib/jets/cli/dotenv/list.rb +32 -0
- data/lib/jets/cli/dotenv/set.rb +50 -0
- data/lib/jets/cli/dotenv/ssm.rb +60 -0
- data/lib/jets/cli/dotenv/unset.rb +11 -0
- data/lib/jets/cli/dotenv.rb +28 -0
- data/lib/jets/cli/env/base.rb +13 -0
- data/lib/jets/cli/env/get.rb +13 -0
- data/lib/jets/cli/env/list.rb +19 -0
- data/lib/jets/cli/env/parse.rb +11 -0
- data/lib/jets/cli/env/set.rb +25 -0
- data/lib/jets/cli/env/unset.rb +17 -0
- data/lib/jets/cli/env.rb +29 -0
- data/lib/jets/cli/exec/command.rb +61 -0
- data/lib/jets/cli/exec/repl/history.rb +42 -0
- data/lib/jets/cli/exec/repl.rb +122 -0
- data/lib/jets/cli/exec.rb +14 -0
- data/lib/jets/cli/functions.rb +39 -0
- data/lib/jets/cli/generate/event.rb +29 -0
- data/lib/jets/cli/generate/templates/application_event.rb.tt +6 -0
- data/lib/jets/cli/generate/templates/event_types/application_event.rb +4 -0
- data/lib/jets/cli/generate/templates/event_types/dynamodb.rb.tt +6 -0
- data/lib/jets/cli/generate/templates/event_types/iot.rb.tt +6 -0
- data/lib/jets/{generators/job → cli/generate}/templates/event_types/kinesis.rb.tt +2 -4
- data/lib/jets/{generators/job → cli/generate}/templates/event_types/log.rb.tt +2 -4
- data/lib/jets/{generators/job → cli/generate}/templates/event_types/rule.rb.tt +2 -4
- data/lib/jets/cli/generate/templates/event_types/s3.rb.tt +13 -0
- data/lib/jets/cli/generate/templates/event_types/scheduled.rb.tt +6 -0
- data/lib/jets/cli/generate/templates/event_types/sns.rb.tt +8 -0
- data/lib/jets/cli/generate/templates/event_types/sqs.rb.tt +9 -0
- data/lib/jets/cli/generate.rb +6 -0
- data/lib/jets/cli/group/actions.rb +57 -0
- data/lib/jets/cli/group/base.rb +12 -0
- data/lib/jets/cli/group/helpers.rb +26 -0
- data/lib/jets/cli/help/build.md +1 -0
- data/lib/jets/cli/help/call.md +28 -0
- data/lib/jets/cli/help/curl.md +82 -0
- data/lib/jets/{command → cli}/help/delete.md +4 -4
- data/lib/jets/cli/help/deploy.md +5 -0
- data/lib/jets/cli/help/dotenv/get.md +4 -0
- data/lib/jets/cli/help/dotenv/list.md +5 -0
- data/lib/jets/cli/help/dotenv/set.md +25 -0
- data/lib/jets/cli/help/dotenv/unset.md +12 -0
- data/lib/jets/cli/help/exec.md +53 -0
- data/lib/jets/cli/help/generate/event.md +11 -0
- data/lib/jets/{command → cli}/help/logs.md +2 -2
- data/lib/jets/{command/help/releases.md → cli/help/release/history.md} +3 -3
- data/lib/jets/cli/help/rollback.md +5 -0
- data/lib/jets/cli/help/schedule/validate.md +1 -0
- data/lib/jets/{command → cli}/help/status.md +1 -1
- data/lib/jets/cli/help.rb +16 -0
- data/lib/jets/cli/init/detect.rb +30 -0
- data/lib/jets/cli/init/templates/config/jets/bootstrap.rb.tt +16 -0
- data/lib/jets/cli/init/templates/config/jets/deploy.rb.tt +43 -0
- data/lib/jets/cli/init/templates/config/jets/project.rb.tt +3 -0
- data/lib/jets/cli/init/templates/env/.env.tt +18 -0
- data/lib/jets/cli/init.rb +66 -0
- data/lib/jets/cli/lambda/checks.rb +22 -0
- data/lib/jets/cli/lambda/function.rb +104 -0
- data/lib/jets/cli/lambda/functions.rb +10 -0
- data/lib/jets/cli/lambda/lookup.rb +68 -0
- data/lib/jets/cli/login.rb +7 -0
- data/lib/jets/cli/logout.rb +7 -0
- data/lib/jets/cli/logs.rb +40 -0
- data/lib/jets/cli/maintenance/base.rb +15 -0
- data/lib/jets/cli/maintenance/mode.rb +44 -0
- data/lib/jets/cli/maintenance/web.rb +31 -0
- data/lib/jets/cli/maintenance/worker/base.rb +22 -0
- data/lib/jets/cli/maintenance/worker/restorer.rb +19 -0
- data/lib/jets/cli/maintenance/worker/saver.rb +15 -0
- data/lib/jets/cli/maintenance/worker/zeroer.rb +19 -0
- data/lib/jets/cli/maintenance/worker.rb +31 -0
- data/lib/jets/cli/maintenance.rb +32 -0
- data/lib/jets/cli/package/dockerfile.rb +9 -0
- data/lib/jets/cli/package.rb +8 -0
- data/lib/jets/cli/ping.rb +10 -0
- data/lib/jets/cli/projects.rb +22 -0
- data/lib/jets/cli/release/base.rb +4 -0
- data/lib/jets/cli/release/history.rb +68 -0
- data/lib/jets/cli/release/info.rb +59 -0
- data/lib/jets/cli/release/rollback.rb +15 -0
- data/lib/jets/cli/release.rb +23 -0
- data/lib/jets/cli/schedule/base.rb +5 -0
- data/lib/jets/cli/schedule/translate.rb +168 -0
- data/lib/jets/cli/schedule/validate.rb +95 -0
- data/lib/jets/cli/schedule.rb +15 -0
- data/lib/jets/cli/stacks.rb +33 -0
- data/lib/jets/cli/stop.rb +31 -0
- data/lib/jets/cli/teardown.rb +8 -0
- data/lib/jets/cli/tip.rb +86 -0
- data/lib/jets/cli/url.rb +41 -0
- data/lib/jets/cli/waf/base.rb +7 -0
- data/lib/jets/cli/waf/build.rb +8 -0
- data/lib/jets/cli/waf/delete.rb +17 -0
- data/lib/jets/cli/waf/deploy.rb +17 -0
- data/lib/jets/cli/waf/info.rb +128 -0
- data/lib/jets/cli/waf/init.rb +40 -0
- data/lib/jets/cli/waf/templates/waf.rb.tt +26 -0
- data/lib/jets/cli/waf.rb +38 -0
- data/lib/jets/cli.rb +180 -28
- data/lib/jets/code/copy/base.rb +84 -0
- data/lib/jets/code/copy/full.rb +9 -0
- data/lib/jets/code/copy/git_copy.rb +26 -0
- data/lib/jets/code/copy/git_inline.rb +13 -0
- data/lib/jets/code/copy/rsync.rb +19 -0
- data/lib/jets/code/dummy.rb +11 -0
- data/lib/jets/code/stager.rb +124 -0
- data/lib/jets/code/user.rb +24 -0
- data/lib/jets/code.rb +80 -0
- data/lib/jets/core/booter.rb +58 -0
- data/lib/jets/core/config/base.rb +17 -0
- data/lib/jets/core/config/bootstrap/cfn.rb +12 -0
- data/lib/jets/core/config/bootstrap/code.rb +16 -0
- data/lib/jets/core/config/bootstrap/codebuild.rb +97 -0
- data/lib/jets/core/config/bootstrap/s3_bucket.rb +19 -0
- data/lib/jets/core/config/bootstrap.rb +24 -0
- data/lib/jets/core/config/helpers/ssm.rb +9 -0
- data/lib/jets/core/config/helpers.rb +5 -0
- data/lib/jets/core/config/info.rb +27 -0
- data/lib/jets/core/config/project.rb +103 -0
- data/lib/jets/core.rb +26 -202
- data/lib/jets/core_ext/bundler.rb +6 -4
- data/lib/jets/core_ext.rb +0 -1
- data/lib/jets/dotenv/convention.rb +86 -0
- data/lib/jets/dotenv/ssm.rb +61 -38
- data/lib/jets/dotenv/var.rb +60 -0
- data/lib/jets/dotenv.rb +55 -50
- data/lib/jets/event/base.rb +55 -0
- data/lib/jets/event/dsl/dynamodb_event.rb +8 -0
- data/lib/jets/event/dsl/iot_event.rb +17 -0
- data/lib/jets/event/dsl/kinesis_event.rb +8 -0
- data/lib/jets/event/dsl/log_event.rb +8 -0
- data/lib/jets/event/dsl/rate_expression.rb +27 -0
- data/lib/jets/event/dsl/s3_event.rb +7 -0
- data/lib/jets/event/dsl/scheduled_event.rb +53 -0
- data/lib/jets/event/dsl/sns_event.rb +8 -0
- data/lib/jets/event/dsl/sqs_event.rb +8 -0
- data/lib/jets/{job → event}/dsl.rb +7 -12
- data/lib/jets/{job → event}/helpers/kinesis_event.rb +2 -2
- data/lib/jets/{job → event}/helpers/log_event.rb +5 -5
- data/lib/jets/event/helpers/s3_event.rb +76 -0
- data/lib/jets/event/helpers/sns_event.rb +16 -0
- data/lib/jets/event/helpers/sqs_event.rb +23 -0
- data/lib/jets/event/s3.rb +21 -0
- data/lib/jets/git/azure.rb +64 -0
- data/lib/jets/git/base.rb +26 -0
- data/lib/jets/git/bitbucket.rb +30 -0
- data/lib/jets/git/circleci.rb +23 -0
- data/lib/jets/git/codebuild.rb +49 -0
- data/lib/jets/git/custom.rb +32 -0
- data/lib/jets/git/git_cli.rb +28 -0
- data/lib/jets/git/github.rb +48 -0
- data/lib/jets/git/gitlab.rb +30 -0
- data/lib/jets/git/info.rb +39 -0
- data/lib/jets/git/local.rb +69 -0
- data/lib/jets/git/saved.rb +16 -0
- data/lib/jets/git/user.rb +33 -0
- data/lib/jets/git.rb +5 -0
- data/lib/jets/lambda/definition.rb +22 -16
- data/lib/jets/lambda/dsl.rb +394 -394
- data/lib/jets/lambda/function_constructor.rb +1 -2
- data/lib/jets/lambda/functions.rb +10 -25
- data/lib/jets/names.rb +5 -17
- data/lib/jets/prewarm.rb +27 -0
- data/lib/jets/rdoc.rb +2 -2
- data/lib/jets/remote/base.rb +11 -0
- data/lib/jets/remote/download.rb +65 -0
- data/lib/jets/remote/runner.rb +101 -0
- data/lib/jets/remote/tailer.rb +272 -0
- data/lib/jets/shim/adapter/alb.rb +16 -0
- data/lib/jets/shim/adapter/apigw.rb +37 -0
- data/lib/jets/shim/adapter/base.rb +16 -0
- data/lib/jets/shim/adapter/command.rb +21 -0
- data/lib/jets/shim/adapter/event.rb +27 -0
- data/lib/jets/shim/adapter/fallback.rb +64 -0
- data/lib/jets/shim/adapter/lambda.rb +35 -0
- data/lib/jets/shim/adapter/prewarm.rb +27 -0
- data/lib/jets/shim/adapter/web.rb +145 -0
- data/lib/jets/shim/config.rb +71 -0
- data/lib/jets/shim/handler.rb +60 -0
- data/lib/jets/shim/maintenance/maintenance.html +45 -0
- data/lib/jets/shim/maintenance.rb +37 -0
- data/lib/jets/shim/response/alb.rb +10 -0
- data/lib/jets/shim/response/apigw.rb +4 -0
- data/lib/jets/shim/response/base.rb +124 -0
- data/lib/jets/shim/response/lambda.rb +4 -0
- data/lib/jets/shim/response/web.rb +4 -0
- data/lib/jets/shim.rb +46 -0
- data/lib/jets/stack/{main/dsl → dsl/main}/base.rb +2 -23
- data/lib/jets/stack/dsl/main/cloudwatch.rb +6 -0
- data/lib/jets/stack/dsl/main/iam.rb +6 -0
- data/lib/jets/stack/dsl/main/kinesis.rb +6 -0
- data/lib/jets/stack/dsl/main/lambda.rb +39 -0
- data/lib/jets/stack/dsl/main/s3.rb +9 -0
- data/lib/jets/stack/dsl/main/sns.rb +12 -0
- data/lib/jets/stack/dsl/main/sqs.rb +6 -0
- data/lib/jets/stack/dsl/main.rb +15 -0
- data/lib/jets/stack/dsl/output.rb +11 -0
- data/lib/jets/stack/dsl/parameter.rb +11 -0
- data/lib/jets/stack/dsl/resource.rb +11 -0
- data/lib/jets/stack/dsl.rb +10 -0
- data/lib/jets/stack/{output/lookup.rb → outputs.rb} +7 -6
- data/lib/jets/stack.rb +11 -58
- data/lib/jets/thor/auth.rb +96 -0
- data/lib/jets/thor/base.rb +155 -0
- data/lib/jets/thor/help.rb +129 -0
- data/lib/jets/thor/project_check.rb +50 -0
- data/lib/jets/thor/shared_options.rb +31 -0
- data/lib/jets/thor/version_check.rb +51 -0
- data/lib/jets/util/call_line.rb +9 -0
- data/lib/jets/util/camelize.rb +1 -1
- data/lib/jets/util/git.rb +11 -0
- data/lib/jets/util/logging.rb +16 -0
- data/lib/jets/util/pretty.rb +23 -0
- data/lib/jets/util/sh.rb +38 -0
- data/lib/jets/util/sure.rb +25 -0
- data/lib/jets/util/truthy.rb +9 -0
- data/lib/jets/util/yamler.rb +3 -5
- data/lib/jets/version.rb +1 -1
- data/lib/jets.rb +4 -8
- metadata +339 -604
- data/.circleci/config.yml +0 -92
- data/.cody/README.md +0 -13
- data/.cody/docs/bin/build.sh +0 -7
- data/.cody/docs/bin/bundler_setup.sh +0 -8
- data/.cody/docs/bin/cli_docs.sh +0 -6
- data/.cody/docs/bin/git_commit.sh +0 -27
- data/.cody/docs/bin/git_setup.sh +0 -12
- data/.cody/docs/bin/subnav.sh +0 -14
- data/.cody/docs/buildspec.yml +0 -10
- data/.cody/docs/project.rb +0 -10
- data/Dockerfile +0 -16
- data/Dockerfile.base +0 -53
- data/Guardfile +0 -22
- data/Procfile +0 -2
- data/engines/internal/app/controllers/jets/application_controller.rb +0 -28
- data/engines/internal/app/controllers/jets/bare_controller.rb +0 -6
- data/engines/internal/app/controllers/jets/health_controller.rb +0 -55
- data/engines/internal/app/controllers/jets/info_controller.rb +0 -45
- data/engines/internal/app/controllers/jets/mailers_controller.rb +0 -95
- data/engines/internal/app/controllers/jets/mount_controller.rb +0 -59
- data/engines/internal/app/controllers/jets/public_controller.rb +0 -35
- data/engines/internal/app/controllers/jets/welcome_controller.rb +0 -9
- data/engines/internal/app/functions/jets/base_path.rb +0 -109
- data/engines/internal/app/functions/jets/base_path_mapping.rb +0 -191
- data/engines/internal/app/jobs/jets/preheat_job.rb +0 -64
- data/engines/internal/app/shared/functions/jets/s3_bucket_config.rb +0 -33
- data/engines/internal/app/views/jets/info/properties.html.erb +0 -1
- data/engines/internal/app/views/jets/info/routes.html.erb +0 -10
- data/engines/internal/app/views/jets/mailers/email.html.erb +0 -165
- data/engines/internal/app/views/jets/mailers/index.html.erb +0 -8
- data/engines/internal/app/views/jets/mailers/mailer.html.erb +0 -6
- data/engines/internal/app/views/jets/welcome/index.html.erb +0 -95
- data/engines/internal/app/views/layouts/application.html.erb +0 -51
- data/engines/internal/lib/internal/actiondispatch.rb +0 -39
- data/engines/internal/lib/internal/actionmailer.rb +0 -51
- data/engines/internal/lib/internal/actionview.rb +0 -152
- data/engines/internal/lib/internal/activerecord.rb +0 -37
- data/engines/internal/lib/internal/activesupport.rb +0 -47
- data/engines/internal/lib/internal/engine.rb +0 -13
- data/engines/internal/lib/internal/i18n_engine.rb +0 -19
- data/engines/internal/lib/internal/jets_controller.rb +0 -46
- data/engines/internal/lib/internal/overrides/debug_exceptions.rb +0 -40
- data/engines/internal/lib/internal/templates/rescues/_trace.html.erb +0 -62
- data/engines/internal/lib/internal/templates/rescues/_trace.text.erb +0 -9
- data/engines/internal/lib/internal/turbines/asset_tag_helper.rb +0 -70
- data/engines/internal/lib/internal/turbines/helpers.rb +0 -18
- data/engines/internal/lib/internal/turbines/routes_helpers.rb +0 -42
- data/lib/jets/app_loader.rb +0 -77
- data/lib/jets/application/bootstrap.rb +0 -100
- data/lib/jets/application/configuration/defaults.rb +0 -256
- data/lib/jets/application/configuration.rb +0 -494
- data/lib/jets/application/default_middleware_stack.rb +0 -140
- data/lib/jets/application/dummy_erb_compiler.rb +0 -18
- data/lib/jets/application/finisher.rb +0 -266
- data/lib/jets/application/routes_reloader.rb +0 -80
- data/lib/jets/application.rb +0 -556
- data/lib/jets/authorizer/base.rb +0 -37
- data/lib/jets/authorizer/dsl.rb +0 -73
- data/lib/jets/authorizer/helpers/iam_helper.rb +0 -49
- data/lib/jets/autoloaders/inflector.rb +0 -21
- data/lib/jets/backtrace_cleaner.rb +0 -27
- data/lib/jets/booter.rb +0 -78
- data/lib/jets/builders/code_builder.rb +0 -359
- data/lib/jets/builders/code_size.rb +0 -58
- data/lib/jets/builders/gem_replacer.rb +0 -83
- data/lib/jets/builders/handler_generator.rb +0 -214
- data/lib/jets/builders/lambda_layer.rb +0 -63
- data/lib/jets/builders/md5.rb +0 -60
- data/lib/jets/builders/md5_zip.rb +0 -61
- data/lib/jets/builders/purger.rb +0 -35
- data/lib/jets/builders/rack_packager.rb +0 -51
- data/lib/jets/builders/rackup_wrappers/rackup +0 -19
- data/lib/jets/builders/rackup_wrappers/rackup.rb +0 -7
- data/lib/jets/builders/ruby_packager.rb +0 -288
- data/lib/jets/builders/shim_vars/app.rb +0 -82
- data/lib/jets/builders/shim_vars/base.rb +0 -25
- data/lib/jets/builders/shim_vars/shared.rb +0 -37
- data/lib/jets/builders/templates/handlers/one_lambda_for_all_controllers.rb +0 -33
- data/lib/jets/builders/templates/handlers/one_lambda_per_controller.rb +0 -20
- data/lib/jets/builders/templates/handlers/one_lambda_per_method.rb +0 -18
- data/lib/jets/builders/tidy.rb +0 -107
- data/lib/jets/builders/util.rb +0 -31
- data/lib/jets/cfn/builder/api/base.rb +0 -12
- data/lib/jets/cfn/builder/api/deployment.rb +0 -46
- data/lib/jets/cfn/builder/api/gateway.rb +0 -106
- data/lib/jets/cfn/builder/api/mapping.rb +0 -54
- data/lib/jets/cfn/builder/api/methods.rb +0 -72
- data/lib/jets/cfn/builder/api/paged.rb +0 -30
- data/lib/jets/cfn/builder/api/pages/base.rb +0 -105
- data/lib/jets/cfn/builder/api/pages/methods.rb +0 -17
- data/lib/jets/cfn/builder/api/pages/page.rb +0 -19
- data/lib/jets/cfn/builder/api/pages/resources.rb +0 -21
- data/lib/jets/cfn/builder/api/resources.rb +0 -40
- data/lib/jets/cfn/builder/authorizer.rb +0 -64
- data/lib/jets/cfn/builder/controller.rb +0 -28
- data/lib/jets/cfn/builder/function.rb +0 -9
- data/lib/jets/cfn/builder/job.rb +0 -10
- data/lib/jets/cfn/builder/nested.rb +0 -130
- data/lib/jets/cfn/builder/one_controller.rb +0 -53
- data/lib/jets/cfn/builder/parent/stagger.rb +0 -34
- data/lib/jets/cfn/builder/parent.rb +0 -149
- data/lib/jets/cfn/builder/rule.rb +0 -20
- data/lib/jets/cfn/builder/shared.rb +0 -15
- data/lib/jets/cfn/builder/util/source.rb +0 -21
- data/lib/jets/cfn/builder.rb +0 -230
- data/lib/jets/cfn/deployment.rb +0 -85
- data/lib/jets/cfn/download.rb +0 -39
- data/lib/jets/cfn/params/api/base.rb +0 -39
- data/lib/jets/cfn/params/api/cors.rb +0 -10
- data/lib/jets/cfn/params/api/methods.rb +0 -69
- data/lib/jets/cfn/params/api/resources.rb +0 -28
- data/lib/jets/cfn/params/common.rb +0 -14
- data/lib/jets/cfn/resource/api_gateway/authorizer.rb +0 -82
- data/lib/jets/cfn/resource/api_gateway/base_path/function.rb +0 -57
- data/lib/jets/cfn/resource/api_gateway/base_path/mapping.rb +0 -45
- data/lib/jets/cfn/resource/api_gateway/base_path/role.rb +0 -70
- data/lib/jets/cfn/resource/api_gateway/deployment.rb +0 -73
- data/lib/jets/cfn/resource/api_gateway/domain_name.rb +0 -65
- data/lib/jets/cfn/resource/api_gateway/method/authorization.rb +0 -41
- data/lib/jets/cfn/resource/api_gateway/method.rb +0 -92
- data/lib/jets/cfn/resource/api_gateway/resource.rb +0 -86
- data/lib/jets/cfn/resource/api_gateway/resource_id.rb +0 -25
- data/lib/jets/cfn/resource/api_gateway/rest_api/change_detection.rb +0 -10
- data/lib/jets/cfn/resource/api_gateway/rest_api/logical_id/message.rb +0 -59
- data/lib/jets/cfn/resource/api_gateway/rest_api/logical_id.rb +0 -98
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/base.rb +0 -110
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/media_types.rb +0 -36
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/page.rb +0 -93
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/to.rb +0 -30
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/variable.rb +0 -35
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change.rb +0 -27
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/collision/variable_exception.rb +0 -7
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/collision.rb +0 -121
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes.rb +0 -7
- data/lib/jets/cfn/resource/api_gateway/rest_api.rb +0 -74
- data/lib/jets/cfn/resource/config/config_rule.rb +0 -74
- data/lib/jets/cfn/resource/config/managed_rule.rb +0 -15
- data/lib/jets/cfn/resource/events/rule.rb +0 -31
- data/lib/jets/cfn/resource/iam/application_role.rb +0 -27
- data/lib/jets/cfn/resource/iam/base_role_definition.rb +0 -56
- data/lib/jets/cfn/resource/iam/class_role.rb +0 -74
- data/lib/jets/cfn/resource/iam/function_role.rb +0 -54
- data/lib/jets/cfn/resource/iam/managed_policy.rb +0 -22
- data/lib/jets/cfn/resource/iam/policy.rb +0 -31
- data/lib/jets/cfn/resource/iam/policy_document.rb +0 -42
- data/lib/jets/cfn/resource/iot/topic_rule.rb +0 -34
- data/lib/jets/cfn/resource/lambda/event_source_mapping.rb +0 -31
- data/lib/jets/cfn/resource/lambda/function/controller.rb +0 -21
- data/lib/jets/cfn/resource/lambda/function/environment.rb +0 -64
- data/lib/jets/cfn/resource/lambda/function.rb +0 -266
- data/lib/jets/cfn/resource/lambda/gem_layer.rb +0 -17
- data/lib/jets/cfn/resource/lambda/layer_version.rb +0 -44
- data/lib/jets/cfn/resource/lambda/permission.rb +0 -51
- data/lib/jets/cfn/resource/logs/subscription_filter.rb +0 -31
- data/lib/jets/cfn/resource/nested/api/base.rb +0 -4
- data/lib/jets/cfn/resource/nested/api/deployment.rb +0 -53
- data/lib/jets/cfn/resource/nested/api/gateway.rb +0 -15
- data/lib/jets/cfn/resource/nested/api/mapping.rb +0 -33
- data/lib/jets/cfn/resource/nested/api/methods.rb +0 -30
- data/lib/jets/cfn/resource/nested/api/page.rb +0 -8
- data/lib/jets/cfn/resource/nested/api/resources.rb +0 -22
- data/lib/jets/cfn/resource/nested/app_class.rb +0 -116
- data/lib/jets/cfn/resource/nested/authorizer.rb +0 -34
- data/lib/jets/cfn/resource/nested/base.rb +0 -38
- data/lib/jets/cfn/resource/nested/one_controller.rb +0 -48
- data/lib/jets/cfn/resource/nested/shared.rb +0 -79
- data/lib/jets/cfn/resource/one/function.rb +0 -66
- data/lib/jets/cfn/resource/one/permission.rb +0 -17
- data/lib/jets/cfn/resource/route53/record_set.rb +0 -98
- data/lib/jets/cfn/resource/sns/subscription.rb +0 -29
- data/lib/jets/cfn/resource/sns/topic.rb +0 -35
- data/lib/jets/cfn/resource/sns/topic_policy.rb +0 -40
- data/lib/jets/cfn/resource/sqs/queue.rb +0 -21
- data/lib/jets/cfn/ship.rb +0 -192
- data/lib/jets/cfn/template.rb +0 -93
- data/lib/jets/cfn/upload.rb +0 -163
- data/lib/jets/command/actions.rb +0 -49
- data/lib/jets/command/api_helpers.rb +0 -42
- data/lib/jets/command/aws_helpers.rb +0 -26
- data/lib/jets/command/base.rb +0 -209
- data/lib/jets/command/behavior.rb +0 -83
- data/lib/jets/command/environment_argument.rb +0 -42
- data/lib/jets/command/help/build.md +0 -6
- data/lib/jets/command/help/call.md +0 -48
- data/lib/jets/command/help/clean/build.md +0 -5
- data/lib/jets/command/help/clean/log.md +0 -5
- data/lib/jets/command/help/console.md +0 -18
- data/lib/jets/command/help/db/generate.md +0 -8
- data/lib/jets/command/help/dbconsole.md +0 -9
- data/lib/jets/command/help/degenerate.md +0 -16
- data/lib/jets/command/help/deploy.md +0 -32
- data/lib/jets/command/help/gems/check.md +0 -1
- data/lib/jets/command/help/generate.md +0 -28
- data/lib/jets/command/help/import/rack.md +0 -13
- data/lib/jets/command/help/import/rails.md +0 -11
- data/lib/jets/command/help/new.md +0 -41
- data/lib/jets/command/help/rollback.md +0 -5
- data/lib/jets/command/help/routes.md +0 -15
- data/lib/jets/command/help/runner.md +0 -40
- data/lib/jets/command/help/server.md +0 -15
- data/lib/jets/command/help/upgrade.md +0 -7
- data/lib/jets/command/help.rb +0 -17
- data/lib/jets/command/helpers/editor.rb +0 -35
- data/lib/jets/command/rake_decorate.rb +0 -38
- data/lib/jets/command.rb +0 -142
- data/lib/jets/commands/application/application_command.rb +0 -46
- data/lib/jets/commands/build/build_command.rb +0 -33
- data/lib/jets/commands/call/anonymous_guesser.rb +0 -96
- data/lib/jets/commands/call/autoload_guesser.rb +0 -136
- data/lib/jets/commands/call/base_guesser.rb +0 -62
- data/lib/jets/commands/call/call_command.rb +0 -27
- data/lib/jets/commands/call/caller.rb +0 -184
- data/lib/jets/commands/call/guesser.rb +0 -48
- data/lib/jets/commands/clean/base.rb +0 -24
- data/lib/jets/commands/clean/build.rb +0 -13
- data/lib/jets/commands/clean/clean_command.rb +0 -15
- data/lib/jets/commands/clean/log.rb +0 -111
- data/lib/jets/commands/configure/configure_command.rb +0 -9
- data/lib/jets/commands/console/console_command.rb +0 -38
- data/lib/jets/commands/credentials/USAGE +0 -103
- data/lib/jets/commands/credentials/credentials_command/diffing.rb +0 -51
- data/lib/jets/commands/credentials/credentials_command.rb +0 -139
- data/lib/jets/commands/db/system/change/change_command.rb +0 -24
- data/lib/jets/commands/dbconsole/dbconsole_command.rb +0 -184
- data/lib/jets/commands/degenerate/degenerate_command.rb +0 -21
- data/lib/jets/commands/delete/delete_command.rb +0 -154
- data/lib/jets/commands/deploy/deploy_command.rb +0 -118
- data/lib/jets/commands/dev/dev_command.rb +0 -19
- data/lib/jets/commands/dotenv/dotenv_command.rb +0 -9
- data/lib/jets/commands/encrypted/USAGE +0 -46
- data/lib/jets/commands/encrypted/encrypted_command.rb +0 -87
- data/lib/jets/commands/gems/gems_command.rb +0 -14
- data/lib/jets/commands/generate/generate_command.rb +0 -95
- data/lib/jets/commands/help/USAGE +0 -20
- data/lib/jets/commands/help/help_command.rb +0 -15
- data/lib/jets/commands/initializers/initializers_command.rb +0 -19
- data/lib/jets/commands/logs/logs_command.rb +0 -45
- data/lib/jets/commands/new/new_command.rb +0 -19
- data/lib/jets/commands/notes/notes_command.rb +0 -30
- data/lib/jets/commands/plugin/plugin_command.rb +0 -45
- data/lib/jets/commands/projects/projects_command.rb +0 -30
- data/lib/jets/commands/rake/rake_command.rb +0 -59
- data/lib/jets/commands/releases/releases_command.rb +0 -124
- data/lib/jets/commands/rollback/rollback_command.rb +0 -33
- data/lib/jets/commands/routes/routes_command.rb +0 -19
- data/lib/jets/commands/runner/runner_command.rb +0 -60
- data/lib/jets/commands/server/server_command.rb +0 -291
- data/lib/jets/commands/stacks/stacks_command.rb +0 -39
- data/lib/jets/commands/status/status_command.rb +0 -16
- data/lib/jets/commands/url/url_command.rb +0 -92
- data/lib/jets/commands/version/version_command.rb +0 -11
- data/lib/jets/commands.rb +0 -17
- data/lib/jets/configuration.rb +0 -166
- data/lib/jets/controller/base.rb +0 -117
- data/lib/jets/controller/compat/abstract_controller/base.rb +0 -126
- data/lib/jets/controller/compat/action_controller/metal.rb +0 -99
- data/lib/jets/controller/compat/caching.rb +0 -13
- data/lib/jets/controller/compat/future.rb +0 -13
- data/lib/jets/controller/compat/route_set.rb +0 -47
- data/lib/jets/controller/decorate/apigw_stage.rb +0 -39
- data/lib/jets/controller/decorate/authorization.rb +0 -91
- data/lib/jets/controller/decorate/logging.rb +0 -90
- data/lib/jets/controller/decorate/redirecting.rb +0 -16
- data/lib/jets/controller/decorate/url_for.rb +0 -10
- data/lib/jets/controller/handler/apigw.rb +0 -93
- data/lib/jets/controller/handler.rb +0 -41
- data/lib/jets/controller/middleware/main.rb +0 -61
- data/lib/jets/controller/middleware/mimic/apigw.rb +0 -140
- data/lib/jets/controller/middleware/mimic/lambda_context.rb +0 -44
- data/lib/jets/controller/middleware/mimic.rb +0 -105
- data/lib/jets/controller/middleware/webpacker_setup.rb +0 -6
- data/lib/jets/controller/rack_adapter/action.rb +0 -35
- data/lib/jets/controller/rack_adapter/env.rb +0 -145
- data/lib/jets/controller/request/compat/params.rb +0 -144
- data/lib/jets/controller/request/compat/request.rb +0 -125
- data/lib/jets/controller/request.rb +0 -46
- data/lib/jets/controller/response/compat/response.rb +0 -67
- data/lib/jets/controller/response.rb +0 -144
- data/lib/jets/core_ext/kernel.rb +0 -13
- data/lib/jets/dev_caching.rb +0 -44
- data/lib/jets/dotenv/show.rb +0 -11
- data/lib/jets/engine/configuration.rb +0 -96
- data/lib/jets/engine/turbines.rb +0 -23
- data/lib/jets/engine.rb +0 -380
- data/lib/jets/erb.rb +0 -51
- data/lib/jets/generators/job/job_generator.rb +0 -41
- data/lib/jets/generators/job/templates/application_job.rb.tt +0 -6
- data/lib/jets/generators/job/templates/event_types/dynamodb.rb.tt +0 -8
- data/lib/jets/generators/job/templates/event_types/iot.rb.tt +0 -8
- data/lib/jets/generators/job/templates/event_types/s3.rb.tt +0 -11
- data/lib/jets/generators/job/templates/event_types/scheduled.rb.tt +0 -8
- data/lib/jets/generators/job/templates/event_types/sns.rb.tt +0 -11
- data/lib/jets/generators/job/templates/event_types/sqs.rb.tt +0 -11
- data/lib/jets/generators/overrides/app/USAGE +0 -38
- data/lib/jets/generators/overrides/app/app_generator.rb +0 -148
- data/lib/jets/generators/overrides/app/helpers.rb +0 -139
- data/lib/jets/generators/overrides/app/templates/.env +0 -10
- data/lib/jets/generators/overrides/app/templates/.gitignore.tt +0 -13
- data/lib/jets/generators/overrides/app/templates/.jetsignore +0 -6
- data/lib/jets/generators/overrides/app/templates/.rspec +0 -3
- data/lib/jets/generators/overrides/app/templates/Gemfile.tt +0 -28
- data/lib/jets/generators/overrides/app/templates/README.md +0 -11
- data/lib/jets/generators/overrides/app/templates/Rakefile +0 -2
- data/lib/jets/generators/overrides/app/templates/app/assets/config/manifest.js +0 -3
- data/lib/jets/generators/overrides/app/templates/app/assets/images/.keep +0 -0
- data/lib/jets/generators/overrides/app/templates/app/assets/javascripts/.keep +0 -0
- data/lib/jets/generators/overrides/app/templates/app/assets/stylesheets/application.css +0 -15
- data/lib/jets/generators/overrides/app/templates/app/controllers/application_controller.rb +0 -2
- data/lib/jets/generators/overrides/app/templates/app/helpers/application_helper.rb +0 -2
- data/lib/jets/generators/overrides/app/templates/app/javascript/application.js +0 -5
- data/lib/jets/generators/overrides/app/templates/app/jobs/application_job.rb +0 -4
- data/lib/jets/generators/overrides/app/templates/app/models/application_record.rb +0 -3
- data/lib/jets/generators/overrides/app/templates/app/views/layouts/application.html.erb.tt +0 -30
- data/lib/jets/generators/overrides/app/templates/bin/jets +0 -3
- data/lib/jets/generators/overrides/app/templates/config/application.rb.tt +0 -15
- data/lib/jets/generators/overrides/app/templates/config/database.yml.tt +0 -27
- data/lib/jets/generators/overrides/app/templates/config/environments/development.rb.tt +0 -29
- data/lib/jets/generators/overrides/app/templates/config/environments/production.rb.tt +0 -21
- data/lib/jets/generators/overrides/app/templates/config/environments/test.rb.tt +0 -23
- data/lib/jets/generators/overrides/app/templates/config/initializers/content_security_policy.rb +0 -31
- data/lib/jets/generators/overrides/app/templates/config/initializers/filter_parameter_logging.rb +0 -8
- data/lib/jets/generators/overrides/app/templates/config/initializers/permissions_policy.rb +0 -11
- data/lib/jets/generators/overrides/app/templates/config/routes.rb +0 -13
- data/lib/jets/generators/overrides/app/templates/config.ru +0 -5
- data/lib/jets/generators/overrides/app/templates/db/.gitkeep +0 -0
- data/lib/jets/generators/overrides/app/templates/public/404.html +0 -67
- data/lib/jets/generators/overrides/app/templates/public/422.html +0 -67
- data/lib/jets/generators/overrides/app/templates/public/500.html +0 -66
- data/lib/jets/generators/overrides/app/templates/public/favicon.ico +0 -0
- data/lib/jets/generators/overrides/app/templates/spec/controllers/posts_controller_spec.rb +0 -15
- data/lib/jets/generators/overrides/app/templates/spec/fixtures/payloads/posts-index.json +0 -51
- data/lib/jets/generators/overrides/app/templates/spec/fixtures/payloads/posts-show.json +0 -53
- data/lib/jets/generators/overrides/app/templates/spec/spec_helper.rb.tt +0 -30
- data/lib/jets/generators/overrides/templates/erb/scaffold/_form.html.erb +0 -34
- data/lib/jets/generators/overrides/templates/erb/scaffold/edit.html.erb +0 -6
- data/lib/jets/generators/overrides/templates/erb/scaffold/index.html.erb +0 -22
- data/lib/jets/generators/overrides/templates/erb/scaffold/new.html.erb +0 -5
- data/lib/jets/generators/overrides/templates/erb/scaffold/partial.html.erb +0 -8
- data/lib/jets/generators/overrides/templates/erb/scaffold/show.html.erb +0 -9
- data/lib/jets/generators/overrides/templates/rails/assets/javascript.js +0 -2
- data/lib/jets/generators/overrides/templates/rails/assets/stylesheet.css +0 -4
- data/lib/jets/generators/overrides/templates/rails/scaffold/scaffold.css +0 -80
- data/lib/jets/generators/overrides/templates/rails/scaffold_controller/api_controller.rb.tt +0 -58
- data/lib/jets/generators/overrides/templates/rails/scaffold_controller/controller.rb.tt +0 -67
- data/lib/jets/generators.rb +0 -112
- data/lib/jets/inflections.rb +0 -32
- data/lib/jets/info.rb +0 -116
- data/lib/jets/initializable.rb +0 -95
- data/lib/jets/job/base.rb +0 -52
- data/lib/jets/job/dsl/dynamodb_event.rb +0 -78
- data/lib/jets/job/dsl/event_source_mapping.rb +0 -11
- data/lib/jets/job/dsl/iot_event.rb +0 -24
- data/lib/jets/job/dsl/kinesis_event.rb +0 -47
- data/lib/jets/job/dsl/log_event.rb +0 -15
- data/lib/jets/job/dsl/rule_event.rb +0 -78
- data/lib/jets/job/dsl/s3_event.rb +0 -77
- data/lib/jets/job/dsl/sns_event.rb +0 -54
- data/lib/jets/job/dsl/sqs_event.rb +0 -97
- data/lib/jets/job/helpers/s3_event.rb +0 -50
- data/lib/jets/job/helpers/sns_event.rb +0 -26
- data/lib/jets/job/helpers/sqs_event.rb +0 -26
- data/lib/jets/klass.rb +0 -108
- data/lib/jets/lambda/dsl/warnings.rb +0 -57
- data/lib/jets/mega/hash_converter.rb +0 -25
- data/lib/jets/mega/request/source.rb +0 -20
- data/lib/jets/mega/request.rb +0 -163
- data/lib/jets/overrides/dummy/rails.rb +0 -11
- data/lib/jets/overrides/lambda/marshaller.rb +0 -31
- data/lib/jets/overrides/lambda.rb +0 -1
- data/lib/jets/overrides/puma.rb +0 -10
- data/lib/jets/paths.rb +0 -243
- data/lib/jets/poly/base_executor.rb +0 -125
- data/lib/jets/poly/lambda_executor.rb +0 -16
- data/lib/jets/poly/node_error.rb +0 -8
- data/lib/jets/poly/node_executor.rb +0 -54
- data/lib/jets/poly/python_error.rb +0 -8
- data/lib/jets/poly/python_executor.rb +0 -23
- data/lib/jets/poly.rb +0 -73
- data/lib/jets/preheat.rb +0 -110
- data/lib/jets/processors/deducer.rb +0 -65
- data/lib/jets/processors/main_processor.rb +0 -54
- data/lib/jets/rack/logger.rb +0 -77
- data/lib/jets/router/compat/route_set.rb +0 -177
- data/lib/jets/router/dsl/mount.rb +0 -47
- data/lib/jets/router/dsl.rb +0 -164
- data/lib/jets/router/engine_mount.rb +0 -36
- data/lib/jets/router/help.rb +0 -130
- data/lib/jets/router/helpers/named_routes/add_full_url.rb +0 -13
- data/lib/jets/router/helpers/named_routes/generated.rb +0 -197
- data/lib/jets/router/helpers/named_routes/proxy.rb +0 -66
- data/lib/jets/router/matcher.rb +0 -204
- data/lib/jets/router/resources/base.rb +0 -7
- data/lib/jets/router/resources/filter.rb +0 -15
- data/lib/jets/router/resources/options.rb +0 -15
- data/lib/jets/router/route/after_initialize.rb +0 -64
- data/lib/jets/router/route/as.rb +0 -93
- data/lib/jets/router/route/authorizer.rb +0 -58
- data/lib/jets/router/route/compat.rb +0 -45
- data/lib/jets/router/route/info.rb +0 -74
- data/lib/jets/router/route/node.rb +0 -137
- data/lib/jets/router/route/path.rb +0 -93
- data/lib/jets/router/route.rb +0 -249
- data/lib/jets/router/route_set.rb +0 -214
- data/lib/jets/router/scope.rb +0 -230
- data/lib/jets/router/state.rb +0 -67
- data/lib/jets/router/util.rb +0 -8
- data/lib/jets/router.rb +0 -94
- data/lib/jets/ruby_version_check.rb +0 -15
- data/lib/jets/rule/base.rb +0 -20
- data/lib/jets/rule/dsl.rb +0 -109
- data/lib/jets/secrets.rb +0 -110
- data/lib/jets/spec_helpers/controllers/params.rb +0 -8
- data/lib/jets/spec_helpers/controllers/request.rb +0 -107
- data/lib/jets/spec_helpers/controllers/response.rb +0 -10
- data/lib/jets/spec_helpers/controllers.rb +0 -54
- data/lib/jets/spec_helpers/fixtures.rb +0 -11
- data/lib/jets/spec_helpers.rb +0 -15
- data/lib/jets/stack/builder.rb +0 -44
- data/lib/jets/stack/definition.rb +0 -47
- data/lib/jets/stack/depends/item.rb +0 -26
- data/lib/jets/stack/depends.rb +0 -34
- data/lib/jets/stack/function.rb +0 -71
- data/lib/jets/stack/main/dsl/cloudwatch.rb +0 -19
- data/lib/jets/stack/main/dsl/iam.rb +0 -8
- data/lib/jets/stack/main/dsl/kinesis.rb +0 -15
- data/lib/jets/stack/main/dsl/lambda.rb +0 -90
- data/lib/jets/stack/main/dsl/s3.rb +0 -12
- data/lib/jets/stack/main/dsl/sns.rb +0 -16
- data/lib/jets/stack/main/dsl/sqs.rb +0 -10
- data/lib/jets/stack/main/dsl.rb +0 -17
- data/lib/jets/stack/main.rb +0 -4
- data/lib/jets/stack/output/dsl.rb +0 -19
- data/lib/jets/stack/output.rb +0 -35
- data/lib/jets/stack/parameter/dsl.rb +0 -42
- data/lib/jets/stack/parameter.rb +0 -37
- data/lib/jets/stack/resource/dsl.rb +0 -19
- data/lib/jets/stack/resource.rb +0 -31
- data/lib/jets/stack/s3_event.rb +0 -101
- data/lib/jets/tasks/engine.rake +0 -85
- data/lib/jets/tasks/framework.rake +0 -66
- data/lib/jets/tasks/log.rake +0 -41
- data/lib/jets/tasks/middleware.rake +0 -9
- data/lib/jets/tasks/misc.rake +0 -81
- data/lib/jets/tasks/statistics.rake +0 -37
- data/lib/jets/tasks/tmp.rake +0 -51
- data/lib/jets/tasks/yarn.rake +0 -29
- data/lib/jets/tasks/zeitwerk.rake +0 -61
- data/lib/jets/tasks.rb +0 -18
- data/lib/jets/tmp_loader.rb +0 -53
- data/lib/jets/turbine/configurable.rb +0 -36
- data/lib/jets/turbine/configuration.rb +0 -101
- data/lib/jets/turbine.rb +0 -185
- data/lib/jets/util.rb +0 -40
- /data/lib/jets/{command → cli}/help/projects.md +0 -0
- /data/lib/jets/{command → cli}/help/stacks.md +0 -0
- /data/lib/jets/{command → cli}/help/url.md +0 -0
data/lib/jets/lambda/dsl.rb
CHANGED
|
@@ -11,411 +11,411 @@ module Jets::Lambda::Dsl
|
|
|
11
11
|
self.class.lambda_functions
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
|
78
|
-
#
|
|
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
|
-
|
|
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
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
#
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
#
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
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
|
-
#
|
|
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
|
-
#
|
|
231
|
-
#
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
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
|
-
|
|
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
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
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
|