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/command/help.rb
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
module Jets::Command
|
|
2
|
-
class Help
|
|
3
|
-
class << self
|
|
4
|
-
def text(namespaced_command)
|
|
5
|
-
file = namespaced_command.to_s.gsub(':','/')
|
|
6
|
-
path = File.expand_path("../help/#{file}.md", __FILE__)
|
|
7
|
-
return IO.read(path) if File.exist?(path)
|
|
8
|
-
|
|
9
|
-
# Also look up for a help folder within the current command folder
|
|
10
|
-
called_from = caller.first.split(':').first
|
|
11
|
-
unnamespaced_command = namespaced_command.to_s.split(':').last
|
|
12
|
-
path = File.expand_path("../help/#{unnamespaced_command}.md", called_from)
|
|
13
|
-
return IO.read(path) if File.exist?(path)
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "active_support/encrypted_file"
|
|
4
|
-
|
|
5
|
-
module Jets
|
|
6
|
-
module Command
|
|
7
|
-
module Helpers
|
|
8
|
-
module Editor
|
|
9
|
-
private
|
|
10
|
-
def ensure_editor_available(command:)
|
|
11
|
-
if ENV["EDITOR"].to_s.empty?
|
|
12
|
-
say "No $EDITOR to open file in. Assign one like this:"
|
|
13
|
-
say ""
|
|
14
|
-
say %(EDITOR="mate --wait" #{command})
|
|
15
|
-
say ""
|
|
16
|
-
say "For editors that fork and exit immediately, it's important to pass a wait flag,"
|
|
17
|
-
say "otherwise the credentials will be saved immediately with no chance to edit."
|
|
18
|
-
|
|
19
|
-
false
|
|
20
|
-
else
|
|
21
|
-
true
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def catch_editing_exceptions
|
|
26
|
-
yield
|
|
27
|
-
rescue Interrupt
|
|
28
|
-
say "Aborted changing file: nothing saved."
|
|
29
|
-
rescue ActiveSupport::EncryptedFile::MissingKeyError => error
|
|
30
|
-
say error.message
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
module Jets::Command
|
|
2
|
-
module RakeDecorate
|
|
3
|
-
# Decorate this method because this does not get called until runtime.
|
|
4
|
-
# It's "lazy loaded" so we can avoid the Rails const being defined in general.
|
|
5
|
-
def [](task_name, scopes=nil)
|
|
6
|
-
super # => Rake::TaskManager#[]
|
|
7
|
-
rescue RuntimeError => e
|
|
8
|
-
# We require dummy/rails since this time because all the rake tasks have been loaded
|
|
9
|
-
# and we need to load dummy/rails to get the database configurations. Normally,
|
|
10
|
-
# we do not want to require dummy/rails because it defines the Rails.
|
|
11
|
-
# However, a "command not found" error, more accurately,
|
|
12
|
-
# a "rake task not found" error, has already been encountered.
|
|
13
|
-
# Also:
|
|
14
|
-
# require "dummy/rails" to prevent another error.
|
|
15
|
-
# from lib/active_record/railties/databases.rake
|
|
16
|
-
#
|
|
17
|
-
# NoMethodError: undefined method `env' for Rails:Module (NoMethodError)
|
|
18
|
-
# database_configs = ActiveRecord::DatabaseConfigurations.new(databases).configs_for(env_name: Rails.env)
|
|
19
|
-
#
|
|
20
|
-
require "jets/overrides/dummy/rails"
|
|
21
|
-
|
|
22
|
-
# Original error message from rake is something like this
|
|
23
|
-
#
|
|
24
|
-
# Don't know how to build task 'foo:bar' (See the list of available tasks with `jets --tasks`)
|
|
25
|
-
#
|
|
26
|
-
# With an ugly backtrace.
|
|
27
|
-
# We override the error message to be more user friendly.
|
|
28
|
-
#
|
|
29
|
-
# All of that in order for
|
|
30
|
-
# jets foo:bar
|
|
31
|
-
# to show a pretty error message.
|
|
32
|
-
$stderr.puts "ERROR: Could not find command: #{task_name.inspect}".color(:red)
|
|
33
|
-
require "jets/commands/help/help_command"
|
|
34
|
-
Jets::Command::HelpCommand.new.help
|
|
35
|
-
exit 1
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
data/lib/jets/command.rb
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "active_support"
|
|
4
|
-
require "active_support/core_ext/enumerable"
|
|
5
|
-
require "active_support/core_ext/object/blank"
|
|
6
|
-
|
|
7
|
-
require "thor"
|
|
8
|
-
|
|
9
|
-
module Jets
|
|
10
|
-
module Command
|
|
11
|
-
extend ActiveSupport::Autoload
|
|
12
|
-
|
|
13
|
-
autoload :Behavior
|
|
14
|
-
autoload :Base
|
|
15
|
-
|
|
16
|
-
include Behavior
|
|
17
|
-
|
|
18
|
-
HELP_MAPPINGS = %w(-h -? --help)
|
|
19
|
-
|
|
20
|
-
cattr_accessor :original_cli_command
|
|
21
|
-
|
|
22
|
-
class << self
|
|
23
|
-
def hidden_commands # :nodoc:
|
|
24
|
-
@hidden_commands ||= []
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def environment # :nodoc:
|
|
28
|
-
ENV["JETS_ENV"].presence || ENV["RACK_ENV"].presence || "development"
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
# Receives a namespace, arguments, and the behavior to invoke the command.
|
|
32
|
-
def invoke(full_namespace, args = [], **config)
|
|
33
|
-
namespace = full_namespace = full_namespace.to_s
|
|
34
|
-
Jets::Command.original_cli_command = full_namespace
|
|
35
|
-
|
|
36
|
-
if char = namespace =~ /:(\w+)$/
|
|
37
|
-
command_name, namespace = $1, namespace.slice(0, char)
|
|
38
|
-
else
|
|
39
|
-
command_name = namespace
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
command_name, namespace = "help", "help" if command_name.blank? || HELP_MAPPINGS.include?(command_name)
|
|
43
|
-
command_name, namespace, args = "application", "application", ["--help"] if jets_new_with_no_path?(args)
|
|
44
|
-
command_name, namespace = "version", "version" if %w( -v --version ).include?(command_name)
|
|
45
|
-
|
|
46
|
-
original_argv = ARGV.dup
|
|
47
|
-
ARGV.replace(args)
|
|
48
|
-
|
|
49
|
-
command = find_by_namespace(namespace, command_name)
|
|
50
|
-
if command && command.all_commands[command_name]
|
|
51
|
-
command.perform(full_namespace, command_name, args, config)
|
|
52
|
-
else
|
|
53
|
-
# Decorate the rake [] method in order to rescue the error and print out
|
|
54
|
-
# a user friendly message. This works to catch rake errors but
|
|
55
|
-
# unsure why cannot just rescue RuntimeError here.
|
|
56
|
-
# More details in the RakeDecorate module.
|
|
57
|
-
require "rake/application"
|
|
58
|
-
Rake::Application.send(:include, RakeDecorate)
|
|
59
|
-
args = ["--describe", full_namespace] if HELP_MAPPINGS.include?(args[0])
|
|
60
|
-
find_by_namespace("rake").perform(full_namespace, args, config)
|
|
61
|
-
end
|
|
62
|
-
ensure
|
|
63
|
-
ARGV.replace(original_argv)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
# Jets finds namespaces similar to Thor, it only adds one rule:
|
|
67
|
-
#
|
|
68
|
-
# Command names must end with "_command.rb". This is required because Jets
|
|
69
|
-
# looks in load paths and loads the command just before it's going to be used.
|
|
70
|
-
#
|
|
71
|
-
# find_by_namespace :webrat, :integration
|
|
72
|
-
#
|
|
73
|
-
# Will search for the following commands:
|
|
74
|
-
#
|
|
75
|
-
# "webrat", "webrat:integration", "jets:webrat", "jets:webrat:integration"
|
|
76
|
-
#
|
|
77
|
-
def find_by_namespace(namespace, command_name = nil) # :nodoc:
|
|
78
|
-
lookups = [ namespace ]
|
|
79
|
-
lookups << "#{namespace}:#{command_name}" if command_name
|
|
80
|
-
lookups.concat lookups.map { |lookup| "jets:#{lookup}" }
|
|
81
|
-
|
|
82
|
-
lookup(lookups)
|
|
83
|
-
|
|
84
|
-
namespaces = subclasses.index_by(&:namespace)
|
|
85
|
-
namespaces[(lookups & namespaces.keys).first]
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
# Returns the root of the Jets engine or app running the command.
|
|
89
|
-
def root
|
|
90
|
-
if defined?(ENGINE_ROOT)
|
|
91
|
-
Pathname.new(ENGINE_ROOT)
|
|
92
|
-
elsif defined?(APP_PATH)
|
|
93
|
-
Pathname.new(File.expand_path("../..", APP_PATH))
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def print_commands # :nodoc:
|
|
98
|
-
commands.each { |command| puts(" #{command}") }
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
COMMANDS_IN_USAGE = %w(
|
|
102
|
-
generate
|
|
103
|
-
console
|
|
104
|
-
server
|
|
105
|
-
deploy
|
|
106
|
-
logs
|
|
107
|
-
new
|
|
108
|
-
)
|
|
109
|
-
private_constant :COMMANDS_IN_USAGE
|
|
110
|
-
|
|
111
|
-
PRO_COMMANDS = %w(
|
|
112
|
-
projects
|
|
113
|
-
stacks
|
|
114
|
-
releases
|
|
115
|
-
rollback
|
|
116
|
-
)
|
|
117
|
-
|
|
118
|
-
def jets_new_with_no_path?(args)
|
|
119
|
-
args == ["new"]
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
def commands
|
|
123
|
-
lookup!
|
|
124
|
-
visible_commands = (subclasses - hidden_commands).flat_map(&:printing_commands)
|
|
125
|
-
(visible_commands - COMMANDS_IN_USAGE - PRO_COMMANDS).sort
|
|
126
|
-
end
|
|
127
|
-
|
|
128
|
-
private
|
|
129
|
-
def command_type # :doc:
|
|
130
|
-
@command_type ||= "command"
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
def lookup_paths # :doc:
|
|
134
|
-
@lookup_paths ||= %w( jets/commands commands )
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
def file_lookup_paths # :doc:
|
|
138
|
-
@file_lookup_paths ||= [ "{#{lookup_paths.join(',')}}", "**", "*_command.rb" ]
|
|
139
|
-
end
|
|
140
|
-
end
|
|
141
|
-
end
|
|
142
|
-
end
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Jets
|
|
4
|
-
module Command
|
|
5
|
-
class ApplicationCommand < Base # :nodoc:
|
|
6
|
-
hide_command!
|
|
7
|
-
|
|
8
|
-
self.bin = "jets" if respond_to?(:bin=) # Rails 7.1
|
|
9
|
-
|
|
10
|
-
def help
|
|
11
|
-
perform # Punt help output to the generator.
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
# This is:
|
|
15
|
-
#
|
|
16
|
-
# bundle exec jets application:help => jets new --help
|
|
17
|
-
# bundle exec jets application => jets new --help
|
|
18
|
-
#
|
|
19
|
-
def perform(*args)
|
|
20
|
-
version_flags = %w[-v --version] & args
|
|
21
|
-
unless version_flags.empty?
|
|
22
|
-
puts "Jets #{Jets::VERSION}"
|
|
23
|
-
return
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
# require lazily so that Rails constant is only defined within generators
|
|
27
|
-
require "jets/generators/overrides/app/app_generator"
|
|
28
|
-
override_exit_on_failure?
|
|
29
|
-
argv = Rails::Generators::ARGVScrubber.new(args).prepare!
|
|
30
|
-
Jets::Generators::AppGenerator.start argv
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
private
|
|
34
|
-
# We override this way because Jets require generators lazily
|
|
35
|
-
def override_exit_on_failure?
|
|
36
|
-
Jets::Generators::AppGenerator.class_eval do
|
|
37
|
-
# We want to exit on failure to be kind to other libraries
|
|
38
|
-
# This is only when accessing via CLI
|
|
39
|
-
def self.exit_on_failure?
|
|
40
|
-
true
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
module Jets::Command
|
|
2
|
-
class BuildCommand < Base # :nodoc:
|
|
3
|
-
include EnvironmentArgument
|
|
4
|
-
|
|
5
|
-
option :templates, type: :boolean, desc: "Build CloudFormation templates only"
|
|
6
|
-
|
|
7
|
-
desc "build", "Builds and packages project for AWS Lambda"
|
|
8
|
-
long_desc Help.text(:build)
|
|
9
|
-
def perform
|
|
10
|
-
ENV['JETS_TEMPLATES'] = '1' if options[:templates]
|
|
11
|
-
|
|
12
|
-
extract_environment_option_from_argument
|
|
13
|
-
require_application_and_environment!
|
|
14
|
-
|
|
15
|
-
puts "Building project for Lambda..."
|
|
16
|
-
# run gets called from the CLI and does not have all the stack_options yet.
|
|
17
|
-
# We compute it and change the options early here.
|
|
18
|
-
@options.merge!(stack_type: stack_type, s3_bucket: Jets.s3_bucket)
|
|
19
|
-
do_build
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
private
|
|
23
|
-
# Note: build is picked up as a command so naming it do_build
|
|
24
|
-
def do_build
|
|
25
|
-
Jets::Builders::CodeBuilder.new.build unless ENV['JETS_TEMPLATES']
|
|
26
|
-
Jets::Cfn::Builder.new(@options).build
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def stack_type
|
|
30
|
-
first_run? ? :minimal : :full
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
module Jets::Commands::Call
|
|
2
|
-
class AnonymousGuesser < BaseGuesser
|
|
3
|
-
def detect_class_name
|
|
4
|
-
found_path = function_paths.find do |path|
|
|
5
|
-
File.exist?("#{Jets.root}/#{path}")
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
klass = Jets::Klass.from_path(found_path) if found_path
|
|
9
|
-
klass.to_s
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def method_name
|
|
13
|
-
return @method_name if defined?(@method_name)
|
|
14
|
-
|
|
15
|
-
full_function_name = @provided_function_name.underscore
|
|
16
|
-
underscored_class_name = class_name.underscore
|
|
17
|
-
meth = full_function_name.sub("#{underscored_class_name}_","")
|
|
18
|
-
|
|
19
|
-
if meth == class_name.constantize.handler.to_s
|
|
20
|
-
@method_name = meth
|
|
21
|
-
else
|
|
22
|
-
@method_name_error = "#{class_name} class found but #{meth} method not found"
|
|
23
|
-
@method_name = nil
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
# Useful to printing out what was attempted to look up
|
|
28
|
-
def error_message
|
|
29
|
-
guess_paths = function_paths
|
|
30
|
-
puts "Unable to find the function to call."
|
|
31
|
-
if class_name and !method_name
|
|
32
|
-
puts @method_name_error
|
|
33
|
-
else
|
|
34
|
-
puts "Tried: #{guess_paths.join(', ')}"
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def function_filenames(meth=nil, primary_namespace=nil)
|
|
39
|
-
guesses = []
|
|
40
|
-
parts = meth.split('_')
|
|
41
|
-
|
|
42
|
-
if primary_namespace.nil?
|
|
43
|
-
guesses << meth
|
|
44
|
-
|
|
45
|
-
if parts.size == 1 # already on final_primary_namespace
|
|
46
|
-
return guesses # end of recursion
|
|
47
|
-
else
|
|
48
|
-
next_primary_namespace = parts.first
|
|
49
|
-
guesses += function_filenames(meth, next_primary_namespace) # start of recursion
|
|
50
|
-
return guesses # return early
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
next_meth = meth.sub("#{primary_namespace}_", '')
|
|
55
|
-
next_parts = next_meth.split('_')
|
|
56
|
-
|
|
57
|
-
# Takes the next_parts and creates guesses with the parts joined by '/'
|
|
58
|
-
# with the primary_namespace prepended. So if next_parts is
|
|
59
|
-
# ["long", "name", "function"] and primary_namespace is "complex"
|
|
60
|
-
#
|
|
61
|
-
# guesses that get added:
|
|
62
|
-
#
|
|
63
|
-
# [
|
|
64
|
-
# "complex/long_name_function",
|
|
65
|
-
# "complex/long/name_function",
|
|
66
|
-
# "complex/long/name/function",
|
|
67
|
-
# ]
|
|
68
|
-
n = next_parts.size + 1
|
|
69
|
-
next_parts.size.times do |i|
|
|
70
|
-
namespace = i == 0 ? nil : next_parts[0..i-1].join('/')
|
|
71
|
-
class_path = next_parts[i..-1].join('_')
|
|
72
|
-
guesses << [primary_namespace, namespace, class_path].compact.join('/')
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
final_primary_namespace = parts[0..-2].join('_')
|
|
76
|
-
if primary_namespace == final_primary_namespace
|
|
77
|
-
return guesses # end of recursion
|
|
78
|
-
else
|
|
79
|
-
namespace_size = parts.size - next_parts.size
|
|
80
|
-
next_primary_namespace = parts[0..namespace_size].join('_')
|
|
81
|
-
guesses += function_filenames(meth, next_primary_namespace)
|
|
82
|
-
return guesses
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
def function_paths
|
|
87
|
-
# drop the last word for starting filename
|
|
88
|
-
starting_filename = @provided_function_name.underscore.split('_')[0..-2].join('_')
|
|
89
|
-
filenames = function_filenames(starting_filename)
|
|
90
|
-
filenames.map do |name|
|
|
91
|
-
"app/functions/#{name}.rb"
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
end
|
|
96
|
-
end
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
module Jets::Commands::Call
|
|
2
|
-
class AutoloadGuesser < BaseGuesser
|
|
3
|
-
def detect_class_name
|
|
4
|
-
# First guess the class name assuming simple
|
|
5
|
-
class_name = simple_detect_class_name
|
|
6
|
-
return class_name if class_name
|
|
7
|
-
|
|
8
|
-
guess_classes.each do |class_name_guess|
|
|
9
|
-
begin
|
|
10
|
-
class_name_guess.constantize
|
|
11
|
-
return class_name_guess # if there's no error then the class is found
|
|
12
|
-
rescue NameError
|
|
13
|
-
if out_of_guesses(class_name_guess)
|
|
14
|
-
# puts "Unable to find the class to call. Tried guessing: #{guess_classes[0..-2].join(', ')}."
|
|
15
|
-
# raise # re-raise NameError for now but maybe better to provide
|
|
16
|
-
# a custom error class, so we can rescue it and provide a
|
|
17
|
-
# friendly message to the user
|
|
18
|
-
else
|
|
19
|
-
next
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
nil
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
# Can guess name by looking at underscore and dashes.
|
|
28
|
-
#
|
|
29
|
-
# Example:
|
|
30
|
-
#
|
|
31
|
-
# @provided_function_name: first_module-lost_controller-index
|
|
32
|
-
# return: FirstModule::LostController
|
|
33
|
-
#
|
|
34
|
-
def simple_detect_class_name
|
|
35
|
-
parts = @provided_function_name.split('-')
|
|
36
|
-
namespace = parts[0..-3].join('/')
|
|
37
|
-
controller = parts[-2..-2] # dont include the action
|
|
38
|
-
class_name = [namespace, controller].reject {|s| s.empty?}.compact.join('/').camelize
|
|
39
|
-
begin
|
|
40
|
-
class_name.constantize
|
|
41
|
-
return class_name
|
|
42
|
-
rescue NameError
|
|
43
|
-
nil
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def method_name
|
|
48
|
-
return @method_name if defined?(@method_name)
|
|
49
|
-
return nil unless class_name
|
|
50
|
-
|
|
51
|
-
underscored_class_name = class_name.underscore.gsub('/','_')
|
|
52
|
-
underscored_function_name = @provided_function_name.underscore.gsub('/','_')
|
|
53
|
-
meth = underscored_function_name.sub(underscored_class_name, '')
|
|
54
|
-
meth = meth.sub(/^[-_]/,'') # remove leading _ or -
|
|
55
|
-
|
|
56
|
-
if class_name.constantize.definitions.map(&:meth).include?(meth.to_sym)
|
|
57
|
-
@method_name = meth
|
|
58
|
-
else
|
|
59
|
-
@method_name_error ="#{class_name} class found but #{meth} method not found"
|
|
60
|
-
@method_name = nil
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
# Useful to printing out what was attempted to look up
|
|
65
|
-
def error_message
|
|
66
|
-
guesses = guess_classes
|
|
67
|
-
puts "Unable to find the function to call."
|
|
68
|
-
if class_name and !method_name
|
|
69
|
-
puts @method_name_error
|
|
70
|
-
else
|
|
71
|
-
puts "Tried: #{guesses.join(', ')}"
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
def process_type
|
|
76
|
-
if @provided_function_name =~ /[-_]controller/
|
|
77
|
-
"controller"
|
|
78
|
-
elsif @provided_function_name =~ /[-_]job/
|
|
79
|
-
"job"
|
|
80
|
-
elsif @provided_function_name =~ /[-_]rule/
|
|
81
|
-
"rule"
|
|
82
|
-
else
|
|
83
|
-
"function"
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
def process_type_pattern
|
|
88
|
-
Regexp.new("[-_]#{process_type}[-_](.*)")
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
# Strips the action because we dont want it to guess the class name
|
|
92
|
-
# So:
|
|
93
|
-
# admin-related-pages => admin_related_pages_controller
|
|
94
|
-
def underscored_name
|
|
95
|
-
# strip action and concidentally the _controller_ string
|
|
96
|
-
name = @provided_function_name.sub(process_type_pattern,'')
|
|
97
|
-
# Ensure _controller or _job at the end except for simple functions
|
|
98
|
-
unless process_type == "function"
|
|
99
|
-
name = name.gsub('-','_') + "_#{process_type}"
|
|
100
|
-
end
|
|
101
|
-
name
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
# Guesses autoload paths.
|
|
105
|
-
#
|
|
106
|
-
# underscored_name: admin_related_pages_controller
|
|
107
|
-
# Returns:
|
|
108
|
-
# [
|
|
109
|
-
# "admin_related_pages_controller",
|
|
110
|
-
# "admin/related_pages_controller",
|
|
111
|
-
# "admin_related/pages_controller",
|
|
112
|
-
# "admin_related_pages/controller",
|
|
113
|
-
# ]
|
|
114
|
-
def autoload_paths
|
|
115
|
-
guesses = []
|
|
116
|
-
|
|
117
|
-
parts = underscored_name.split('_')
|
|
118
|
-
parts.size.times do |i|
|
|
119
|
-
namespace = i == 0 ? nil : parts[0..i-1].join('/')
|
|
120
|
-
class_path = parts[i..-1].join('_')
|
|
121
|
-
guesses << [namespace, class_path].compact.join('/')
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
guesses
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
def guess_classes
|
|
128
|
-
autoload_paths.map(&:classify)
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
def out_of_guesses(guess)
|
|
132
|
-
guess.include?("::Controller")
|
|
133
|
-
end
|
|
134
|
-
|
|
135
|
-
end
|
|
136
|
-
end
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# Subclasses of BaseGuessor must implement interface:
|
|
2
|
-
# detect_class_name
|
|
3
|
-
# method_name
|
|
4
|
-
# error_message
|
|
5
|
-
#
|
|
6
|
-
module Jets::Commands::Call
|
|
7
|
-
class BaseGuesser
|
|
8
|
-
include Jets::AwsServices
|
|
9
|
-
|
|
10
|
-
# provided_function_name:
|
|
11
|
-
# admin/related_pages_controller-list_all
|
|
12
|
-
# admin-related-pages-controller-list-all
|
|
13
|
-
def initialize(provided_function_name)
|
|
14
|
-
@provided_function_name = provided_function_name
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def class_name
|
|
18
|
-
return @class_name if @detection_ran
|
|
19
|
-
|
|
20
|
-
@class_name = detect_class_name
|
|
21
|
-
@detection_ran = true
|
|
22
|
-
@class_name
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def function_name
|
|
26
|
-
# Strip the project namespace if the user has accidentally added it
|
|
27
|
-
# Since we're going to automatically add it no matter what at the end
|
|
28
|
-
# and dont want the namespace to be included twice
|
|
29
|
-
@provided_function_name = @provided_function_name.sub("#{Jets.project_namespace}-", "")
|
|
30
|
-
|
|
31
|
-
code_path = class_name.underscore.gsub('/','-')
|
|
32
|
-
function_name = [Jets.project_namespace, code_path, method_name].join('-')
|
|
33
|
-
generated_function_name(function_name)
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def generated_function_name(function_name)
|
|
37
|
-
if function_name.size > Jets::Cfn::Resource::Lambda::Function::MAX_FUNCTION_NAME_SIZE # name generated by CloudFormation
|
|
38
|
-
logical_id = @class_name.gsub('::','')
|
|
39
|
-
|
|
40
|
-
parent_resources = stack_resources(parent_stack.stack_id)
|
|
41
|
-
app_stack = parent_resources.find { |s| s.logical_resource_id == logical_id }
|
|
42
|
-
|
|
43
|
-
resources = stack_resources(app_stack.physical_resource_id)
|
|
44
|
-
resource = resources.find { |r| r.logical_resource_id == method_name.camelize + "LambdaFunction" } # method_name only contains the method
|
|
45
|
-
resource.physical_resource_id # actual function name
|
|
46
|
-
else
|
|
47
|
-
function_name
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
# Class variable caches
|
|
52
|
-
@@stack_resources = {}
|
|
53
|
-
def stack_resources(stack_name)
|
|
54
|
-
@@stack_resources[stack_name] ||= cfn.describe_stack_resources(stack_name: stack_name).stack_resources
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
@@parent_stack = nil
|
|
58
|
-
def parent_stack
|
|
59
|
-
@@parent_stack ||= cfn.describe_stacks(stack_name: Jets::Names.parent_stack_name).stacks.first
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
require "base64"
|
|
2
|
-
require "json"
|
|
3
|
-
|
|
4
|
-
module Jets::Command
|
|
5
|
-
class CallCommand < Base # :nodoc:
|
|
6
|
-
include Jets::AwsServices
|
|
7
|
-
|
|
8
|
-
desc "call [function] [event]", "Call a lambda function on AWS or locally"
|
|
9
|
-
long_desc Help.text(:call)
|
|
10
|
-
option :invocation_type, default: "RequestResponse", desc: "RequestResponse, Event, or DryRun"
|
|
11
|
-
option :log_type, default: "Tail", desc: "Works if invocation_type set to RequestResponse"
|
|
12
|
-
option :qualifier, desc: "Lambda function version or alias name"
|
|
13
|
-
option :show_log, type: :boolean, desc: "Shows last 4KB of log in the x-amz-log-result header"
|
|
14
|
-
option :show_logs, type: :boolean, desc: "Shows last 4KB of log in the x-amz-log-result header"
|
|
15
|
-
option :lambda_proxy, type: :boolean, default: true, desc: "Enables automatic Lambda proxy transformation of the event payload"
|
|
16
|
-
option :guess, type: :boolean, default: true, desc: "Enables guess mode. Uses inference to allows use of all dashes to specify functions. Guess mode verifies that the function exists in the code base."
|
|
17
|
-
option :local, type: :boolean, desc: "Enables local mode. Instead of invoke the AWS Lambda function, the method gets called locally with current app code. With local mode guess mode is always used."
|
|
18
|
-
option :retry_limit, type: :numeric, default: nil, desc: "Retry count of invoking function. It work with remote call"
|
|
19
|
-
option :read_timeout, type: :numeric, default: nil, desc: " The number of seconds to wait for response data. It work with remote call"
|
|
20
|
-
def perform(function_name, payload='')
|
|
21
|
-
$stdout.sync = true
|
|
22
|
-
$stderr.sync = true
|
|
23
|
-
$stdout = $stderr # jets call operation
|
|
24
|
-
Jets::Commands::Call::Caller.new(function_name, payload, options).run
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|