jets_bb_fork 0.0.4
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 +7 -0
- data/.circleci/bin/commit_docs.sh +26 -0
- data/.circleci/config.yml +126 -0
- data/.codebuild/README.md +68 -0
- data/.codebuild/bin/jets +3 -0
- data/.codebuild/buildspec-base.yml +14 -0
- data/.codebuild/integration.sh +72 -0
- data/.codebuild/jets.postman_collection.json +323 -0
- data/.codebuild/scripts/install-docker.sh +12 -0
- data/.codebuild/scripts/install-dynamodb-local.sh +22 -0
- data/.codebuild/scripts/install-java.sh +22 -0
- data/.codebuild/scripts/install-node.sh +4 -0
- data/.github/ISSUE_TEMPLATE.md +7 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +84 -0
- data/.github/ISSUE_TEMPLATE/documentation.md +27 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +64 -0
- data/.github/ISSUE_TEMPLATE/question.md +16 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +42 -0
- data/.gitignore +24 -0
- data/.gitmodules +0 -0
- data/.python-version +1 -0
- data/.rspec +4 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +734 -0
- data/CONDUCT.md +1 -0
- data/CONTRIBUTING.md +1 -0
- data/Dockerfile +16 -0
- data/Dockerfile.base +53 -0
- data/Gemfile +14 -0
- data/Guardfile +22 -0
- data/LICENSE.txt +22 -0
- data/Procfile +2 -0
- data/README.md +203 -0
- data/Rakefile +24 -0
- data/backers.md +16 -0
- data/bin/release +9 -0
- data/buildspec.yml +18 -0
- data/exe/jets_bb_fork +14 -0
- data/jets.gemspec +68 -0
- data/lib/jets.rb +27 -0
- data/lib/jets/application.rb +216 -0
- data/lib/jets/application/defaults.rb +172 -0
- data/lib/jets/autoloaders.rb +97 -0
- data/lib/jets/aws_info.rb +113 -0
- data/lib/jets/aws_services.rb +65 -0
- data/lib/jets/aws_services/global_memoist.rb +57 -0
- data/lib/jets/aws_services/s3_bucket.rb +34 -0
- data/lib/jets/aws_services/stack_status.rb +59 -0
- data/lib/jets/booter.rb +119 -0
- data/lib/jets/builders/code_builder.rb +399 -0
- data/lib/jets/builders/code_size.rb +57 -0
- data/lib/jets/builders/gem_replacer.rb +76 -0
- data/lib/jets/builders/handler_generator.rb +186 -0
- data/lib/jets/builders/lambda_layer.rb +69 -0
- data/lib/jets/builders/md5.rb +60 -0
- data/lib/jets/builders/md5_zip.rb +61 -0
- data/lib/jets/builders/purger.rb +35 -0
- data/lib/jets/builders/rack_packager.rb +51 -0
- data/lib/jets/builders/rackup_wrappers/rackup +19 -0
- data/lib/jets/builders/rackup_wrappers/rackup.rb +7 -0
- data/lib/jets/builders/reconfigure_rails.rb +114 -0
- data/lib/jets/builders/reconfigure_rails/config/initializers/jets.rb +16 -0
- data/lib/jets/builders/ruby_packager.rb +207 -0
- data/lib/jets/builders/shim_vars/app.rb +78 -0
- data/lib/jets/builders/shim_vars/base.rb +25 -0
- data/lib/jets/builders/shim_vars/shared.rb +37 -0
- data/lib/jets/builders/templates/handler.rb +12 -0
- data/lib/jets/builders/tidy.rb +107 -0
- data/lib/jets/builders/util.rb +31 -0
- data/lib/jets/bundle.rb +82 -0
- data/lib/jets/camelizer.rb +71 -0
- data/lib/jets/cfn/builders/api_deployment_builder.rb +63 -0
- data/lib/jets/cfn/builders/api_gateway_builder.rb +157 -0
- data/lib/jets/cfn/builders/base_child_builder.rb +75 -0
- data/lib/jets/cfn/builders/controller_builder.rb +42 -0
- data/lib/jets/cfn/builders/function_builder.rb +14 -0
- data/lib/jets/cfn/builders/interface.rb +137 -0
- data/lib/jets/cfn/builders/job_builder.rb +14 -0
- data/lib/jets/cfn/builders/paged.rb +37 -0
- data/lib/jets/cfn/builders/parent_builder.rb +100 -0
- data/lib/jets/cfn/builders/rule_builder.rb +24 -0
- data/lib/jets/cfn/builders/shared_builder.rb +14 -0
- data/lib/jets/cfn/ship.rb +185 -0
- data/lib/jets/cfn/status.rb +212 -0
- data/lib/jets/cfn/upload.rb +139 -0
- data/lib/jets/cli.rb +194 -0
- data/lib/jets/commands/base.rb +146 -0
- data/lib/jets/commands/build.rb +234 -0
- data/lib/jets/commands/call.rb +169 -0
- data/lib/jets/commands/call/anonymous_guesser.rb +96 -0
- data/lib/jets/commands/call/autoload_guesser.rb +136 -0
- data/lib/jets/commands/call/base_guesser.rb +60 -0
- data/lib/jets/commands/call/guesser.rb +48 -0
- data/lib/jets/commands/clean.rb +19 -0
- data/lib/jets/commands/clean/base.rb +24 -0
- data/lib/jets/commands/clean/build.rb +13 -0
- data/lib/jets/commands/clean/log.rb +107 -0
- data/lib/jets/commands/console.rb +12 -0
- data/lib/jets/commands/db.rb +13 -0
- data/lib/jets/commands/db/environment-task.rake +3 -0
- data/lib/jets/commands/db/tasks.rb +44 -0
- data/lib/jets/commands/dbconsole.rb +131 -0
- data/lib/jets/commands/delete.rb +143 -0
- data/lib/jets/commands/deploy.rb +141 -0
- data/lib/jets/commands/dynamodb.rb +19 -0
- data/lib/jets/commands/dynamodb/migrate.rb +9 -0
- data/lib/jets/commands/dynamodb/migrator.rb +36 -0
- data/lib/jets/commands/gems.rb +21 -0
- data/lib/jets/commands/help.rb +9 -0
- data/lib/jets/commands/help/build.md +6 -0
- data/lib/jets/commands/help/call.md +61 -0
- data/lib/jets/commands/help/clean/build.md +5 -0
- data/lib/jets/commands/help/clean/log.md +5 -0
- data/lib/jets/commands/help/console.md +18 -0
- data/lib/jets/commands/help/db/generate.md +8 -0
- data/lib/jets/commands/help/dbconsole.md +9 -0
- data/lib/jets/commands/help/delete.md +22 -0
- data/lib/jets/commands/help/deploy.md +32 -0
- data/lib/jets/commands/help/destroy.md +16 -0
- data/lib/jets/commands/help/dynamodb/generate.md +52 -0
- data/lib/jets/commands/help/dynamodb/migrate.md +4 -0
- data/lib/jets/commands/help/gems/check.md +8 -0
- data/lib/jets/commands/help/generate.md +22 -0
- data/lib/jets/commands/help/import/rack.md +13 -0
- data/lib/jets/commands/help/import/rails.md +11 -0
- data/lib/jets/commands/help/new.md +42 -0
- data/lib/jets/commands/help/routes.md +16 -0
- data/lib/jets/commands/help/runner.md +17 -0
- data/lib/jets/commands/help/server.md +15 -0
- data/lib/jets/commands/help/status.md +14 -0
- data/lib/jets/commands/help/upgrade.md +5 -0
- data/lib/jets/commands/help/url.md +6 -0
- data/lib/jets/commands/import.rb +12 -0
- data/lib/jets/commands/import/base.rb +49 -0
- data/lib/jets/commands/import/cheatsheet.rb +35 -0
- data/lib/jets/commands/import/rack.rb +16 -0
- data/lib/jets/commands/import/rails.rb +74 -0
- data/lib/jets/commands/import/sequence.rb +90 -0
- data/lib/jets/commands/import/templates/config/database.yml +26 -0
- data/lib/jets/commands/import/templates/submodules-cheatsheet.md +89 -0
- data/lib/jets/commands/main.rb +157 -0
- data/lib/jets/commands/markdown/creator.rb +58 -0
- data/lib/jets/commands/markdown/index.rb +27 -0
- data/lib/jets/commands/markdown/page.rb +125 -0
- data/lib/jets/commands/markdown/shell.rb +11 -0
- data/lib/jets/commands/new.rb +157 -0
- data/lib/jets/commands/rake_command.rb +61 -0
- data/lib/jets/commands/rake_tasks.rb +46 -0
- data/lib/jets/commands/runner.rb +16 -0
- data/lib/jets/commands/sequence.rb +99 -0
- data/lib/jets/commands/stack_info.rb +30 -0
- data/lib/jets/commands/templates/skeleton/.gitignore +12 -0
- data/lib/jets/commands/templates/skeleton/.jetskeep +1 -0
- data/lib/jets/commands/templates/skeleton/.rspec +3 -0
- data/lib/jets/commands/templates/skeleton/Gemfile.tt +38 -0
- data/lib/jets/commands/templates/skeleton/Procfile +7 -0
- data/lib/jets/commands/templates/skeleton/README.md +11 -0
- data/lib/jets/commands/templates/skeleton/Rakefile +2 -0
- data/lib/jets/commands/templates/skeleton/app/controllers/application_controller.rb +2 -0
- data/lib/jets/commands/templates/skeleton/app/helpers/application_helper.rb +2 -0
- data/lib/jets/commands/templates/skeleton/app/jobs/application_job.rb +4 -0
- data/lib/jets/commands/templates/skeleton/app/models/application_item.rb +2 -0
- data/lib/jets/commands/templates/skeleton/app/models/application_record.rb +3 -0
- data/lib/jets/commands/templates/skeleton/app/views/layouts/application.html.erb.tt +25 -0
- data/lib/jets/commands/templates/skeleton/config.ru +5 -0
- data/lib/jets/commands/templates/skeleton/config/application.rb.tt +67 -0
- data/lib/jets/commands/templates/skeleton/config/database.yml.tt +26 -0
- data/lib/jets/commands/templates/skeleton/config/dynamodb.yml +22 -0
- data/lib/jets/commands/templates/skeleton/config/environments/development.rb +7 -0
- data/lib/jets/commands/templates/skeleton/config/environments/production.rb +9 -0
- data/lib/jets/commands/templates/skeleton/config/environments/test.rb +7 -0
- data/lib/jets/commands/templates/skeleton/config/routes.rb +9 -0
- data/lib/jets/commands/templates/skeleton/db/.gitkeep +0 -0
- data/lib/jets/commands/templates/skeleton/public/404.html +67 -0
- data/lib/jets/commands/templates/skeleton/public/422.html +67 -0
- data/lib/jets/commands/templates/skeleton/public/500.html +66 -0
- data/lib/jets/commands/templates/skeleton/public/favicon.ico +0 -0
- data/lib/jets/commands/templates/skeleton/public/index.html.tt +91 -0
- data/lib/jets/commands/templates/skeleton/spec/controllers/posts_controller_spec.rb +15 -0
- data/lib/jets/commands/templates/skeleton/spec/fixtures/payloads/posts-index.json +51 -0
- data/lib/jets/commands/templates/skeleton/spec/fixtures/payloads/posts-show.json +53 -0
- data/lib/jets/commands/templates/skeleton/spec/spec_helper.rb.tt +30 -0
- data/lib/jets/commands/templates/webpacker/app/javascript/packs/application.js.tt +14 -0
- data/lib/jets/commands/templates/webpacker/app/javascript/packs/theme.scss.tt +24 -0
- data/lib/jets/commands/templates/webpacker/app/javascript/src/jets/crud.js +87 -0
- data/lib/jets/commands/upgrade.rb +145 -0
- data/lib/jets/commands/upgrade/templates/bin/webpack +19 -0
- data/lib/jets/commands/upgrade/templates/bin/webpack-dev-server +19 -0
- data/lib/jets/commands/url.rb +68 -0
- data/lib/jets/commands/webpacker_template.rb +18 -0
- data/lib/jets/controller.rb +3 -0
- data/lib/jets/controller/base.rb +108 -0
- data/lib/jets/controller/callbacks.rb +68 -0
- data/lib/jets/controller/cookies.rb +38 -0
- data/lib/jets/controller/cookies/jar.rb +269 -0
- data/lib/jets/controller/layout.rb +17 -0
- data/lib/jets/controller/middleware/cors.rb +60 -0
- data/lib/jets/controller/middleware/local.rb +116 -0
- data/lib/jets/controller/middleware/local/api_gateway.rb +93 -0
- data/lib/jets/controller/middleware/local/mimic_aws_call.rb +38 -0
- data/lib/jets/controller/middleware/local/route_matcher.rb +106 -0
- data/lib/jets/controller/middleware/main.rb +46 -0
- data/lib/jets/controller/middleware/reloader.rb +15 -0
- data/lib/jets/controller/middleware/webpacker_setup.rb +6 -0
- data/lib/jets/controller/params.rb +87 -0
- data/lib/jets/controller/rack/adapter.rb +88 -0
- data/lib/jets/controller/rack/env.rb +105 -0
- data/lib/jets/controller/redirection.rb +55 -0
- data/lib/jets/controller/rendering.rb +79 -0
- data/lib/jets/controller/rendering/rack_renderer.rb +250 -0
- data/lib/jets/controller/request.rb +29 -0
- data/lib/jets/controller/response.rb +61 -0
- data/lib/jets/controller/stage.rb +33 -0
- data/lib/jets/core.rb +149 -0
- data/lib/jets/core_ext/kernel.rb +13 -0
- data/lib/jets/db.rb +15 -0
- data/lib/jets/dotenv.rb +48 -0
- data/lib/jets/dotenv/ssm.rb +48 -0
- data/lib/jets/erb.rb +51 -0
- data/lib/jets/generator.rb +48 -0
- data/lib/jets/generator/templates/erb/controller/view.html.erb +2 -0
- data/lib/jets/generator/templates/erb/scaffold/_form.html.erb +39 -0
- data/lib/jets/generator/templates/erb/scaffold/edit.html.erb +6 -0
- data/lib/jets/generator/templates/erb/scaffold/index.html.erb +29 -0
- data/lib/jets/generator/templates/erb/scaffold/new.html.erb +5 -0
- data/lib/jets/generator/templates/erb/scaffold/show.html.erb +9 -0
- data/lib/jets/generator/templates/rails/assets/javascript.js +2 -0
- data/lib/jets/generator/templates/rails/assets/stylesheet.css +4 -0
- data/lib/jets/generator/templates/rails/controller/controller.rb +13 -0
- data/lib/jets/generator/templates/rails/helper/helper.rb +4 -0
- data/lib/jets/generator/templates/rails/scaffold/scaffold.css +80 -0
- data/lib/jets/generator/templates/rails/scaffold_controller/api_controller.rb +62 -0
- data/lib/jets/generator/templates/rails/scaffold_controller/controller.rb +79 -0
- data/lib/jets/inflections.rb +32 -0
- data/lib/jets/internal/app/controllers/jets/mailers_controller.rb +97 -0
- data/lib/jets/internal/app/controllers/jets/public_controller.rb +31 -0
- data/lib/jets/internal/app/controllers/jets/rack_controller.rb +25 -0
- data/lib/jets/internal/app/functions/jets/base_path.rb +157 -0
- data/lib/jets/internal/app/helpers/jets/mailers_helper.rb +9 -0
- data/lib/jets/internal/app/jobs/jets/preheat_job.rb +70 -0
- data/lib/jets/internal/app/shared/functions/jets/s3_bucket_config.rb +43 -0
- data/lib/jets/internal/app/views/jets/mailers/email.html.erb +145 -0
- data/lib/jets/internal/app/views/jets/mailers/index.html.erb +8 -0
- data/lib/jets/internal/app/views/jets/mailers/mailer.html.erb +6 -0
- data/lib/jets/internal/turbines/jets/mailer.rb +51 -0
- data/lib/jets/job/base.rb +39 -0
- data/lib/jets/job/dsl.rb +40 -0
- data/lib/jets/job/dsl/dynamodb_event.rb +65 -0
- data/lib/jets/job/dsl/event_source_mapping.rb +11 -0
- data/lib/jets/job/dsl/iot_event.rb +24 -0
- data/lib/jets/job/dsl/kinesis_event.rb +46 -0
- data/lib/jets/job/dsl/log_event.rb +15 -0
- data/lib/jets/job/dsl/rule_event.rb +75 -0
- data/lib/jets/job/dsl/s3_event.rb +36 -0
- data/lib/jets/job/dsl/sns_event.rb +54 -0
- data/lib/jets/job/dsl/sqs_event.rb +96 -0
- data/lib/jets/job/helpers/kinesis_event_helper.rb +13 -0
- data/lib/jets/job/helpers/log_event_helper.rb +17 -0
- data/lib/jets/job/helpers/s3_event_helper.rb +13 -0
- data/lib/jets/klass.rb +109 -0
- data/lib/jets/lambda/dsl.rb +419 -0
- data/lib/jets/lambda/function.rb +29 -0
- data/lib/jets/lambda/function_constructor.rb +55 -0
- data/lib/jets/lambda/functions.rb +34 -0
- data/lib/jets/lambda/task.rb +111 -0
- data/lib/jets/logger.rb +21 -0
- data/lib/jets/mega/hash_converter.rb +25 -0
- data/lib/jets/mega/request.rb +139 -0
- data/lib/jets/mega/request/source.rb +21 -0
- data/lib/jets/middleware.rb +33 -0
- data/lib/jets/middleware/configurator.rb +84 -0
- data/lib/jets/middleware/default_stack.rb +51 -0
- data/lib/jets/middleware/layer.rb +34 -0
- data/lib/jets/middleware/stack.rb +77 -0
- data/lib/jets/naming.rb +49 -0
- data/lib/jets/overrides/lambda.rb +1 -0
- data/lib/jets/overrides/lambda/marshaller.rb +31 -0
- data/lib/jets/overrides/rails.rb +4 -0
- data/lib/jets/overrides/rails/asset_tag_helper.rb +114 -0
- data/lib/jets/overrides/rails/common_methods.rb +13 -0
- data/lib/jets/overrides/rails/rendering_helper.rb +26 -0
- data/lib/jets/overrides/rails/url_helper.rb +25 -0
- data/lib/jets/poly_fun.rb +73 -0
- data/lib/jets/poly_fun/base_executor.rb +125 -0
- data/lib/jets/poly_fun/lambda_executor.rb +16 -0
- data/lib/jets/poly_fun/node_error.rb +8 -0
- data/lib/jets/poly_fun/node_executor.rb +54 -0
- data/lib/jets/poly_fun/python_error.rb +8 -0
- data/lib/jets/poly_fun/python_executor.rb +23 -0
- data/lib/jets/preheat.rb +117 -0
- data/lib/jets/processors/deducer.rb +65 -0
- data/lib/jets/processors/main_processor.rb +61 -0
- data/lib/jets/rack_server.rb +86 -0
- data/lib/jets/rdoc.rb +30 -0
- data/lib/jets/resource.rb +71 -0
- data/lib/jets/resource/api_gateway/base_path/function.rb +42 -0
- data/lib/jets/resource/api_gateway/base_path/mapping.rb +44 -0
- data/lib/jets/resource/api_gateway/base_path/role.rb +76 -0
- data/lib/jets/resource/api_gateway/cors.rb +61 -0
- data/lib/jets/resource/api_gateway/deployment.rb +78 -0
- data/lib/jets/resource/api_gateway/domain_name.rb +59 -0
- data/lib/jets/resource/api_gateway/method.rb +98 -0
- data/lib/jets/resource/api_gateway/resource.rb +101 -0
- data/lib/jets/resource/api_gateway/rest_api.rb +56 -0
- data/lib/jets/resource/api_gateway/rest_api/change_detection.rb +42 -0
- data/lib/jets/resource/api_gateway/rest_api/logical_id.rb +63 -0
- data/lib/jets/resource/api_gateway/rest_api/routes.rb +7 -0
- data/lib/jets/resource/api_gateway/rest_api/routes/change.rb +8 -0
- data/lib/jets/resource/api_gateway/rest_api/routes/change/base.rb +130 -0
- data/lib/jets/resource/api_gateway/rest_api/routes/change/to.rb +29 -0
- data/lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb +39 -0
- data/lib/jets/resource/api_gateway/rest_api/routes/collision.rb +121 -0
- data/lib/jets/resource/api_gateway/rest_api/routes/collision/variable_exception.rb +7 -0
- data/lib/jets/resource/associated.rb +37 -0
- data/lib/jets/resource/base.rb +28 -0
- data/lib/jets/resource/child_stack/api_deployment.rb +56 -0
- data/lib/jets/resource/child_stack/api_gateway.rb +53 -0
- data/lib/jets/resource/child_stack/app_class.rb +107 -0
- data/lib/jets/resource/child_stack/base.rb +24 -0
- data/lib/jets/resource/child_stack/shared.rb +92 -0
- data/lib/jets/resource/config/config_rule.rb +74 -0
- data/lib/jets/resource/config/managed_rule.rb +15 -0
- data/lib/jets/resource/events/rule.rb +31 -0
- data/lib/jets/resource/iam/application_role.rb +27 -0
- data/lib/jets/resource/iam/base_role_definition.rb +47 -0
- data/lib/jets/resource/iam/class_role.rb +74 -0
- data/lib/jets/resource/iam/function_role.rb +54 -0
- data/lib/jets/resource/iam/managed_policy.rb +22 -0
- data/lib/jets/resource/iam/policy_document.rb +41 -0
- data/lib/jets/resource/iot/topic_rule.rb +34 -0
- data/lib/jets/resource/lambda/event_source_mapping.rb +31 -0
- data/lib/jets/resource/lambda/function.rb +214 -0
- data/lib/jets/resource/lambda/function/environment.rb +62 -0
- data/lib/jets/resource/lambda/gem_layer.rb +17 -0
- data/lib/jets/resource/lambda/layer_version.rb +44 -0
- data/lib/jets/resource/logs/subscription_filter.rb +31 -0
- data/lib/jets/resource/permission.rb +45 -0
- data/lib/jets/resource/replacer.rb +85 -0
- data/lib/jets/resource/route53/record_set.rb +70 -0
- data/lib/jets/resource/s3/bucket.rb +24 -0
- data/lib/jets/resource/sns/subscription.rb +29 -0
- data/lib/jets/resource/sns/topic.rb +35 -0
- data/lib/jets/resource/sns/topic_policy.rb +40 -0
- data/lib/jets/resource/sqs/queue.rb +21 -0
- data/lib/jets/resource/standardizer.rb +42 -0
- data/lib/jets/route.rb +166 -0
- data/lib/jets/router.rb +177 -0
- data/lib/jets/router/scope.rb +30 -0
- data/lib/jets/rule/base.rb +19 -0
- data/lib/jets/rule/dsl.rb +110 -0
- data/lib/jets/spec_helpers.rb +54 -0
- data/lib/jets/spec_helpers/params.rb +10 -0
- data/lib/jets/spec_helpers/request.rb +78 -0
- data/lib/jets/spec_helpers/response.rb +5 -0
- data/lib/jets/stack.rb +88 -0
- data/lib/jets/stack/builder.rb +43 -0
- data/lib/jets/stack/definition.rb +50 -0
- data/lib/jets/stack/depends.rb +34 -0
- data/lib/jets/stack/depends/item.rb +9 -0
- data/lib/jets/stack/function.rb +69 -0
- data/lib/jets/stack/main.rb +4 -0
- data/lib/jets/stack/main/dsl.rb +28 -0
- data/lib/jets/stack/main/dsl/base.rb +49 -0
- data/lib/jets/stack/main/dsl/cloudwatch.rb +19 -0
- data/lib/jets/stack/main/dsl/iam.rb +8 -0
- data/lib/jets/stack/main/dsl/lambda.rb +83 -0
- data/lib/jets/stack/main/dsl/s3.rb +12 -0
- data/lib/jets/stack/main/dsl/sns.rb +16 -0
- data/lib/jets/stack/main/dsl/sqs.rb +10 -0
- data/lib/jets/stack/output.rb +35 -0
- data/lib/jets/stack/output/dsl.rb +19 -0
- data/lib/jets/stack/output/lookup.rb +36 -0
- data/lib/jets/stack/parameter.rb +37 -0
- data/lib/jets/stack/parameter/dsl.rb +42 -0
- data/lib/jets/stack/resource.rb +31 -0
- data/lib/jets/stack/resource/dsl.rb +19 -0
- data/lib/jets/stack/s3_event.rb +87 -0
- data/lib/jets/tmp_loader.rb +52 -0
- data/lib/jets/turbine.rb +41 -0
- data/lib/jets/turbo.rb +55 -0
- data/lib/jets/turbo/database_yaml.rb +41 -0
- data/lib/jets/turbo/project/.gitignore +12 -0
- data/lib/jets/turbo/project/.jetskeep +1 -0
- data/lib/jets/turbo/project/Gemfile +16 -0
- data/lib/jets/turbo/project/Rakefile +2 -0
- data/lib/jets/turbo/project/app/controllers/application_controller.rb +2 -0
- data/lib/jets/turbo/project/app/helpers/application_helper.rb +2 -0
- data/lib/jets/turbo/project/app/jobs/application_job.rb +4 -0
- data/lib/jets/turbo/project/config.ru +5 -0
- data/lib/jets/turbo/project/config/application.rb +4 -0
- data/lib/jets/turbo/project/config/routes.rb +4 -0
- data/lib/jets/turbo/rails.rb +127 -0
- data/lib/jets/turbo/templates/config/database.yml +26 -0
- data/lib/jets/util.rb +38 -0
- data/lib/jets/version.rb +3 -0
- data/readme/prerelease.md +6 -0
- data/readme/testing.md +60 -0
- metadata +1004 -0
data/CONDUCT.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
http://rubyonjets.com/docs/conduct/
|
data/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
http://rubyonjets.com/docs/contributing/
|
data/Dockerfile
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
FROM tongueroo/jets:base
|
|
2
|
+
MAINTAINER Tung Nguyen <tongueroo@gmail.com>
|
|
3
|
+
|
|
4
|
+
# Install bundle of gems first in a layer
|
|
5
|
+
# so if the Gemfile doesnt chagne it wont have to install gems again
|
|
6
|
+
WORKDIR /tmp
|
|
7
|
+
COPY Gemfile* /tmp/
|
|
8
|
+
RUN bundle install && rm -rf /root/.bundle/cache
|
|
9
|
+
|
|
10
|
+
# Add the Rails app
|
|
11
|
+
ENV HOME /root
|
|
12
|
+
WORKDIR /app
|
|
13
|
+
COPY . /app
|
|
14
|
+
RUN bundle install
|
|
15
|
+
|
|
16
|
+
CMD ["uptime"]
|
data/Dockerfile.base
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
FROM ruby:2.5.1
|
|
2
|
+
MAINTAINER Tung Nguyen <tongueroo@gmail.com>
|
|
3
|
+
|
|
4
|
+
RUN apt-get update && \
|
|
5
|
+
apt-get install -y net-tools netcat && \
|
|
6
|
+
rm -rf /var/lib/apt/lists/* && apt-get clean && apt-get purge
|
|
7
|
+
|
|
8
|
+
# Packages
|
|
9
|
+
# capybara-webkit: libqt4-dev libqtwebkit-dev
|
|
10
|
+
RUN apt-get update && \
|
|
11
|
+
apt-get install -y software-properties-common && \
|
|
12
|
+
add-apt-repository ppa:git-core/ppa -y && \
|
|
13
|
+
apt-get update && \
|
|
14
|
+
apt-get install -y \
|
|
15
|
+
build-essential \
|
|
16
|
+
libqt4-dev libqtwebkit-dev \
|
|
17
|
+
nodejs \
|
|
18
|
+
telnet \
|
|
19
|
+
curl \
|
|
20
|
+
vim \
|
|
21
|
+
htop \
|
|
22
|
+
mysql-client \
|
|
23
|
+
lsof && \
|
|
24
|
+
rm -rf /var/lib/apt/lists/* && apt-get clean && apt-get purge
|
|
25
|
+
|
|
26
|
+
# ssh key for bundle to access gems that are in private repos
|
|
27
|
+
# COPY config/ssh /root/.ssh
|
|
28
|
+
# RUN chmod 600 /root/.ssh/id_rsa-boltops-docker
|
|
29
|
+
|
|
30
|
+
# Install bundle of gems
|
|
31
|
+
RUN gem install bundler
|
|
32
|
+
WORKDIR /tmp
|
|
33
|
+
COPY lib/jets/version.rb /tmp/lib/jets/version.rb
|
|
34
|
+
COPY jets.gemspec /tmp/
|
|
35
|
+
COPY Gemfile* /tmp/
|
|
36
|
+
RUN bundle install --jobs=4 --retry=3 && rm -rf /root/.bundle/cache
|
|
37
|
+
|
|
38
|
+
# Do not try to precompile assets here because it could resurrect files
|
|
39
|
+
# This happened with config/initializers/rollbar.rb.
|
|
40
|
+
|
|
41
|
+
# Add development like customizations
|
|
42
|
+
# COPY config/home/irbrc /root/.irbrc
|
|
43
|
+
ENV TERM xterm
|
|
44
|
+
|
|
45
|
+
COPY .codebuild/scripts /tmp/scripts
|
|
46
|
+
RUN bash -eux /tmp/scripts/install-docker.sh
|
|
47
|
+
RUN bash -exu /tmp/scripts/install-java.sh
|
|
48
|
+
RUN bash -exu /tmp/scripts/install-dynamodb-local.sh
|
|
49
|
+
RUN bash -exu /tmp/scripts/install-node.sh
|
|
50
|
+
|
|
51
|
+
RUN apt-get install -y zip
|
|
52
|
+
|
|
53
|
+
CMD ["/bin/bash"]
|
data/Gemfile
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
source "https://rubygems.org"
|
|
2
|
+
|
|
3
|
+
# Specify your gem dependencies in jets.gemspec
|
|
4
|
+
gemspec
|
|
5
|
+
|
|
6
|
+
# required here for specs
|
|
7
|
+
# TODO: Only require webpacker in Gemfile of project if possible.
|
|
8
|
+
# Need both because of jets/application.rb and jets/webpacker/middleware_setup.rb
|
|
9
|
+
group :development, :test do
|
|
10
|
+
gem "mysql2", "~> 0.5.2"
|
|
11
|
+
gem "dynomite"
|
|
12
|
+
gem "webpacker", git: "https://github.com/tongueroo/webpacker.git", branch: "jets"
|
|
13
|
+
gem "rspec_junit_formatter"
|
|
14
|
+
end
|
data/Guardfile
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
guard "bundler", cmd: "bundle" do
|
|
2
|
+
watch("Gemfile")
|
|
3
|
+
watch(/^.+\.gemspec/)
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
guard :rspec, cmd: "bundle exec rspec" do
|
|
7
|
+
require "guard/rspec/dsl"
|
|
8
|
+
dsl = Guard::RSpec::Dsl.new(self)
|
|
9
|
+
|
|
10
|
+
# RSpec files
|
|
11
|
+
rspec = dsl.rspec
|
|
12
|
+
watch(rspec.spec_helper) { rspec.spec_dir }
|
|
13
|
+
watch(rspec.spec_support) { rspec.spec_dir }
|
|
14
|
+
watch(rspec.spec_files)
|
|
15
|
+
|
|
16
|
+
# Ruby files
|
|
17
|
+
ruby = dsl.ruby
|
|
18
|
+
puts "ruby.lib_files #{ruby.lib_files.inspect}"
|
|
19
|
+
dsl.watch_spec_files_for(ruby.lib_files)
|
|
20
|
+
|
|
21
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
|
22
|
+
end
|
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Copyright (c) 2019 Tung Nguyen
|
|
2
|
+
|
|
3
|
+
MIT License
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
a copy of this software and associated documentation files (the
|
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
+
the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be
|
|
14
|
+
included in all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Procfile
ADDED
data/README.md
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="http://rubyonjets.com"><img src="http://rubyonjets.com/img/logos/jets-logo.png" /></a>
|
|
3
|
+
</div>
|
|
4
|
+
|
|
5
|
+
Ruby and Lambda splat out a baby and that child's name is [Jets](http://rubyonjets.com/).
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
[](https://circleci.com/gh/tongueroo/jets)
|
|
9
|
+
[](https://badge.fury.io/rb/jets)
|
|
10
|
+
[](http://rubyonjets.com/support/)
|
|
11
|
+
|
|
12
|
+
**Upgrading**: If you are upgrading Jets, please check on the [Upgrading Notes](http://rubyonjets.com/docs/extras/upgrading/).
|
|
13
|
+
|
|
14
|
+
## What is Ruby on Jets?
|
|
15
|
+
|
|
16
|
+
Jets is a Ruby Serverless Framework. Jets allows you to create serverless applications with a beautiful language: Ruby. It includes everything required to build an application and deploy it to AWS Lambda.
|
|
17
|
+
|
|
18
|
+
It is key to understand AWS Lambda and API Gateway to understand Jets conceptually. Jets maps your code to Lambda functions and API Gateway resources.
|
|
19
|
+
|
|
20
|
+
* **AWS Lambda** is Functions as a Service. It allows you to upload and run functions without worrying about the underlying infrastructure.
|
|
21
|
+
* **API Gateway** is the routing layer for Lambda. It is used to route REST URL endpoints to Lambda functions.
|
|
22
|
+
|
|
23
|
+
The official documentation is at [Ruby on Jets](http://rubyonjets.com).
|
|
24
|
+
|
|
25
|
+
Refer to the official docs for more info, but here's a quick intro.
|
|
26
|
+
|
|
27
|
+
### Jets Functions
|
|
28
|
+
|
|
29
|
+
Jets supports writing AWS Lambda functions with Ruby. You define them in the `app/functions` folder. A function looks like this:
|
|
30
|
+
|
|
31
|
+
app/functions/simple.rb:
|
|
32
|
+
|
|
33
|
+
```ruby
|
|
34
|
+
def lambda_handler(event:, context:)
|
|
35
|
+
puts "hello world"
|
|
36
|
+
{hello: "world"}
|
|
37
|
+
end
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Here's the function in the Lambda console:
|
|
41
|
+
|
|
42
|
+

|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
Though simple functions are supported by Jets, they do not add much value as other ways to write Ruby code with Jets. Classes like [Controllers](http://rubyonjets.com/docs/controllers/) and [Jobs](http://rubyonjets.com/docs/jobs/) add many conveniences and are more powerful to use. We’ll cover them next.
|
|
46
|
+
|
|
47
|
+
### Jets Controllers
|
|
48
|
+
|
|
49
|
+
A Jets controller handles a web request and renders a response. Here's an example:
|
|
50
|
+
|
|
51
|
+
app/controllers/posts_controller.rb:
|
|
52
|
+
|
|
53
|
+
```ruby
|
|
54
|
+
class PostsController < ApplicationController
|
|
55
|
+
def index
|
|
56
|
+
# renders Lambda Proxy structure compatible with API Gateway
|
|
57
|
+
render json: {hello: "world", action: "index"}
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def show
|
|
61
|
+
id = params[:id] # params available
|
|
62
|
+
# puts goes to the lambda logs
|
|
63
|
+
puts event # raw lambda event available
|
|
64
|
+
render json: {action: "show", id: id}
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Helper methods like `params` provide the parameters from the API Gateway event. The `render` method renders a Lambda Proxy structure back that API Gateway understands.
|
|
70
|
+
|
|
71
|
+
Jets creates Lambda functions for each public method in your controller. Here they are in the Lambda console:
|
|
72
|
+
|
|
73
|
+

|
|
74
|
+
|
|
75
|
+
### Jets Routing
|
|
76
|
+
|
|
77
|
+
You connect Lambda functions to API Gateway URL endpoints with a routes file:
|
|
78
|
+
|
|
79
|
+
config/routes.rb:
|
|
80
|
+
|
|
81
|
+
```ruby
|
|
82
|
+
Jets.application.routes.draw do
|
|
83
|
+
get "posts", to: "posts#index"
|
|
84
|
+
get "posts/new", to: "posts#new"
|
|
85
|
+
get "posts/:id", to: "posts#show"
|
|
86
|
+
post "posts", to: "posts#create"
|
|
87
|
+
get "posts/:id/edit", to: "posts#edit"
|
|
88
|
+
put "posts", to: "posts#update"
|
|
89
|
+
delete "posts", to: "posts#delete"
|
|
90
|
+
|
|
91
|
+
resources :comments # expands to the RESTful routes above
|
|
92
|
+
|
|
93
|
+
any "posts/hot", to: "posts#hot" # GET, POST, PUT, etc request all work
|
|
94
|
+
end
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
The `routes.rb` gets translated to API Gateway resources:
|
|
98
|
+
|
|
99
|
+

|
|
100
|
+
|
|
101
|
+
Test your API Gateway endpoints with curl or postman. Note, replace the URL endpoint with the one that is created:
|
|
102
|
+
|
|
103
|
+
$ curl -s "https://quabepiu80.execute-api.us-east-1.amazonaws.com/dev/posts" | jq .
|
|
104
|
+
{
|
|
105
|
+
"hello": "world",
|
|
106
|
+
"action": "index"
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
### Jets Jobs
|
|
110
|
+
|
|
111
|
+
A Jets job handles asynchronous background jobs performed outside of the web request/response cycle. Here's an example:
|
|
112
|
+
|
|
113
|
+
app/jobs/hard_job.rb:
|
|
114
|
+
|
|
115
|
+
```ruby
|
|
116
|
+
class HardJob < ApplicationJob
|
|
117
|
+
rate "10 hours" # every 10 hours
|
|
118
|
+
def dig
|
|
119
|
+
puts "done digging"
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
cron "0 */12 * * ? *" # every 12 hours
|
|
123
|
+
def lift
|
|
124
|
+
puts "done lifting"
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
`HardJob#dig` runs every 10 hours and `HardJob#lift` runs every 12 hours. The `rate` and `cron` methods created CloudWatch Event Rules. Example:
|
|
130
|
+
|
|
131
|
+

