jets 4.0.17 → 5.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/.gitignore +5 -1
- data/CHANGELOG.md +52 -23
- data/Gemfile +1 -5
- data/LICENSE.txt +1 -1
- data/Rakefile +3 -3
- data/engines/internal/app/controllers/jets/application_controller.rb +28 -0
- data/engines/internal/app/controllers/jets/bare_controller.rb +6 -0
- data/engines/internal/app/controllers/jets/health_controller.rb +55 -0
- data/engines/internal/app/controllers/jets/info_controller.rb +45 -0
- data/{lib/jets → engines}/internal/app/controllers/jets/mailers_controller.rb +12 -14
- data/{lib/jets → engines}/internal/app/controllers/jets/mount_controller.rb +6 -10
- data/{lib/jets → engines}/internal/app/controllers/jets/public_controller.rb +6 -2
- data/engines/internal/app/controllers/jets/welcome_controller.rb +9 -0
- data/{lib/jets → engines}/internal/app/functions/jets/base_path.rb +2 -1
- data/{lib/jets → engines}/internal/app/functions/jets/base_path_mapping.rb +26 -6
- data/engines/internal/app/jobs/jets/preheat_job.rb +67 -0
- data/engines/internal/app/views/jets/info/properties.html.erb +1 -0
- data/engines/internal/app/views/jets/info/routes.html.erb +10 -0
- data/{lib/jets → engines}/internal/app/views/jets/mailers/email.html.erb +37 -17
- data/engines/internal/app/views/jets/mailers/index.html.erb +8 -0
- data/engines/internal/app/views/jets/mailers/mailer.html.erb +6 -0
- data/{lib/jets/commands/templates/skeleton/public/index.html.tt → engines/internal/app/views/jets/welcome/index.html.erb} +8 -4
- data/engines/internal/app/views/layouts/application.html.erb +51 -0
- data/engines/internal/lib/internal/actiondispatch.rb +39 -0
- data/engines/internal/lib/internal/actionmailer.rb +51 -0
- data/engines/internal/lib/internal/actionview.rb +152 -0
- data/engines/internal/lib/internal/activerecord.rb +37 -0
- data/engines/internal/lib/internal/activesupport.rb +47 -0
- data/engines/internal/lib/internal/engine.rb +13 -0
- data/engines/internal/lib/internal/i18n_engine.rb +19 -0
- data/engines/internal/lib/internal/jets_controller.rb +46 -0
- data/engines/internal/lib/internal/overrides/debug_exceptions.rb +40 -0
- data/engines/internal/lib/internal/templates/rescues/_trace.html.erb +62 -0
- data/engines/internal/lib/internal/templates/rescues/_trace.text.erb +9 -0
- data/engines/internal/lib/internal/turbines/asset_tag_helper.rb +70 -0
- data/engines/internal/lib/internal/turbines/helpers.rb +18 -0
- data/engines/internal/lib/internal/turbines/routes_helpers.rb +42 -0
- data/exe/jets +1 -10
- data/jets.gemspec +29 -27
- data/lib/jets/app_loader.rb +77 -0
- data/lib/jets/application/bootstrap.rb +100 -0
- data/lib/jets/application/configuration/defaults.rb +256 -0
- data/lib/jets/application/configuration.rb +494 -0
- data/lib/jets/application/default_middleware_stack.rb +140 -0
- data/lib/jets/application/dummy_erb_compiler.rb +18 -0
- data/lib/jets/application/finisher.rb +266 -0
- data/lib/jets/application/routes_reloader.rb +80 -0
- data/lib/jets/application.rb +515 -198
- data/lib/jets/authorizer/base.rb +1 -0
- data/lib/jets/authorizer/dsl.rb +15 -11
- data/lib/jets/authorizer/helpers/iam_helper.rb +13 -11
- data/lib/jets/autoloaders/gem.rb +70 -0
- data/lib/jets/autoloaders/inflector.rb +21 -0
- data/lib/jets/autoloaders.rb +38 -101
- data/lib/jets/aws_services/stack_status.rb +1 -1
- data/lib/jets/backtrace_cleaner.rb +27 -0
- data/lib/jets/booter.rb +29 -176
- data/lib/jets/builders/code_builder.rb +45 -117
- data/lib/jets/builders/code_size.rb +1 -0
- data/lib/jets/builders/gem_replacer.rb +5 -6
- data/lib/jets/builders/handler_generator.rb +34 -14
- data/lib/jets/builders/lambda_layer.rb +2 -7
- data/lib/jets/builders/purger.rb +1 -1
- data/lib/jets/builders/rack_packager.rb +1 -1
- data/lib/jets/builders/ruby_packager.rb +32 -21
- data/lib/jets/builders/shim_vars/app.rb +10 -6
- data/lib/jets/builders/templates/handlers/one_lambda_for_all_controllers.rb +33 -0
- data/lib/jets/builders/templates/handlers/one_lambda_per_controller.rb +20 -0
- data/lib/jets/builders/templates/{handler.rb → handlers/one_lambda_per_method.rb} +6 -0
- data/lib/jets/bundle.rb +2 -9
- data/lib/jets/cfn/base.rb +82 -0
- data/lib/jets/cfn/builder/api/base.rb +12 -0
- data/lib/jets/cfn/{builders/api_deployment_builder.rb → builder/api/deployment.rb} +10 -20
- data/lib/jets/cfn/{builders/api_gateway_builder.rb → builder/api/gateway.rb} +14 -37
- data/lib/jets/cfn/builder/api/mapping.rb +54 -0
- data/lib/jets/cfn/builder/api/methods.rb +72 -0
- data/lib/jets/cfn/builder/api/paged.rb +30 -0
- data/lib/jets/cfn/builder/api/pages/base.rb +105 -0
- data/lib/jets/cfn/builder/api/pages/methods.rb +17 -0
- data/lib/jets/cfn/builder/api/pages/page.rb +19 -0
- data/lib/jets/cfn/builder/api/pages/resources.rb +21 -0
- data/lib/jets/cfn/builder/api/resources.rb +40 -0
- data/lib/jets/cfn/{builders/authorizer_builder.rb → builder/authorizer.rb} +16 -19
- data/lib/jets/cfn/builder/controller.rb +28 -0
- data/lib/jets/cfn/builder/function.rb +9 -0
- data/lib/jets/cfn/{builders → builder}/interface.rb +45 -51
- data/lib/jets/cfn/builder/job.rb +10 -0
- data/lib/jets/cfn/builder/nested.rb +130 -0
- data/lib/jets/cfn/builder/one_controller.rb +53 -0
- data/lib/jets/cfn/{builders/parent_builder → builder/parent}/stagger.rb +1 -1
- data/lib/jets/cfn/{builders/parent_builder.rb → builder/parent.rb} +54 -54
- data/lib/jets/cfn/builder/post_process.rb +25 -0
- data/lib/jets/cfn/{builders/rule_builder.rb → builder/rule.rb} +4 -8
- data/lib/jets/cfn/{builders/shared_builder.rb → builder/shared.rb} +4 -3
- data/lib/jets/cfn/{builders → builder}/util/source.rb +1 -1
- data/lib/jets/{commands/build.rb → cfn/builder.rb} +50 -78
- data/lib/jets/cfn/deployment.rb +45 -0
- data/lib/jets/cfn/download.rb +39 -0
- data/lib/jets/cfn/params/api/base.rb +39 -0
- data/lib/jets/cfn/params/api/cors.rb +10 -0
- data/lib/jets/cfn/params/api/methods.rb +69 -0
- data/lib/jets/cfn/params/api/resources.rb +28 -0
- data/lib/jets/{resource/child_stack/common_parameters.rb → cfn/params/common.rb} +3 -3
- data/lib/jets/{resource → cfn/resource}/api_gateway/authorizer.rb +21 -21
- data/lib/jets/cfn/resource/api_gateway/base_path/function.rb +57 -0
- data/lib/jets/{resource → cfn/resource}/api_gateway/base_path/mapping.rb +13 -12
- data/lib/jets/cfn/resource/api_gateway/base_path/role.rb +70 -0
- data/lib/jets/{resource → cfn/resource}/api_gateway/deployment.rb +13 -20
- data/lib/jets/{resource → cfn/resource}/api_gateway/domain_name.rb +11 -11
- data/lib/jets/{resource → cfn/resource}/api_gateway/method/authorization.rb +1 -1
- data/lib/jets/cfn/resource/api_gateway/method.rb +92 -0
- data/lib/jets/{resource → cfn/resource}/api_gateway/resource.rb +14 -10
- data/lib/jets/cfn/resource/api_gateway/resource_id.rb +25 -0
- data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/change_detection.rb +1 -1
- data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/logical_id/message.rb +1 -1
- data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/logical_id.rb +1 -1
- data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/change/base.rb +4 -3
- data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/change/media_types.rb +2 -2
- data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/change/page.rb +5 -5
- data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/change/to.rb +8 -3
- data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/change/variable.rb +2 -2
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change.rb +21 -0
- data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/collision/variable_exception.rb +1 -1
- data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/collision.rb +1 -1
- data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes.rb +1 -1
- data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api.rb +12 -12
- data/lib/jets/{resource → cfn/resource}/associated.rb +1 -1
- data/lib/jets/{resource → cfn/resource}/config/config_rule.rb +18 -18
- data/lib/jets/{resource → cfn/resource}/config/managed_rule.rb +5 -5
- data/lib/jets/{resource → cfn/resource}/events/rule.rb +10 -10
- data/lib/jets/{resource → cfn/resource}/iam/application_role.rb +4 -4
- data/lib/jets/{resource → cfn/resource}/iam/base_role_definition.rb +15 -15
- data/lib/jets/{resource → cfn/resource}/iam/class_role.rb +5 -5
- data/lib/jets/{resource → cfn/resource}/iam/function_role.rb +6 -6
- data/lib/jets/{resource → cfn/resource}/iam/managed_policy.rb +1 -1
- data/lib/jets/{resource → cfn/resource}/iam/policy.rb +8 -8
- data/lib/jets/{resource → cfn/resource}/iam/policy_document.rb +10 -9
- data/lib/jets/{resource → cfn/resource}/iot/topic_rule.rb +10 -10
- data/lib/jets/{resource → cfn/resource}/lambda/event_source_mapping.rb +9 -9
- data/lib/jets/cfn/resource/lambda/function/controller.rb +21 -0
- data/lib/jets/{resource → cfn/resource}/lambda/function/environment.rb +4 -5
- data/lib/jets/cfn/resource/lambda/function.rb +266 -0
- data/lib/jets/{resource → cfn/resource}/lambda/gem_layer.rb +2 -2
- data/lib/jets/{resource → cfn/resource}/lambda/layer_version.rb +10 -10
- data/lib/jets/cfn/resource/lambda/permission.rb +51 -0
- data/lib/jets/cfn/resource/logs/subscription_filter.rb +31 -0
- data/lib/jets/cfn/resource/nested/api/base.rb +4 -0
- data/lib/jets/cfn/resource/nested/api/deployment.rb +53 -0
- data/lib/jets/cfn/resource/nested/api/gateway.rb +15 -0
- data/lib/jets/cfn/resource/nested/api/mapping.rb +33 -0
- data/lib/jets/cfn/resource/nested/api/methods.rb +30 -0
- data/lib/jets/cfn/resource/nested/api/page.rb +8 -0
- data/lib/jets/cfn/resource/nested/api/resources.rb +22 -0
- data/lib/jets/{resource/child_stack → cfn/resource/nested}/app_class.rb +15 -48
- data/lib/jets/{resource/child_stack → cfn/resource/nested}/authorizer.rb +8 -14
- data/lib/jets/cfn/resource/nested/base.rb +38 -0
- data/lib/jets/cfn/resource/nested/one_controller.rb +48 -0
- data/lib/jets/{resource/child_stack → cfn/resource/nested}/shared.rb +10 -16
- data/lib/jets/cfn/resource/one/function.rb +66 -0
- data/lib/jets/cfn/resource/one/permission.rb +17 -0
- data/lib/jets/{resource → cfn/resource}/replacer.rb +26 -27
- data/lib/jets/{resource → cfn/resource}/route53/record_set.rb +18 -18
- data/lib/jets/{resource → cfn/resource}/s3/bucket.rb +4 -4
- data/lib/jets/cfn/resource/s3/jets_bucket.rb +68 -0
- data/lib/jets/{resource → cfn/resource}/sns/subscription.rb +8 -8
- data/lib/jets/{resource → cfn/resource}/sns/topic.rb +10 -10
- data/lib/jets/{resource → cfn/resource}/sns/topic_policy.rb +13 -13
- data/lib/jets/{resource → cfn/resource}/sqs/queue.rb +5 -5
- data/lib/jets/{resource → cfn/resource}/standardizer.rb +8 -9
- data/lib/jets/cfn/resource.rb +8 -0
- data/lib/jets/cfn/ship.rb +20 -19
- data/lib/jets/cfn/template.rb +89 -0
- data/lib/jets/cfn/upload.rb +40 -37
- data/lib/jets/cli.rb +28 -210
- data/lib/jets/command/actions.rb +49 -0
- data/lib/jets/command/api_helpers.rb +41 -0
- data/lib/jets/command/aws_helpers.rb +26 -0
- data/lib/jets/command/base.rb +204 -0
- data/lib/jets/command/behavior.rb +83 -0
- data/lib/jets/command/environment_argument.rb +42 -0
- data/lib/jets/command/help/call.md +48 -0
- data/lib/jets/{commands → command}/help/deploy.md +1 -1
- data/lib/jets/command/help/logs.md +21 -0
- data/lib/jets/{commands → command}/help/new.md +3 -4
- data/lib/jets/command/help/projects.md +6 -0
- data/lib/jets/command/help/releases.md +37 -0
- data/lib/jets/command/help/rollback.md +5 -0
- data/lib/jets/command/help/routes.md +15 -0
- data/lib/jets/command/help/stacks.md +6 -0
- data/lib/jets/command/help.rb +17 -0
- data/lib/jets/command/helpers/editor.rb +35 -0
- data/lib/jets/command.rb +133 -0
- data/lib/jets/commands/application/application_command.rb +40 -0
- data/lib/jets/commands/build/build_command.rb +33 -0
- data/lib/jets/commands/call/anonymous_guesser.rb +1 -1
- data/lib/jets/commands/call/autoload_guesser.rb +2 -2
- data/lib/jets/commands/call/base_guesser.rb +4 -4
- data/lib/jets/commands/call/call_command.rb +27 -0
- data/lib/jets/commands/call/caller.rb +184 -0
- data/lib/jets/commands/call/guesser.rb +1 -1
- data/lib/jets/commands/clean/base.rb +1 -1
- data/lib/jets/commands/clean/build.rb +1 -1
- data/lib/jets/commands/clean/clean_command.rb +15 -0
- data/lib/jets/commands/clean/log.rb +1 -1
- data/lib/jets/commands/configure/configure_command.rb +9 -0
- data/lib/jets/commands/console/console_command.rb +38 -0
- data/lib/jets/commands/credentials/USAGE +103 -0
- data/lib/jets/commands/credentials/credentials_command/diffing.rb +51 -0
- data/lib/jets/commands/credentials/credentials_command.rb +139 -0
- data/lib/jets/commands/db/system/change/change_command.rb +24 -0
- data/lib/jets/commands/dbconsole/dbconsole_command.rb +184 -0
- data/lib/jets/commands/degenerate/degenerate_command.rb +21 -0
- data/lib/jets/commands/delete/delete_command.rb +155 -0
- data/lib/jets/commands/{deploy.rb → deploy/deploy_command.rb} +28 -47
- data/lib/jets/commands/dev/dev_command.rb +19 -0
- data/lib/jets/commands/{dotenv.rb → dotenv/dotenv_command.rb} +2 -2
- data/lib/jets/commands/encrypted/USAGE +46 -0
- data/lib/jets/commands/encrypted/encrypted_command.rb +87 -0
- data/lib/jets/commands/gems/gems_command.rb +14 -0
- data/lib/jets/commands/generate/generate_command.rb +95 -0
- data/lib/jets/commands/help/USAGE +20 -0
- data/lib/jets/commands/help/help_command.rb +15 -0
- data/lib/jets/commands/initializers/initializers_command.rb +19 -0
- data/lib/jets/commands/logs/logs_command.rb +45 -0
- data/lib/jets/commands/new/new_command.rb +19 -0
- data/lib/jets/commands/notes/notes_command.rb +30 -0
- data/lib/jets/commands/plugin/plugin_command.rb +45 -0
- data/lib/jets/commands/projects/projects_command.rb +30 -0
- data/lib/jets/commands/rake/rake_command.rb +59 -0
- data/lib/jets/commands/releases/releases_command.rb +72 -0
- data/lib/jets/commands/rollback/rollback_command.rb +41 -0
- data/lib/jets/commands/routes/routes_command.rb +19 -0
- data/lib/jets/commands/runner/runner_command.rb +60 -0
- data/lib/jets/commands/server/server_command.rb +291 -0
- data/lib/jets/commands/stacks/stacks_command.rb +39 -0
- data/lib/jets/commands/status/status_command.rb +9 -0
- data/lib/jets/commands/{url.rb → url/url_command.rb} +37 -14
- data/lib/jets/commands/version/version_command.rb +11 -0
- data/lib/jets/commands.rb +17 -0
- data/lib/jets/configuration.rb +166 -0
- data/lib/jets/controller/base.rb +105 -183
- data/lib/jets/controller/compat/abstract_controller/base.rb +126 -0
- data/lib/jets/controller/compat/action_controller/metal.rb +99 -0
- data/lib/jets/controller/compat/caching.rb +13 -0
- data/lib/jets/controller/compat/future.rb +13 -0
- data/lib/jets/controller/compat/route_set.rb +47 -0
- data/lib/jets/controller/decorate/apigw_stage.rb +39 -0
- data/lib/jets/controller/{authorization.rb → decorate/authorization.rb} +1 -1
- data/lib/jets/controller/decorate/logging.rb +90 -0
- data/lib/jets/controller/decorate/redirecting.rb +16 -0
- data/lib/jets/controller/decorate/url_for.rb +10 -0
- data/lib/jets/controller/{rack/adapter.rb → handler/apigw.rb} +36 -37
- data/lib/jets/controller/handler.rb +41 -0
- data/lib/jets/controller/middleware/main.rb +16 -8
- data/lib/jets/controller/middleware/{local/api_gateway.rb → mimic/apigw.rb} +40 -15
- data/lib/jets/controller/middleware/mimic/lambda_context.rb +44 -0
- data/lib/jets/controller/middleware/{local.rb → mimic.rb} +36 -51
- data/lib/jets/controller/rack_adapter/action.rb +35 -0
- data/lib/jets/controller/{rack → rack_adapter}/env.rb +39 -24
- data/lib/jets/controller/request/compat/params.rb +144 -0
- data/lib/jets/controller/request/compat/request.rb +125 -0
- data/lib/jets/controller/request.rb +35 -18
- data/lib/jets/controller/response/compat/response.rb +67 -0
- data/lib/jets/controller/response.rb +91 -8
- data/lib/jets/core.rb +136 -51
- data/lib/jets/core_ext/kernel.rb +2 -2
- data/lib/jets/core_ext/symbol.rb +5 -0
- data/lib/jets/core_ext.rb +4 -0
- data/lib/jets/dev_caching.rb +44 -0
- data/lib/jets/dotenv/ssm.rb +2 -2
- data/lib/jets/dotenv.rb +2 -1
- data/lib/jets/engine/configuration.rb +96 -0
- data/lib/jets/engine/turbines.rb +23 -0
- data/lib/jets/engine.rb +380 -0
- data/lib/jets/exception_reporting.rb +43 -0
- data/lib/jets/generators/job/job_generator.rb +41 -0
- data/lib/jets/generators/job/templates/event_types/dynamodb.rb.tt +8 -0
- data/lib/jets/generators/job/templates/event_types/iot.rb.tt +8 -0
- data/lib/jets/generators/job/templates/event_types/kinesis.rb.tt +9 -0
- data/lib/jets/generators/job/templates/event_types/log.rb.tt +9 -0
- data/lib/jets/generators/job/templates/event_types/rule.rb.tt +23 -0
- data/lib/jets/generators/job/templates/event_types/s3.rb.tt +11 -0
- data/lib/jets/{generator/templates/active_job/job/templates/job.rb.tt → generators/job/templates/event_types/scheduled.rb.tt} +3 -3
- data/lib/jets/generators/job/templates/event_types/sns.rb.tt +9 -0
- data/lib/jets/generators/job/templates/event_types/sqs.rb.tt +9 -0
- data/lib/jets/generators/overrides/app/USAGE +38 -0
- data/lib/jets/generators/overrides/app/app_generator.rb +148 -0
- data/lib/jets/generators/overrides/app/helpers.rb +143 -0
- data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/.gitignore +2 -1
- data/lib/jets/generators/overrides/app/templates/Gemfile.tt +25 -0
- data/lib/jets/generators/overrides/app/templates/Rakefile +2 -0
- data/lib/jets/generators/overrides/app/templates/app/assets/config/manifest.js +3 -0
- data/lib/jets/generators/overrides/app/templates/app/assets/stylesheets/application.css +15 -0
- data/lib/jets/generators/overrides/app/templates/app/javascript/application.js +5 -0
- data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/app/models/application_record.rb +1 -1
- data/lib/jets/generators/overrides/app/templates/app/views/layouts/application.html.erb.tt +30 -0
- data/lib/jets/generators/overrides/app/templates/bin/jets +3 -0
- data/lib/jets/generators/overrides/app/templates/config/application.rb.tt +15 -0
- data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/config/database.yml.tt +1 -1
- data/lib/jets/generators/overrides/app/templates/config/environments/development.rb.tt +29 -0
- data/lib/jets/generators/overrides/app/templates/config/environments/production.rb.tt +19 -0
- data/lib/jets/generators/overrides/app/templates/config/environments/test.rb.tt +23 -0
- data/lib/jets/generators/overrides/app/templates/config/initializers/content_security_policy.rb +31 -0
- data/lib/jets/generators/overrides/app/templates/config/initializers/filter_parameter_logging.rb +8 -0
- data/lib/jets/generators/overrides/app/templates/config/initializers/permissions_policy.rb +11 -0
- data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/config/routes.rb +5 -1
- data/lib/jets/generators/overrides/app/templates/db/.gitkeep +0 -0
- data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/public/404.html +6 -6
- data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/public/422.html +6 -6
- data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/public/500.html +6 -6
- data/lib/jets/generators/overrides/templates/erb/scaffold/index.html.erb +22 -0
- data/lib/jets/generators/overrides/templates/erb/scaffold/partial.html.erb +8 -0
- data/lib/jets/{generator/templates/rails/scaffold_controller/api_controller.rb → generators/overrides/templates/rails/scaffold_controller/api_controller.rb.tt} +5 -9
- data/lib/jets/generators/overrides/templates/rails/scaffold_controller/controller.rb.tt +67 -0
- data/lib/jets/generators.rb +112 -0
- data/lib/jets/info.rb +116 -0
- data/lib/jets/initializable.rb +95 -0
- data/lib/jets/job/base.rb +3 -2
- data/lib/jets/job/dsl/dynamodb_event.rb +19 -9
- data/lib/jets/job/dsl/event_source_mapping.rb +1 -1
- data/lib/jets/job/dsl/iot_event.rb +6 -6
- data/lib/jets/job/dsl/kinesis_event.rb +5 -5
- data/lib/jets/job/dsl/log_event.rb +2 -2
- data/lib/jets/job/dsl/rule_event.rb +7 -4
- data/lib/jets/job/dsl/s3_event.rb +1 -1
- data/lib/jets/job/dsl/sns_event.rb +6 -6
- data/lib/jets/job/dsl/sqs_event.rb +11 -11
- data/lib/jets/klass.rb +5 -6
- data/lib/jets/lambda/definition.rb +118 -0
- data/lib/jets/lambda/dsl/warnings.rb +57 -0
- data/lib/jets/lambda/dsl.rb +64 -53
- data/lib/jets/lambda/function.rb +3 -3
- data/lib/jets/lambda/function_constructor.rb +6 -6
- data/lib/jets/lambda/functions.rb +36 -1
- data/lib/jets/mega/request/source.rb +1 -2
- data/lib/jets/mega/request.rb +4 -4
- data/lib/jets/names.rb +31 -15
- data/lib/jets/overrides/dummy/rails.rb +11 -0
- data/lib/jets/overrides/lambda/marshaller.rb +10 -0
- data/lib/jets/overrides/puma.rb +10 -0
- data/lib/jets/paths.rb +243 -0
- data/lib/jets/{poly_fun → poly}/base_executor.rb +13 -13
- data/lib/jets/{poly_fun → poly}/lambda_executor.rb +2 -2
- data/lib/jets/{poly_fun → poly}/node_error.rb +1 -1
- data/lib/jets/{poly_fun → poly}/node_executor.rb +4 -4
- data/lib/jets/{poly_fun → poly}/python_error.rb +1 -1
- data/lib/jets/{poly_fun → poly}/python_executor.rb +2 -2
- data/lib/jets/{poly_fun.rb → poly.rb} +12 -12
- data/lib/jets/preheat.rb +12 -25
- data/lib/jets/processors/deducer.rb +2 -2
- data/lib/jets/processors/main_processor.rb +6 -13
- data/lib/jets/rack/logger.rb +77 -0
- data/lib/jets/router/compat/route_set.rb +177 -0
- data/lib/jets/router/dsl/mount.rb +40 -6
- data/lib/jets/router/dsl.rb +125 -105
- data/lib/jets/router/engine_mount.rb +36 -0
- data/lib/jets/router/help.rb +130 -0
- data/lib/jets/router/helpers/named_routes/add_full_url.rb +13 -0
- data/lib/jets/router/helpers/named_routes/generated.rb +197 -0
- data/lib/jets/router/helpers/named_routes/proxy.rb +66 -0
- data/lib/jets/router/matcher.rb +135 -16
- data/lib/jets/router/resources/options.rb +6 -4
- data/lib/jets/router/route/after_initialize.rb +64 -0
- data/lib/jets/router/route/as.rb +93 -0
- data/lib/jets/router/route/authorizer.rb +1 -0
- data/lib/jets/router/route/compat.rb +45 -0
- data/lib/jets/router/route/info.rb +74 -0
- data/lib/jets/router/route/node.rb +137 -0
- data/lib/jets/router/route/path.rb +93 -0
- data/lib/jets/router/route.rb +109 -106
- data/lib/jets/router/route_set.rb +214 -0
- data/lib/jets/router/scope.rb +204 -69
- data/lib/jets/router/state.rb +36 -16
- data/lib/jets/router/util.rb +1 -31
- data/lib/jets/router.rb +64 -162
- data/lib/jets/ruby_version_check.rb +15 -0
- data/lib/jets/rule/base.rb +1 -0
- data/lib/jets/rule/dsl.rb +7 -7
- data/lib/jets/secrets.rb +110 -0
- data/lib/jets/spec_helpers/controllers/request.rb +22 -16
- data/lib/jets/spec_helpers/controllers.rb +32 -24
- data/lib/jets/spec_helpers.rb +0 -6
- data/lib/jets/stack/builder.rb +3 -2
- data/lib/jets/stack/definition.rb +1 -4
- data/lib/jets/stack/function.rb +2 -2
- data/lib/jets/stack/main/dsl/cloudwatch.rb +4 -4
- data/lib/jets/stack/main/dsl/kinesis.rb +2 -2
- data/lib/jets/stack/main/dsl/lambda.rb +26 -20
- data/lib/jets/stack/main/dsl/sqs.rb +2 -2
- data/lib/jets/stack/output/lookup.rb +1 -1
- data/lib/jets/stack/output.rb +2 -2
- data/lib/jets/stack/parameter.rb +2 -2
- data/lib/jets/stack/resource.rb +3 -3
- data/lib/jets/stack/s3_event.rb +51 -37
- data/lib/jets/stack.rb +1 -1
- data/lib/jets/tasks/engine.rake +85 -0
- data/lib/jets/tasks/framework.rake +66 -0
- data/lib/jets/tasks/log.rake +41 -0
- data/lib/jets/tasks/middleware.rake +9 -0
- data/lib/jets/tasks/misc.rake +81 -0
- data/lib/jets/tasks/statistics.rake +37 -0
- data/lib/jets/tasks/tmp.rake +51 -0
- data/lib/jets/tasks/yarn.rake +29 -0
- data/lib/jets/tasks/zeitwerk.rake +61 -0
- data/lib/jets/tasks.rb +18 -0
- data/lib/jets/turbine/configurable.rb +36 -0
- data/lib/jets/turbine/configuration.rb +101 -0
- data/lib/jets/turbine.rb +164 -20
- data/lib/jets/util/camelize.rb +24 -0
- data/lib/jets/version.rb +1 -1
- data/lib/jets.rb +7 -16
- metadata +410 -362
- data/bin/release +0 -9
- data/lib/jets/application/defaults.rb +0 -230
- data/lib/jets/builders/reconfigure_rails/config/initializers/jets.rb +0 -16
- data/lib/jets/builders/reconfigure_rails.rb +0 -114
- data/lib/jets/cfn/builders/api_resources_builder.rb +0 -44
- data/lib/jets/cfn/builders/base_child_builder.rb +0 -88
- data/lib/jets/cfn/builders/controller_builder.rb +0 -50
- data/lib/jets/cfn/builders/function_builder.rb +0 -14
- data/lib/jets/cfn/builders/job_builder.rb +0 -14
- data/lib/jets/cfn/builders/page_builder.rb +0 -80
- data/lib/jets/cfn/built_template.rb +0 -15
- data/lib/jets/cfn/template_source.rb +0 -64
- data/lib/jets/commands/base.rb +0 -145
- data/lib/jets/commands/call.rb +0 -185
- data/lib/jets/commands/clean.rb +0 -19
- data/lib/jets/commands/configure.rb +0 -51
- data/lib/jets/commands/console.rb +0 -18
- data/lib/jets/commands/db/environment-task.rake +0 -3
- data/lib/jets/commands/db/tasks/dummy/app.rb +0 -25
- data/lib/jets/commands/db/tasks/dummy/config.rb +0 -14
- data/lib/jets/commands/db/tasks.rb +0 -34
- data/lib/jets/commands/db.rb +0 -13
- data/lib/jets/commands/dbconsole.rb +0 -134
- data/lib/jets/commands/delete.rb +0 -136
- data/lib/jets/commands/dynamodb/migrate.rb +0 -9
- data/lib/jets/commands/dynamodb/migrator.rb +0 -36
- data/lib/jets/commands/dynamodb.rb +0 -19
- data/lib/jets/commands/gems.rb +0 -13
- data/lib/jets/commands/help/call.md +0 -69
- data/lib/jets/commands/help/dynamodb/generate.md +0 -52
- data/lib/jets/commands/help/dynamodb/migrate.md +0 -4
- data/lib/jets/commands/help/routes.md +0 -16
- data/lib/jets/commands/help.rb +0 -9
- data/lib/jets/commands/import/base.rb +0 -49
- data/lib/jets/commands/import/cheatsheet.rb +0 -35
- data/lib/jets/commands/import/rack.rb +0 -16
- data/lib/jets/commands/import/rails.rb +0 -74
- data/lib/jets/commands/import/sequence.rb +0 -90
- data/lib/jets/commands/import/templates/config/database.yml +0 -30
- data/lib/jets/commands/import/templates/submodules-cheatsheet.md +0 -89
- data/lib/jets/commands/import.rb +0 -12
- data/lib/jets/commands/main.rb +0 -169
- data/lib/jets/commands/markdown/creator.rb +0 -58
- data/lib/jets/commands/markdown/index.rb +0 -27
- data/lib/jets/commands/markdown/page.rb +0 -125
- data/lib/jets/commands/markdown/shell.rb +0 -11
- data/lib/jets/commands/new.rb +0 -173
- data/lib/jets/commands/rake_command.rb +0 -61
- data/lib/jets/commands/rake_tasks.rb +0 -50
- data/lib/jets/commands/runner.rb +0 -16
- data/lib/jets/commands/sequence.rb +0 -104
- data/lib/jets/commands/stack_info.rb +0 -30
- data/lib/jets/commands/templates/skeleton/.env.development.tt +0 -3
- data/lib/jets/commands/templates/skeleton/.env.test +0 -3
- data/lib/jets/commands/templates/skeleton/.env.tt +0 -3
- data/lib/jets/commands/templates/skeleton/.jetskeep +0 -1
- data/lib/jets/commands/templates/skeleton/Gemfile.tt +0 -40
- data/lib/jets/commands/templates/skeleton/Procfile +0 -7
- data/lib/jets/commands/templates/skeleton/Rakefile +0 -2
- data/lib/jets/commands/templates/skeleton/app/models/application_item.rb +0 -2
- data/lib/jets/commands/templates/skeleton/app/views/layouts/application.html.erb.tt +0 -26
- data/lib/jets/commands/templates/skeleton/config/application.rb.tt +0 -72
- data/lib/jets/commands/templates/skeleton/config/dynamodb.yml +0 -22
- data/lib/jets/commands/templates/skeleton/config/environments/development.rb +0 -7
- data/lib/jets/commands/templates/skeleton/config/environments/production.rb +0 -9
- data/lib/jets/commands/templates/skeleton/config/environments/test.rb +0 -7
- data/lib/jets/commands/templates/webpacker/app/javascript/packs/application.js.tt +0 -23
- data/lib/jets/commands/templates/webpacker/app/javascript/packs/theme.scss.tt +0 -24
- data/lib/jets/commands/upgrade/templates/bin/webpack +0 -20
- data/lib/jets/commands/upgrade/templates/bin/webpack-dev-server +0 -19
- data/lib/jets/commands/upgrade/version1.rb +0 -136
- data/lib/jets/commands/upgrade.rb +0 -105
- data/lib/jets/commands/webpacker_template.rb +0 -18
- data/lib/jets/controller/callbacks.rb +0 -73
- data/lib/jets/controller/cookies/jar.rb +0 -269
- data/lib/jets/controller/cookies.rb +0 -38
- data/lib/jets/controller/error/invalid_authenticity_token.rb +0 -6
- data/lib/jets/controller/error.rb +0 -4
- data/lib/jets/controller/forgery_protection.rb +0 -43
- data/lib/jets/controller/layout.rb +0 -17
- data/lib/jets/controller/middleware/cors.rb +0 -60
- data/lib/jets/controller/middleware/local/mimic_aws_call.rb +0 -38
- data/lib/jets/controller/middleware/local/route_matcher.rb +0 -22
- data/lib/jets/controller/middleware/reloader.rb +0 -15
- data/lib/jets/controller/parameters_filter.rb +0 -29
- data/lib/jets/controller/params.rb +0 -117
- data/lib/jets/controller/redirection.rb +0 -61
- data/lib/jets/controller/rendering/rack_renderer.rb +0 -267
- data/lib/jets/controller/rendering.rb +0 -96
- data/lib/jets/controller/stage.rb +0 -34
- data/lib/jets/controller.rb +0 -3
- data/lib/jets/db.rb +0 -15
- data/lib/jets/generator/templates/erb/controller/view.html.erb +0 -2
- data/lib/jets/generator/templates/erb/scaffold/index.html.erb +0 -29
- data/lib/jets/generator/templates/rails/controller/controller.rb +0 -13
- data/lib/jets/generator/templates/rails/helper/helper.rb +0 -4
- data/lib/jets/generator/templates/rails/scaffold_controller/controller.rb +0 -67
- data/lib/jets/generator.rb +0 -112
- data/lib/jets/internal/app/controllers/jets/bare_controller.rb +0 -16
- data/lib/jets/internal/app/controllers/jets/rack_controller.rb +0 -12
- data/lib/jets/internal/app/helpers/jets/mailers_helper.rb +0 -9
- data/lib/jets/internal/app/jobs/jets/preheat_job.rb +0 -52
- data/lib/jets/internal/app/views/jets/mailers/index.html.erb +0 -8
- data/lib/jets/internal/app/views/jets/mailers/mailer.html.erb +0 -6
- data/lib/jets/internal/turbines/jets/mailer.rb +0 -52
- data/lib/jets/lambda/task.rb +0 -111
- data/lib/jets/logger.rb +0 -21
- data/lib/jets/middleware/configurator.rb +0 -84
- data/lib/jets/middleware/default_stack.rb +0 -53
- data/lib/jets/middleware/layer.rb +0 -34
- data/lib/jets/middleware/stack.rb +0 -77
- data/lib/jets/middleware.rb +0 -33
- data/lib/jets/overrides/rails/action_controller.rb +0 -13
- data/lib/jets/overrides/rails/asset_tag_helper.rb +0 -114
- data/lib/jets/overrides/rails/common_methods.rb +0 -13
- data/lib/jets/overrides/rails/migration_checker.rb +0 -34
- data/lib/jets/overrides/rails/rendering_helper.rb +0 -27
- data/lib/jets/overrides/rails/url_helper.rb +0 -88
- data/lib/jets/overrides/rails.rb +0 -6
- data/lib/jets/rack_server.rb +0 -86
- data/lib/jets/resource/api_gateway/base_path/function.rb +0 -49
- data/lib/jets/resource/api_gateway/base_path/role.rb +0 -76
- data/lib/jets/resource/api_gateway/cors.rb +0 -61
- data/lib/jets/resource/api_gateway/method.rb +0 -102
- data/lib/jets/resource/api_gateway/rest_api/routes/change.rb +0 -16
- data/lib/jets/resource/base.rb +0 -28
- data/lib/jets/resource/child_stack/api_deployment.rb +0 -58
- data/lib/jets/resource/child_stack/api_gateway.rb +0 -23
- data/lib/jets/resource/child_stack/api_resource/page.rb +0 -20
- data/lib/jets/resource/child_stack/api_resource.rb +0 -54
- data/lib/jets/resource/child_stack/base.rb +0 -24
- data/lib/jets/resource/lambda/function.rb +0 -221
- data/lib/jets/resource/logs/subscription_filter.rb +0 -31
- data/lib/jets/resource/permission.rb +0 -45
- data/lib/jets/resource.rb +0 -71
- data/lib/jets/router/error.rb +0 -4
- data/lib/jets/router/finder.rb +0 -47
- data/lib/jets/router/helpers/core_helper.rb +0 -27
- data/lib/jets/router/helpers/named_routes_helper.rb +0 -8
- data/lib/jets/router/helpers.rb +0 -4
- data/lib/jets/router/method_creator/code.rb +0 -99
- data/lib/jets/router/method_creator/edit.rb +0 -12
- data/lib/jets/router/method_creator/generic.rb +0 -11
- data/lib/jets/router/method_creator/index.rb +0 -48
- data/lib/jets/router/method_creator/new.rb +0 -12
- data/lib/jets/router/method_creator/root.rb +0 -15
- data/lib/jets/router/method_creator/show.rb +0 -12
- data/lib/jets/router/method_creator.rb +0 -50
- data/lib/jets/turbo/database_yaml.rb +0 -41
- data/lib/jets/turbo/project/.gitignore +0 -12
- data/lib/jets/turbo/project/.jetskeep +0 -1
- data/lib/jets/turbo/project/Gemfile +0 -16
- data/lib/jets/turbo/project/Rakefile +0 -2
- data/lib/jets/turbo/project/app/controllers/application_controller.rb +0 -2
- data/lib/jets/turbo/project/app/helpers/application_helper.rb +0 -2
- data/lib/jets/turbo/project/app/jobs/application_job.rb +0 -4
- data/lib/jets/turbo/project/config/application.rb +0 -5
- data/lib/jets/turbo/project/config/routes.rb +0 -4
- data/lib/jets/turbo/project/config.ru +0 -5
- data/lib/jets/turbo/rails.rb +0 -127
- data/lib/jets/turbo/templates/config/database.yml +0 -30
- data/lib/jets/turbo.rb +0 -56
- data/readme/prerelease.md +0 -6
- data/readme/testing.md +0 -60
- /data/{lib/jets → engines}/internal/app/shared/functions/jets/s3_bucket_config.rb +0 -0
- /data/lib/jets/{commands → command}/help/build.md +0 -0
- /data/lib/jets/{commands → command}/help/clean/build.md +0 -0
- /data/lib/jets/{commands → command}/help/clean/log.md +0 -0
- /data/lib/jets/{commands → command}/help/console.md +0 -0
- /data/lib/jets/{commands → command}/help/db/generate.md +0 -0
- /data/lib/jets/{commands → command}/help/dbconsole.md +0 -0
- /data/lib/jets/{commands → command}/help/degenerate.md +0 -0
- /data/lib/jets/{commands → command}/help/delete.md +0 -0
- /data/lib/jets/{commands → command}/help/gems/check.md +0 -0
- /data/lib/jets/{commands → command}/help/generate.md +0 -0
- /data/lib/jets/{commands → command}/help/import/rack.md +0 -0
- /data/lib/jets/{commands → command}/help/import/rails.md +0 -0
- /data/lib/jets/{commands → command}/help/runner.md +0 -0
- /data/lib/jets/{commands → command}/help/server.md +0 -0
- /data/lib/jets/{commands → command}/help/status.md +0 -0
- /data/lib/jets/{commands → command}/help/upgrade.md +0 -0
- /data/lib/jets/{commands → command}/help/url.md +0 -0
- /data/lib/jets/{generator/templates/active_job → generators}/job/templates/application_job.rb.tt +0 -0
- /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/.rspec +0 -0
- /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/README.md +0 -0
- /data/{.gitmodules → lib/jets/generators/overrides/app/templates/app/assets/images/.keep} +0 -0
- /data/lib/jets/{commands/templates/skeleton/db/.gitkeep → generators/overrides/app/templates/app/assets/javascripts/.keep} +0 -0
- /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/app/controllers/application_controller.rb +0 -0
- /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/app/helpers/application_helper.rb +0 -0
- /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/app/jobs/application_job.rb +0 -0
- /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/config.ru +0 -0
- /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/public/favicon.ico +0 -0
- /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/spec/controllers/posts_controller_spec.rb +0 -0
- /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/spec/fixtures/payloads/posts-index.json +0 -0
- /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/spec/fixtures/payloads/posts-show.json +0 -0
- /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/spec/spec_helper.rb.tt +0 -0
- /data/lib/jets/{generator → generators/overrides}/templates/erb/scaffold/_form.html.erb +0 -0
- /data/lib/jets/{generator → generators/overrides}/templates/erb/scaffold/edit.html.erb +0 -0
- /data/lib/jets/{generator → generators/overrides}/templates/erb/scaffold/new.html.erb +0 -0
- /data/lib/jets/{generator → generators/overrides}/templates/erb/scaffold/show.html.erb +0 -0
- /data/lib/jets/{generator → generators/overrides}/templates/rails/assets/javascript.js +0 -0
- /data/lib/jets/{generator → generators/overrides}/templates/rails/assets/stylesheet.css +0 -0
- /data/lib/jets/{generator → generators/overrides}/templates/rails/scaffold/scaffold.css +0 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
require "rails/generators"
|
|
2
|
+
require "rails/generators/rails/app/app_generator"
|
|
3
|
+
|
|
4
|
+
module Jets::Generators::Overrides::App
|
|
5
|
+
# Allows overriding generator creation of the Gemfile, README, etc.
|
|
6
|
+
# See: Rails::AppBuilder for the full list of overridable methods.
|
|
7
|
+
class AppBuilder < Rails::AppBuilder
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
module AppBaseOverrides
|
|
11
|
+
extend ActiveSupport::Concern
|
|
12
|
+
DATABASES = Rails::Generators::Database::DATABASES
|
|
13
|
+
VALID_MODES = %w[html api job]
|
|
14
|
+
|
|
15
|
+
module ClassMethods
|
|
16
|
+
# Override to support jets options only
|
|
17
|
+
def add_shared_options_for(name)
|
|
18
|
+
class_option :name, type: :string, aliases: "-n",
|
|
19
|
+
desc: "Name of the app"
|
|
20
|
+
|
|
21
|
+
class_option :template, type: :string, aliases: "-m",
|
|
22
|
+
desc: "Path to some #{name} template (can be a filesystem path or URL)"
|
|
23
|
+
|
|
24
|
+
class_option :database, type: :string, aliases: "-d", default: "mysql",
|
|
25
|
+
desc: "Preconfigure for selected database (options: #{DATABASES.join('/')})"
|
|
26
|
+
|
|
27
|
+
class_option :mode, default: 'html',
|
|
28
|
+
desc: "mode: #{VALID_MODES.join(',')}"
|
|
29
|
+
|
|
30
|
+
class_option :javascript, type: :string, aliases: "-j", default: "importmap",
|
|
31
|
+
desc: "Choose JavaScript approach [options: importmap (default)]"
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Prepend jets_template_path to source_paths so that the jets templates
|
|
36
|
+
# can override the rails templates.
|
|
37
|
+
def source_paths
|
|
38
|
+
rails_templates_path = Rails::Generators::AppGenerator.source_root
|
|
39
|
+
[jets_templates_path, rails_templates_path] + super
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def jets_templates_path
|
|
43
|
+
File.join(jets_generator_root, "templates")
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def jets_generator_root
|
|
47
|
+
File.expand_path(__dir__)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def banner # :doc:
|
|
51
|
+
"jets new #{arguments.map(&:usage).join(' ')} [options]"
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def usage_path
|
|
55
|
+
path = File.join(jets_generator_root, "USAGE")
|
|
56
|
+
if File.exist?(path)
|
|
57
|
+
path
|
|
58
|
+
else
|
|
59
|
+
super
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# We want to exit on failure to be kind to other libraries
|
|
64
|
+
# This is only when accessing via CLI
|
|
65
|
+
def exit_on_failure?
|
|
66
|
+
true
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
class AppGenerator < Rails::Generators::AppBase
|
|
72
|
+
include AppBaseOverrides
|
|
73
|
+
include Helpers
|
|
74
|
+
|
|
75
|
+
add_shared_options_for "application"
|
|
76
|
+
|
|
77
|
+
public_task :set_default_accessors!
|
|
78
|
+
public_task :create_root
|
|
79
|
+
# public_task :target_rails_prerelease
|
|
80
|
+
|
|
81
|
+
# The Rails way generates a project piecemeal like so:
|
|
82
|
+
#
|
|
83
|
+
# def create_root_files
|
|
84
|
+
# build(:readme)
|
|
85
|
+
# build(:rakefile)
|
|
86
|
+
# end
|
|
87
|
+
#
|
|
88
|
+
# The Jets way generates the entire project at once.
|
|
89
|
+
#
|
|
90
|
+
# We first create the entire project at once because it's easier to maintain.
|
|
91
|
+
# But we can also use the Rails way to generate piecemeal and leverage
|
|
92
|
+
# the existing Rails generators.
|
|
93
|
+
|
|
94
|
+
public_task :set_initial_variables
|
|
95
|
+
public_task :copy_project # Note: Support for clone has been removed
|
|
96
|
+
|
|
97
|
+
def create_root_files
|
|
98
|
+
build(:version_control)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def create_bin_files
|
|
102
|
+
build(:bin)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# def create_active_record_files
|
|
106
|
+
# return if options[:skip_active_record]
|
|
107
|
+
# build(:database_yml)
|
|
108
|
+
# end
|
|
109
|
+
|
|
110
|
+
public_task :run_bundle
|
|
111
|
+
|
|
112
|
+
# Custom version because Rails run_javascript calls rails importmap:install
|
|
113
|
+
def run_javascript
|
|
114
|
+
return unless options[:mode] == "html"
|
|
115
|
+
|
|
116
|
+
if options[:javascript] == "importmap"
|
|
117
|
+
sh "bundle exec jets importmap:install"
|
|
118
|
+
else
|
|
119
|
+
puts "WARN: Only importmap is supported at this time."
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
public_task :git_first_commit
|
|
124
|
+
|
|
125
|
+
private
|
|
126
|
+
def gemfile_entries # :doc:
|
|
127
|
+
if options[:database].nil? # --no-database
|
|
128
|
+
return []
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
[
|
|
132
|
+
database_gemfile_entry,
|
|
133
|
+
].flatten.compact.select(&@gem_filter)
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def sh(command)
|
|
137
|
+
puts "=> #{command}"
|
|
138
|
+
system(command)
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def get_builder_class
|
|
142
|
+
AppBuilder
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# Keeps zeitwerk happy
|
|
148
|
+
Jets::Generators::AppGenerator = Jets::Generators::Overrides::App::AppGenerator
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
module Jets::Generators::Overrides::App
|
|
2
|
+
module Helpers
|
|
3
|
+
private
|
|
4
|
+
def set_initial_variables
|
|
5
|
+
@project_folder = app_path
|
|
6
|
+
@project_name = app_path == '.' ? File.basename(Dir.pwd) : app_path
|
|
7
|
+
@app_namespace = @project_name.gsub('-','_').gsub(/[^a-zA-Z_0-9]/, '').camelize
|
|
8
|
+
@database_name = @project_name.gsub('-','_')
|
|
9
|
+
|
|
10
|
+
# options is a frozen hash by Thor so cannot modify it.
|
|
11
|
+
# Also had trouble unfreezing it with .dup. So using instance variables instead
|
|
12
|
+
case options[:mode]
|
|
13
|
+
when 'html'
|
|
14
|
+
@bootstrap = options[:bootstrap]
|
|
15
|
+
@database = options[:database]
|
|
16
|
+
@javascript = options[:javascript] # importmap or webpacker
|
|
17
|
+
when 'api'
|
|
18
|
+
@bootstrap = false
|
|
19
|
+
@database = options[:database]
|
|
20
|
+
@javascript = 'none'
|
|
21
|
+
when 'job'
|
|
22
|
+
@bootstrap = false
|
|
23
|
+
@database = false
|
|
24
|
+
@javascript = 'none'
|
|
25
|
+
else
|
|
26
|
+
puts "Invalid mode provided: #{@options[:mode].color(:red)}. Please pass in an valid mode: #{VALID_MODES.join(',').color(:green)}."
|
|
27
|
+
exit 1
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def jets_minor_version
|
|
32
|
+
md = Jets::VERSION.match(/(\d+)\.(\d+)\.\d+/)
|
|
33
|
+
major, minor = md[1], md[2]
|
|
34
|
+
[major, minor, '0'].join('.')
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def clone_project
|
|
38
|
+
unless git_installed?
|
|
39
|
+
abort "Unable to detect git installation on your system. Git needs to be installed in order to use the --repo option."
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
if File.exist?(project_folder)
|
|
43
|
+
abort "The folder #{project_folder} already exists."
|
|
44
|
+
else
|
|
45
|
+
run "git clone https://github.com/#{options[:repo]} #{project_folder}"
|
|
46
|
+
end
|
|
47
|
+
confirm_jets_project
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def confirm_jets_project
|
|
51
|
+
jets_project = File.exist?("#{project_folder}/config/application.rb")
|
|
52
|
+
unless jets_project
|
|
53
|
+
puts "#{options[:repo]} does not look like a Jets project. Double check your repo!".color(:red)
|
|
54
|
+
exit 1
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def copy_project
|
|
59
|
+
# directory ".", project_folder, copy_options
|
|
60
|
+
directory ".", ".", copy_options
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def copy_options
|
|
64
|
+
excludes = excludes()
|
|
65
|
+
default_excludes = %w[
|
|
66
|
+
bin
|
|
67
|
+
]
|
|
68
|
+
excludes += default_excludes
|
|
69
|
+
excludes.uniq!
|
|
70
|
+
|
|
71
|
+
unless @database
|
|
72
|
+
# Do not even generate the config/database.yml because
|
|
73
|
+
# Jets webpacker:install bombs and tries to load the db since it sees a
|
|
74
|
+
# config/database.yml but there's no database pg gem configured.
|
|
75
|
+
excludes += %w[
|
|
76
|
+
database.yml
|
|
77
|
+
db
|
|
78
|
+
models/application_record
|
|
79
|
+
]
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
if excludes.empty?
|
|
83
|
+
{}
|
|
84
|
+
else
|
|
85
|
+
pattern = Regexp.new(excludes.join('|'))
|
|
86
|
+
{exclude_pattern: pattern }
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def excludes
|
|
91
|
+
case @options[:mode]
|
|
92
|
+
when 'job'
|
|
93
|
+
# For job mode: list of words to include in the exclude pattern and will not be generated.
|
|
94
|
+
%w[
|
|
95
|
+
app/views
|
|
96
|
+
assets
|
|
97
|
+
config.ru
|
|
98
|
+
config/database.yml
|
|
99
|
+
config/dynamodb.yml
|
|
100
|
+
config/initializers
|
|
101
|
+
controllers
|
|
102
|
+
db/
|
|
103
|
+
helpers
|
|
104
|
+
javascript
|
|
105
|
+
models/application_
|
|
106
|
+
Procfile
|
|
107
|
+
public
|
|
108
|
+
routes
|
|
109
|
+
spec
|
|
110
|
+
yarn
|
|
111
|
+
]
|
|
112
|
+
when 'api'
|
|
113
|
+
%w[
|
|
114
|
+
app/assets
|
|
115
|
+
app/views
|
|
116
|
+
]
|
|
117
|
+
else # html
|
|
118
|
+
[]
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
def git_first_commit
|
|
123
|
+
return unless git_installed? && git_credentials_set?
|
|
124
|
+
run("git add .")
|
|
125
|
+
run("git commit -m 'first commit'")
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
def git_installed?
|
|
129
|
+
system("type git > /dev/null 2>&1")
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
# In order to automatically create first commit
|
|
133
|
+
# the user needs to have their credentials set
|
|
134
|
+
def git_credentials_set?
|
|
135
|
+
configs = `git config --list`.split("\n")
|
|
136
|
+
configs.any? { |c| c.start_with? 'user.name=' } && configs.any? { |c| c.start_with? 'user.email=' }
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
def yarn_installed?
|
|
140
|
+
system("type yarn > /dev/null 2>&1")
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
source "https://rubygems.org"
|
|
2
|
+
|
|
3
|
+
gem "jets", "~> <%= Jets::VERSION %>"
|
|
4
|
+
|
|
5
|
+
<%- if options[:mode] != 'job' && !options[:database].nil? -%>
|
|
6
|
+
<%= database_gemfile_entry %>
|
|
7
|
+
gem "sprockets-jets"
|
|
8
|
+
<%- end -%>
|
|
9
|
+
<%- if options[:mode] == 'html' -%>
|
|
10
|
+
gem "importmap-jets"
|
|
11
|
+
<%- end -%>
|
|
12
|
+
gem "zeitwerk", ">= 2.6.12"
|
|
13
|
+
|
|
14
|
+
# development and test groups are not bundled as part of the deployment
|
|
15
|
+
group :development, :test do
|
|
16
|
+
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
|
|
17
|
+
<%- unless options[:mode] == 'job' -%>
|
|
18
|
+
gem 'rack'
|
|
19
|
+
gem 'puma'
|
|
20
|
+
<%- end -%>
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
group :test do
|
|
24
|
+
gem 'rspec'
|
|
25
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
3
|
+
* listed below.
|
|
4
|
+
*
|
|
5
|
+
* Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
|
|
6
|
+
* vendor/assets/stylesheets directory can be referenced here using a relative path.
|
|
7
|
+
*
|
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
|
9
|
+
* compiled file so the styles you add here take precedence over styles defined in any other CSS
|
|
10
|
+
* files in this directory. Styles in this file should be added after the last require_* statement.
|
|
11
|
+
* It is generally better to create a new file per style scope.
|
|
12
|
+
*
|
|
13
|
+
*= require_tree .
|
|
14
|
+
*= require_self
|
|
15
|
+
*/
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
6
|
+
<meta name="theme-color" content="#000000">
|
|
7
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
8
|
+
<%%= csrf_meta_tags %>
|
|
9
|
+
<title>Jets App</title>
|
|
10
|
+
<link rel="shortcut icon" href="<%%= favicon_path %>">
|
|
11
|
+
<% if @webpacker %>
|
|
12
|
+
<%%= javascript_pack_tag "application" %>
|
|
13
|
+
<%%= stylesheet_pack_tag "theme" %>
|
|
14
|
+
<% else %>
|
|
15
|
+
<%%= stylesheet_link_tag "application" %><%# NOTE: javascript_importmap_tags is inserted by importmap:install %>
|
|
16
|
+
<% end %>
|
|
17
|
+
</head>
|
|
18
|
+
<body>
|
|
19
|
+
<section class="starter">
|
|
20
|
+
<div class="container">
|
|
21
|
+
<div class="row">
|
|
22
|
+
<div class="col-md-9 content-body">
|
|
23
|
+
<%% if @title %><h1><%%= @title %></h1><%% end %>
|
|
24
|
+
<%%= yield %>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</section>
|
|
29
|
+
</body>
|
|
30
|
+
</html>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module <%= @app_namespace %>
|
|
2
|
+
class Application < Jets::Application
|
|
3
|
+
config.load_defaults 5.0
|
|
4
|
+
|
|
5
|
+
config.project_name = "<%= @project_name %>"
|
|
6
|
+
config.mode = "<%= @options[:mode] %>"
|
|
7
|
+
|
|
8
|
+
<%- if @options[:mode] == 'job' -%>
|
|
9
|
+
config.prewarm.enable = false
|
|
10
|
+
<%- end -%>
|
|
11
|
+
# Docs:
|
|
12
|
+
# https://rubyonjets.com/docs/config/
|
|
13
|
+
# https://rubyonjets.com/docs/config/reference/
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -11,7 +11,7 @@ default: &default
|
|
|
11
11
|
password: <%%= ENV['DB_PASS'] %>
|
|
12
12
|
host: <%%= ENV["DB_HOST"] %>
|
|
13
13
|
url: <%%= ENV['DATABASE_URL'] %> # takes higher precedence than other settings
|
|
14
|
-
reconnect: true
|
|
14
|
+
# reconnect: true # reconnect option is deprecated with newer mysql database versions
|
|
15
15
|
|
|
16
16
|
development:
|
|
17
17
|
<<: *default
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
Jets.application.configure do
|
|
2
|
+
# Docs: https://rubyonjets.com/docs/config/reference/
|
|
3
|
+
|
|
4
|
+
config.cache_classes = false
|
|
5
|
+
config.eager_load = false
|
|
6
|
+
config.logging.event = false # dont show large event in local development logging
|
|
7
|
+
|
|
8
|
+
<%- unless options[:mode] == 'job' -%>
|
|
9
|
+
# Show full error reports.
|
|
10
|
+
config.consider_all_requests_local = true
|
|
11
|
+
|
|
12
|
+
# Enable server timing
|
|
13
|
+
config.server_timing = true
|
|
14
|
+
|
|
15
|
+
# Enable/disable caching. By default caching is disabled.
|
|
16
|
+
if Jets.root.join("tmp/caching-dev.txt").exist?
|
|
17
|
+
config.jets_controller.perform_caching = true
|
|
18
|
+
config.cache_store = :memory_store
|
|
19
|
+
else
|
|
20
|
+
config.jets_controller.perform_caching = false
|
|
21
|
+
config.cache_store = :null_store
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Docs: http://rubyonjets.com/docs/email-sending/
|
|
25
|
+
config.action_mailer.raise_delivery_errors = false
|
|
26
|
+
config.action_mailer.perform_caching = false
|
|
27
|
+
# config.action_mailer.default_url_options = { host: 'localhost', port: 8888 }
|
|
28
|
+
<%- end -%>
|
|
29
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Jets.application.configure do
|
|
2
|
+
config.cache_classes = true
|
|
3
|
+
config.eager_load = true
|
|
4
|
+
config.log_level = :info
|
|
5
|
+
config.logging.event = true # useful for CloudWatch logs
|
|
6
|
+
|
|
7
|
+
<%- unless options[:mode] == 'job' -%>
|
|
8
|
+
config.consider_all_requests_local = false
|
|
9
|
+
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
|
10
|
+
config.assets.compile = false
|
|
11
|
+
|
|
12
|
+
# Ignore bad email addresses and do not raise email delivery errors.
|
|
13
|
+
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
|
14
|
+
# Docs: http://rubyonjets.com/docs/email-sending/
|
|
15
|
+
config.action_mailer.raise_delivery_errors = true
|
|
16
|
+
config.action_mailer.perform_caching = false
|
|
17
|
+
# config.action_mailer.default_url_options = { host: 'localhost', port: 8888 }
|
|
18
|
+
<%- end -%>
|
|
19
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Jets.application.configure do
|
|
2
|
+
config.cache_classes = false
|
|
3
|
+
config.eager_load = ENV["CI"].present?
|
|
4
|
+
config.cache_store = :null_store
|
|
5
|
+
|
|
6
|
+
<%- unless options[:mode] == 'job' -%>
|
|
7
|
+
config.consider_all_requests_local = true
|
|
8
|
+
config.server_timing = true
|
|
9
|
+
|
|
10
|
+
config.jets_controller.perform_caching = false
|
|
11
|
+
|
|
12
|
+
# Raise exceptions instead of rendering exception templates.
|
|
13
|
+
config.action_dispatch.show_exceptions = false
|
|
14
|
+
|
|
15
|
+
# Tell Action Mailer not to deliver emails to the real world.
|
|
16
|
+
# The :test delivery method accumulates sent emails in the
|
|
17
|
+
# ActionMailer::Base.deliveries array.
|
|
18
|
+
# Docs: http://rubyonjets.com/docs/email-sending/
|
|
19
|
+
config.action_mailer.delivery_method = :test
|
|
20
|
+
config.action_mailer.perform_caching = false
|
|
21
|
+
# config.action_mailer.default_url_options = { host: 'localhost', port: 8888 }
|
|
22
|
+
<%- end -%>
|
|
23
|
+
end
|
data/lib/jets/generators/overrides/app/templates/config/initializers/content_security_policy.rb
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
|
2
|
+
#
|
|
3
|
+
# Define an application-wide content security policy.
|
|
4
|
+
# The Rails docs cover how to use Content Security Policy headers, Jets
|
|
5
|
+
# uses the same interface.
|
|
6
|
+
# See the Securing Rails Applications Guide for more information:
|
|
7
|
+
# https://guides.rubyonrails.org/security.html#content-security-policy-header
|
|
8
|
+
#
|
|
9
|
+
# Note: Turning on the policy below will result in not being able to use
|
|
10
|
+
# inline tags unless their are secure. For example, inline style
|
|
11
|
+
# tags will not work.
|
|
12
|
+
#
|
|
13
|
+
# Jets.application.configure do
|
|
14
|
+
# config.content_security_policy do |policy|
|
|
15
|
+
# policy.default_src :self, :https
|
|
16
|
+
# policy.font_src :self, :https, :data
|
|
17
|
+
# policy.img_src :self, :https, :data
|
|
18
|
+
# policy.object_src :none
|
|
19
|
+
# policy.script_src :self, :https
|
|
20
|
+
# policy.style_src :self, :https
|
|
21
|
+
# # Specify URI for violation reports
|
|
22
|
+
# # policy.report_uri "/csp-violation-report-endpoint"
|
|
23
|
+
# end
|
|
24
|
+
#
|
|
25
|
+
# # Generate session nonces for permitted importmap and inline scripts
|
|
26
|
+
# config.content_security_policy_nonce_generator = ->(request) { request.session.id.to_s }
|
|
27
|
+
# config.content_security_policy_nonce_directives = %w(script-src)
|
|
28
|
+
#
|
|
29
|
+
# # Report violations without enforcing the policy.
|
|
30
|
+
# # config.content_security_policy_report_only = true
|
|
31
|
+
# end
|
data/lib/jets/generators/overrides/app/templates/config/initializers/filter_parameter_logging.rb
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
|
2
|
+
|
|
3
|
+
# Configure parameters to be filtered from the log file. Use this to limit dissemination of
|
|
4
|
+
# sensitive information. See the ActiveSupport::ParameterFilter documentation for supported
|
|
5
|
+
# notations and behaviors.
|
|
6
|
+
Jets.application.config.filter_parameters += [
|
|
7
|
+
:passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn
|
|
8
|
+
]
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Define an application-wide HTTP permissions policy. For further
|
|
2
|
+
# information see https://developers.google.com/web/updates/2018/06/feature-policy
|
|
3
|
+
#
|
|
4
|
+
# Jets.application.config.permissions_policy do |f|
|
|
5
|
+
# f.camera :none
|
|
6
|
+
# f.gyroscope :none
|
|
7
|
+
# f.microphone :none
|
|
8
|
+
# f.usb :none
|
|
9
|
+
# f.fullscreen :self
|
|
10
|
+
# f.payment :self, "https://secure.example.com"
|
|
11
|
+
# end
|
data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/config/routes.rb
RENAMED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
Jets.application.routes.draw do
|
|
2
|
-
root "jets/
|
|
2
|
+
root "jets/welcome#index"
|
|
3
|
+
|
|
4
|
+
# Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500.
|
|
5
|
+
# Can be used by load balancers and uptime monitors to verify that the app is live.
|
|
6
|
+
get "up" => "jets/health#show", as: :jets_health_check
|
|
3
7
|
|
|
4
8
|
# The jets/public#show controller can serve static utf8 content out of the public folder.
|
|
5
9
|
# Note, as part of the deploy process Jets uploads files in the public folder to s3
|
|
File without changes
|
data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/public/404.html
RENAMED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<title>The page you were looking for doesn't exist (404)</title>
|
|
5
5
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
6
|
<style>
|
|
7
|
-
.
|
|
7
|
+
.jets-default-error-page {
|
|
8
8
|
background-color: #EFEFEF;
|
|
9
9
|
color: #2E2F30;
|
|
10
10
|
text-align: center;
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
margin: 0;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
.
|
|
15
|
+
.jets-default-error-page div.dialog {
|
|
16
16
|
width: 95%;
|
|
17
17
|
max-width: 33em;
|
|
18
18
|
margin: 4em auto 0;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
.
|
|
21
|
+
.jets-default-error-page div.dialog > div {
|
|
22
22
|
border: 1px solid #CCC;
|
|
23
23
|
border-right-color: #999;
|
|
24
24
|
border-left-color: #999;
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
.
|
|
34
|
+
.jets-default-error-page h1 {
|
|
35
35
|
font-size: 100%;
|
|
36
36
|
color: #730E15;
|
|
37
37
|
line-height: 1.5em;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
.
|
|
40
|
+
.jets-default-error-page div.dialog > p {
|
|
41
41
|
margin: 0 0 1em;
|
|
42
42
|
padding: 1em;
|
|
43
43
|
background-color: #F7F7F7;
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
</style>
|
|
55
55
|
</head>
|
|
56
56
|
|
|
57
|
-
<body class="
|
|
57
|
+
<body class="jets-default-error-page">
|
|
58
58
|
<!-- This file lives in public/404.html -->
|
|
59
59
|
<div class="dialog">
|
|
60
60
|
<div>
|
data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/public/422.html
RENAMED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<title>The change you wanted was rejected (422)</title>
|
|
5
5
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
6
|
<style>
|
|
7
|
-
.
|
|
7
|
+
.jets-default-error-page {
|
|
8
8
|
background-color: #EFEFEF;
|
|
9
9
|
color: #2E2F30;
|
|
10
10
|
text-align: center;
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
margin: 0;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
.
|
|
15
|
+
.jets-default-error-page div.dialog {
|
|
16
16
|
width: 95%;
|
|
17
17
|
max-width: 33em;
|
|
18
18
|
margin: 4em auto 0;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
.
|
|
21
|
+
.jets-default-error-page div.dialog > div {
|
|
22
22
|
border: 1px solid #CCC;
|
|
23
23
|
border-right-color: #999;
|
|
24
24
|
border-left-color: #999;
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
.
|
|
34
|
+
.jets-default-error-page h1 {
|
|
35
35
|
font-size: 100%;
|
|
36
36
|
color: #730E15;
|
|
37
37
|
line-height: 1.5em;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
.
|
|
40
|
+
.jets-default-error-page div.dialog > p {
|
|
41
41
|
margin: 0 0 1em;
|
|
42
42
|
padding: 1em;
|
|
43
43
|
background-color: #F7F7F7;
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
</style>
|
|
55
55
|
</head>
|
|
56
56
|
|
|
57
|
-
<body class="
|
|
57
|
+
<body class="jets-default-error-page">
|
|
58
58
|
<!-- This file lives in public/422.html -->
|
|
59
59
|
<div class="dialog">
|
|
60
60
|
<div>
|