|
|
132
|
+
|
|
133
|
+
### Jets Deployment
|
|
134
|
+
|
|
135
|
+
You can test your application with a local server that mimics API Gateway: [Jets Local Server](http://rubyonjets.com/docs/local-server/). Once ready, deploying to AWS Lambda is a single command.
|
|
136
|
+
|
|
137
|
+
jets deploy
|
|
138
|
+
|
|
139
|
+
After deployment, you can test the Lambda functions with the AWS Lambda console or the CLI.
|
|
140
|
+
|
|
141
|
+
### AWS Lambda Console
|
|
142
|
+
|
|
143
|
+

|
|
144
|
+
|
|
145
|
+
### Live Demos
|
|
146
|
+
|
|
147
|
+
Here are some demos of Jets applications:
|
|
148
|
+
|
|
149
|
+
* [Quintessential CRUD Jets app](https://demo.rubyonjets.com/)
|
|
150
|
+
* [API Demo](https://api.demo.rubyonjets.com/)
|
|
151
|
+
* [Jets Afterburner: Easy Rails Support](https://afterburner.demo.rubyonjets.com/)
|
|
152
|
+
* [Mega Mode: Jets and Rails Combined](https://mega.demo.rubyonjets.com/)
|
|
153
|
+
* [Image Upload with CarrierWave](https://upload.demo.rubyonjets.com/)
|
|
154
|
+
|
|
155
|
+
Please feel free to add your own example to the [jets-examples](https://github.com/tongueroo/jets-examples) repo.
|
|
156
|
+
|
|
157
|
+
### Rails Support
|
|
158
|
+
|
|
159
|
+
[Jets Afterburner Mode](http://rubyonjets.com/docs/rails-support/) provides Rails support with little effort. This allows you to run a Rails application on AWS Lambda. Also here's a Tutorial Blog Post: [Jets Afterburner: Rails Support](https://blog.boltops.com/2018/12/21/jets-afterburner-serverless-rails-on-aws-lambda-in-5-minutes).
|
|
160
|
+
|
|
161
|
+
### More Info
|
|
162
|
+
|
|
163
|
+
For more documentation, check out the official docs: [Ruby on Jets](http://rubyonjets.com/). Here's a list of useful links:
|
|
164
|
+
|
|
165
|
+
* [Quick Start](http://rubyonjets.com/quick-start/)
|
|
166
|
+
* [Local Jets Server](http://rubyonjets.com/docs/local-server/)
|
|
167
|
+
* [REPL Console](http://rubyonjets.com/docs/repl-console/)
|
|
168
|
+
* [Project Structure](http://rubyonjets.com/docs/structure/)
|
|
169
|
+
* [App Configuration](http://rubyonjets.com/docs/app-config/)
|
|
170
|
+
* [Database Support](http://rubyonjets.com/docs/database-support/)
|
|
171
|
+
* [Polymorphic Support](http://rubyonjets.com/docs/polymorphic-support/)
|
|
172
|
+
* [Rails Support](http://rubyonjets.com/docs/rails-support/)
|
|
173
|
+
* [Tutorials](http://rubyonjets.com/docs/tutorials/)
|
|
174
|
+
* [Prewarming](http://rubyonjets.com/docs/prewarming/)
|
|
175
|
+
* [Custom Resources](http://rubyonjets.com/docs/associated-resources/)
|
|
176
|
+
* [Shared Resources](http://rubyonjets.com/docs/shared-resources/)
|
|
177
|
+
* [Installation](http://rubyonjets.com/docs/install/)
|
|
178
|
+
* [CLI Reference](http://rubyonjets.com/reference/)
|
|
179
|
+
* [Contributing](http://rubyonjets.com/docs/contributing/)
|
|
180
|
+
* [Support Jets](http://rubyonjets.com/support-jets/)
|
|
181
|
+
* [Example Projects](https://github.com/tongueroo/jets-examples)
|
|
182
|
+
|
|
183
|
+
## Learning Content
|
|
184
|
+
|
|
185
|
+
* [Introducing Jets: A Ruby Serverless Framework](https://blog.boltops.com/2018/08/18/introducing-jets-a-ruby-serverless-framework)
|
|
186
|
+
* [Official AWS Ruby Support for Jets](https://blog.boltops.com/2018/12/12/official-aws-ruby-support-for-jets-serverless-framework)
|
|
187
|
+
* [Build an API with Jets](https://blog.boltops.com/2019/01/13/build-an-api-service-with-jets-ruby-serverless-framework)
|
|
188
|
+
* [Serverless Ruby Cron Jobs Tutorial: Route53 Backup](https://blog.boltops.com/2019/01/03/serverless-ruby-cron-jobs-with-jets-route53-backup)
|
|
189
|
+
* [Serverless Slack Commands: Fun with AWS Image Recognition](https://blog.boltops.com/2019/01/14/serverless-slack-commands-with-ruby)
|
|
190
|
+
* [Jets Afterburner: Rails Support](https://blog.boltops.com/2018/12/21/jets-afterburner-serverless-rails-on-aws-lambda-in-5-minutes)
|
|
191
|
+
* [Jets Mega Mode: Jets and Rails](https://blog.boltops.com/2018/11/03/jets-mega-mode-run-rails-on-aws-lambda)
|
|
192
|
+
* [Toronto Serverless Presentation](https://blog.boltops.com/2018/09/25/toronto-serverless-presentation-jets-framework-on-aws-lambda)
|
|
193
|
+
* [Jets Image Uploads Tutorial with CarrierWave](https://blog.boltops.com/2018/12/13/jets-image-upload-carrierwave-tutorial-binary-support)
|
|
194
|
+
* [Jets Tutorial An Introductory CRUD App Part 1](https://blog.boltops.com/2018/09/07/jets-tutorial-crud-app-introduction-part-1)
|
|
195
|
+
* [Jets Tutorial Deploy to AWS Lambda Part 2](https://blog.boltops.com/2018/09/08/jets-tutorial-deploy-to-aws-lambda-part-2)
|
|
196
|
+
* [Jets Tutorial Debugging Logs Part 3](https://blog.boltops.com/2018/09/09/jets-tutorial-debugging-logs-part-3)
|
|
197
|
+
* [Jets Tutorial Background Jobs Part 4](https://blog.boltops.com/2018/09/10/jets-tutorial-background-jobs-part-4)
|
|
198
|
+
* [Jets Tutorial IAM Policies Part 5](https://blog.boltops.com/2018/09/11/jets-tutorial-iam-policies-part-5)
|
|
199
|
+
* [Jets Tutorial Function Properties Part 6](https://blog.boltops.com/2018/09/12/jets-tutorial-function-properties-part-6)
|
|
200
|
+
* [Jets Tutorial Extra Environments Part 7](https://blog.boltops.com/2018/09/13/jets-tutorial-extra-environments-part-7)
|
|
201
|
+
* [Jets Tutorial Different Environments Part 8](https://blog.boltops.com/2018/09/26/jets-tutorial-different-environments-part-8)
|
|
202
|
+
* [Jets Tutorial Polymorphic Support Part 9](https://blog.boltops.com/2018/09/27/jets-tutorial-polymorphic-support-part-9)
|
|
203
|
+
* [Jets Delete Tutorial](https://blog.boltops.com/2018/11/12/jets-tutorial-jets-delete)
|
data/Rakefile
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require "bundler/setup"
|
|
2
|
+
Bundler.setup
|
|
3
|
+
require "bundler/gem_tasks"
|
|
4
|
+
require "rspec/core/rake_task"
|
|
5
|
+
|
|
6
|
+
task :default => :spec
|
|
7
|
+
|
|
8
|
+
RSpec::Core::RakeTask.new
|
|
9
|
+
|
|
10
|
+
require_relative "lib/jets"
|
|
11
|
+
desc "Generates cli reference docs as markdown"
|
|
12
|
+
task :docs do
|
|
13
|
+
Jets::Autoloaders.once.eager_load
|
|
14
|
+
Jets::Commands::Markdown::Creator.create_all
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Thanks: https://docs.ruby-lang.org/en/2.1.0/RDoc/Task.html
|
|
18
|
+
require 'rdoc/task'
|
|
19
|
+
require 'jets/rdoc'
|
|
20
|
+
|
|
21
|
+
RDoc::Task.new do |rdoc|
|
|
22
|
+
rdoc.options += Jets::Rdoc.options
|
|
23
|
+
end
|
|
24
|
+
|
data/backers.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<h1 align="center">Backers</h1>
|
|
2
|
+
|
|
3
|
+
[Jets](http://rubyonjets.com/) is an MIT-licensed open source project. It's an independent project with its ongoing development made possible entirely thanks to the support by these awesome [backers](https://github.com/tongueroo/jets/blob/master/backers.md). If you'd like to join them, please consider:
|
|
4
|
+
|
|
5
|
+
- [Become a backer or sponsor on Patreon](https://www.patreon.com/tongueroo).
|
|
6
|
+
|
|
7
|
+
Funds donated via Patreon go directly to support Tung Nguyen's full-time work on Jets.
|
|
8
|
+
|
|
9
|
+
<br><br>
|
|
10
|
+
|
|
11
|
+
<h2 align="center">Backers via Patreon</h2>
|
|
12
|
+
|
|
13
|
+
<!--10 start-->
|
|
14
|
+
- Erlend Finvåg
|
|
15
|
+
- Nate Clark
|
|
16
|
+
<!--10 end-->
|
data/bin/release
ADDED
data/buildspec.yml
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
version: 0.2
|
|
2
|
+
|
|
3
|
+
phases:
|
|
4
|
+
build:
|
|
5
|
+
commands:
|
|
6
|
+
- echo Build started on `date`
|
|
7
|
+
# sync vendor
|
|
8
|
+
- git submodule sync
|
|
9
|
+
- git submodule update --init
|
|
10
|
+
- /usr/local/bin/dynamodb-local &
|
|
11
|
+
- bundle install
|
|
12
|
+
- bundle exec rspec # unit tests
|
|
13
|
+
# uncomment integration test for now
|
|
14
|
+
# - bash -eux .codebuild/integration.sh # test with newman and postman
|
|
15
|
+
|
|
16
|
+
artifacts:
|
|
17
|
+
files:
|
|
18
|
+
- README.md
|
data/exe/jets_bb_fork
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# traps: INT - ^C
|
|
4
|
+
['INT', 'TERM', 'QUIT'].each do |signal|
|
|
5
|
+
trap(signal) do
|
|
6
|
+
puts "Detected stop signal"
|
|
7
|
+
sleep 0.2
|
|
8
|
+
exit
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
$:.unshift(File.expand_path("../../lib", __FILE__))
|
|
13
|
+
require "jets"
|
|
14
|
+
Jets::CLI.start
|
data/jets.gemspec
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require "jets/version"
|
|
5
|
+
require "jets/rdoc"
|
|
6
|
+
|
|
7
|
+
Gem::Specification.new do |spec|
|
|
8
|
+
spec.name = "jets_bb_fork"
|
|
9
|
+
spec.version = Jets::VERSION
|
|
10
|
+
spec.authors = ["BalutBomber"]
|
|
11
|
+
spec.email = ["balutbomber@gmail.com"]
|
|
12
|
+
spec.summary = "Fork of rubyonJets - emergency fix for handling AWS CF 60 Output limit. Will PR later"
|
|
13
|
+
spec.description = "Fork of rubyonJets - emergency fix for handling AWS CF 60 Output limit. Will PR later. If you want to use jets please see http://rubyonjets.com"
|
|
14
|
+
spec.homepage = "http://rubyonjets.com"
|
|
15
|
+
spec.license = "MIT"
|
|
16
|
+
|
|
17
|
+
spec.required_ruby_version = '~> 2.5'
|
|
18
|
+
spec.rdoc_options += Jets::Rdoc.options
|
|
19
|
+
|
|
20
|
+
vendor_files = Dir.glob("vendor/**/*")
|
|
21
|
+
gem_files = `git -C "#{File.dirname(__FILE__)}" ls-files -z`.split("\x0").reject do |f|
|
|
22
|
+
f.match(%r{^(test|spec|features|docs)/})
|
|
23
|
+
end
|
|
24
|
+
spec.files = gem_files + vendor_files
|
|
25
|
+
spec.bindir = "exe"
|
|
26
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
27
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
28
|
+
spec.require_paths = ["lib"]
|
|
29
|
+
|
|
30
|
+
spec.add_dependency "actionmailer", "~> 5.2.1"
|
|
31
|
+
spec.add_dependency "actionpack", "~> 5.2.1"
|
|
32
|
+
spec.add_dependency "actionview", "~> 5.2.1"
|
|
33
|
+
spec.add_dependency "activerecord", "~> 5.2.1"
|
|
34
|
+
spec.add_dependency "activesupport", "~> 5.2.1"
|
|
35
|
+
spec.add_dependency "aws-sdk-apigateway"
|
|
36
|
+
spec.add_dependency "aws-sdk-cloudformation"
|
|
37
|
+
spec.add_dependency "aws-sdk-cloudwatchlogs"
|
|
38
|
+
spec.add_dependency "aws-sdk-dynamodb"
|
|
39
|
+
spec.add_dependency "aws-sdk-kinesis"
|
|
40
|
+
spec.add_dependency "aws-sdk-lambda"
|
|
41
|
+
spec.add_dependency "aws-sdk-s3"
|
|
42
|
+
spec.add_dependency "aws-sdk-sns"
|
|
43
|
+
spec.add_dependency "aws-sdk-sqs"
|
|
44
|
+
spec.add_dependency "aws-sdk-ssm"
|
|
45
|
+
spec.add_dependency "cfnresponse"
|
|
46
|
+
spec.add_dependency "dotenv"
|
|
47
|
+
spec.add_dependency "gems" # jets-gems dependency
|
|
48
|
+
spec.add_dependency "hashie"
|
|
49
|
+
spec.add_dependency "jets-gems"
|
|
50
|
+
spec.add_dependency "jets-html-sanitizer"
|
|
51
|
+
spec.add_dependency "json"
|
|
52
|
+
spec.add_dependency "kramdown"
|
|
53
|
+
spec.add_dependency "memoist"
|
|
54
|
+
spec.add_dependency "mimemagic"
|
|
55
|
+
spec.add_dependency "rack"
|
|
56
|
+
spec.add_dependency "railties", "~> 5.2.1" # ActiveRecord database_tasks.rb require this
|
|
57
|
+
spec.add_dependency "rainbow"
|
|
58
|
+
spec.add_dependency "recursive-open-struct"
|
|
59
|
+
spec.add_dependency "shotgun"
|
|
60
|
+
spec.add_dependency "text-table"
|
|
61
|
+
spec.add_dependency "thor"
|
|
62
|
+
spec.add_dependency "zeitwerk"
|
|
63
|
+
|
|
64
|
+
spec.add_development_dependency "byebug"
|
|
65
|
+
spec.add_development_dependency "bundler"
|
|
66
|
+
spec.add_development_dependency "rake"
|
|
67
|
+
spec.add_development_dependency "rspec"
|
|
68
|
+
end
|