lib/jets/util.rb
require 'shellwords' class Jets::Util class << self # Make sure that the result is a text. def normalize_result(result) JSON.dump(result) end def cp_r(src, dest) # Fix for https://github.com/tongueroo/jets/issues/122 # # Using FileUtils.cp_r doesnt work if there are special files like socket files in the src dir. # Instead of using this hack https://bugs.ruby-lang.org/issues/10104 # Using rsync to perform the copy. src.chop! if src.ends_with?('/') dest.chop! if dest.ends_with?('/') check_rsync_installed! sh "rsync -a --links --no-specials --no-devices #{Shellwords.escape(src)}/ #{Shellwords.escape(dest)}/", quiet: true end @@rsync_installed = false def check_rsync_installed! return if @@rsync_installed # only check once if system "type rsync > /dev/null 2>&1" @@rsync_installed = true else raise Jets::Error.new("Rsync is required. Rsync does not seem to be installed.") end end def sh(command, quiet: false) puts "=> #{command}" unless quiet system(command) success = $?.success? raise Jets::Error.new("Command failed: #{command}") unless success success end end end
Source Files
- lib/jets.rb
- lib/jets/application.rb
- lib/jets/application/defaults.rb
- lib/jets/authorizer/base.rb
- lib/jets/authorizer/dsl.rb
- lib/jets/authorizer/helpers/iam_helper.rb
- lib/jets/autoloaders.rb
- lib/jets/aws_info.rb
- lib/jets/aws_services.rb
- lib/jets/aws_services/global_memoist.rb
- lib/jets/aws_services/s3_bucket.rb
- lib/jets/aws_services/stack_status.rb
- lib/jets/booter.rb
- lib/jets/builders/code_builder.rb
- lib/jets/builders/code_size.rb
- lib/jets/builders/gem_replacer.rb
- lib/jets/builders/handler_generator.rb
- lib/jets/builders/lambda_layer.rb
- lib/jets/builders/md5.rb
- lib/jets/builders/md5_zip.rb
- lib/jets/builders/purger.rb
- lib/jets/builders/rack_packager.rb
- lib/jets/builders/rackup_wrappers/rackup.rb
- lib/jets/builders/reconfigure_rails.rb
- lib/jets/builders/reconfigure_rails/config/initializers/jets.rb
- lib/jets/builders/ruby_packager.rb
- lib/jets/builders/shim_vars/app.rb
- lib/jets/builders/shim_vars/base.rb
- lib/jets/builders/shim_vars/shared.rb
- lib/jets/builders/templates/handler.rb
- lib/jets/builders/tidy.rb
- lib/jets/builders/util.rb
- lib/jets/bundle.rb
- lib/jets/camelizer.rb
- lib/jets/cfn/builders/api_deployment_builder.rb
- lib/jets/cfn/builders/api_gateway_builder.rb
- lib/jets/cfn/builders/api_resources_builder.rb
- lib/jets/cfn/builders/authorizer_builder.rb
- lib/jets/cfn/builders/base_child_builder.rb
- lib/jets/cfn/builders/controller_builder.rb
- lib/jets/cfn/builders/function_builder.rb
- lib/jets/cfn/builders/interface.rb
- lib/jets/cfn/builders/job_builder.rb
- lib/jets/cfn/builders/parent_builder.rb
- lib/jets/cfn/builders/parent_builder/stagger.rb
- lib/jets/cfn/builders/rule_builder.rb
- lib/jets/cfn/builders/shared_builder.rb
- lib/jets/cfn/builders/util/source.rb
- lib/jets/cfn/built_template.rb
- lib/jets/cfn/ship.rb
- lib/jets/cfn/status.rb
- lib/jets/cfn/template_source.rb
- lib/jets/cfn/upload.rb
- lib/jets/cli.rb
- lib/jets/commands/base.rb
- lib/jets/commands/build.rb
- lib/jets/commands/call.rb
- lib/jets/commands/call/anonymous_guesser.rb
- lib/jets/commands/call/autoload_guesser.rb
- lib/jets/commands/call/base_guesser.rb
- lib/jets/commands/call/guesser.rb
- lib/jets/commands/clean.rb
- lib/jets/commands/clean/base.rb
- lib/jets/commands/clean/build.rb
- lib/jets/commands/clean/log.rb
- lib/jets/commands/console.rb
- lib/jets/commands/db.rb
- lib/jets/commands/db/tasks.rb
- lib/jets/commands/db/tasks/dummy/app.rb
- lib/jets/commands/db/tasks/dummy/config.rb
- lib/jets/commands/dbconsole.rb
- lib/jets/commands/delete.rb
- lib/jets/commands/deploy.rb
- lib/jets/commands/dotenv.rb
- lib/jets/commands/dynamodb.rb
- lib/jets/commands/dynamodb/migrate.rb
- lib/jets/commands/dynamodb/migrator.rb
- lib/jets/commands/gems.rb
- lib/jets/commands/help.rb
- lib/jets/commands/import.rb
- lib/jets/commands/import/base.rb
- lib/jets/commands/import/cheatsheet.rb
- lib/jets/commands/import/rack.rb
- lib/jets/commands/import/rails.rb
- lib/jets/commands/import/sequence.rb
- lib/jets/commands/main.rb
- lib/jets/commands/markdown/creator.rb
- lib/jets/commands/markdown/index.rb
- lib/jets/commands/markdown/page.rb
- lib/jets/commands/markdown/shell.rb
- lib/jets/commands/new.rb
- lib/jets/commands/rake_command.rb
- lib/jets/commands/rake_tasks.rb
- lib/jets/commands/runner.rb
- lib/jets/commands/sequence.rb
- lib/jets/commands/stack_info.rb
- lib/jets/commands/templates/skeleton/app/controllers/application_controller.rb
- lib/jets/commands/templates/skeleton/app/helpers/application_helper.rb
- lib/jets/commands/templates/skeleton/app/jobs/application_job.rb
- lib/jets/commands/templates/skeleton/app/models/application_item.rb
- lib/jets/commands/templates/skeleton/app/models/application_record.rb
- lib/jets/commands/templates/skeleton/config/environments/development.rb
- lib/jets/commands/templates/skeleton/config/environments/production.rb
- lib/jets/commands/templates/skeleton/config/environments/test.rb
- lib/jets/commands/templates/skeleton/config/routes.rb
- lib/jets/commands/templates/skeleton/spec/controllers/posts_controller_spec.rb
- lib/jets/commands/upgrade.rb
- lib/jets/commands/upgrade/version1.rb
- lib/jets/commands/url.rb
- lib/jets/commands/webpacker_template.rb
- lib/jets/controller.rb
- lib/jets/controller/authorization.rb
- lib/jets/controller/base.rb
- lib/jets/controller/callbacks.rb
- lib/jets/controller/cookies.rb
- lib/jets/controller/cookies/jar.rb
- lib/jets/controller/error.rb
- lib/jets/controller/error/invalid_authenticity_token.rb
- lib/jets/controller/forgery_protection.rb
- lib/jets/controller/layout.rb
- lib/jets/controller/middleware/cors.rb
- lib/jets/controller/middleware/local.rb
- lib/jets/controller/middleware/local/api_gateway.rb
- lib/jets/controller/middleware/local/mimic_aws_call.rb
- lib/jets/controller/middleware/local/route_matcher.rb
- lib/jets/controller/middleware/main.rb
- lib/jets/controller/middleware/reloader.rb
- lib/jets/controller/middleware/webpacker_setup.rb
- lib/jets/controller/params.rb
- lib/jets/controller/rack/adapter.rb
- lib/jets/controller/rack/env.rb
- lib/jets/controller/redirection.rb
- lib/jets/controller/rendering.rb
- lib/jets/controller/rendering/rack_renderer.rb
- lib/jets/controller/request.rb
- lib/jets/controller/response.rb
- lib/jets/controller/stage.rb
- lib/jets/core.rb
- lib/jets/core_ext/kernel.rb
- lib/jets/db.rb
- lib/jets/dotenv.rb
- lib/jets/dotenv/show.rb
- lib/jets/dotenv/ssm.rb
- lib/jets/erb.rb
- lib/jets/generator.rb
- lib/jets/generator/templates/rails/controller/controller.rb
- lib/jets/generator/templates/rails/helper/helper.rb
- lib/jets/generator/templates/rails/scaffold_controller/api_controller.rb
- lib/jets/generator/templates/rails/scaffold_controller/controller.rb
- lib/jets/inflections.rb
- lib/jets/internal/app/controllers/jets/bare_controller.rb
- lib/jets/internal/app/controllers/jets/mailers_controller.rb
- lib/jets/internal/app/controllers/jets/mount_controller.rb
- lib/jets/internal/app/controllers/jets/public_controller.rb
- lib/jets/internal/app/controllers/jets/rack_controller.rb
- lib/jets/internal/app/functions/jets/base_path.rb
- lib/jets/internal/app/helpers/jets/mailers_helper.rb
- lib/jets/internal/app/jobs/jets/preheat_job.rb
- lib/jets/internal/app/shared/functions/jets/s3_bucket_config.rb
- lib/jets/internal/turbines/jets/mailer.rb
- lib/jets/job/base.rb
- lib/jets/job/dsl.rb
- lib/jets/job/dsl/dynamodb_event.rb
- lib/jets/job/dsl/event_source_mapping.rb
- lib/jets/job/dsl/iot_event.rb
- lib/jets/job/dsl/kinesis_event.rb
- lib/jets/job/dsl/log_event.rb
- lib/jets/job/dsl/rule_event.rb
- lib/jets/job/dsl/s3_event.rb
- lib/jets/job/dsl/sns_event.rb
- lib/jets/job/dsl/sqs_event.rb
- lib/jets/job/helpers/kinesis_event_helper.rb
- lib/jets/job/helpers/log_event_helper.rb
- lib/jets/job/helpers/s3_event_helper.rb
- lib/jets/klass.rb
- lib/jets/lambda/dsl.rb
- lib/jets/lambda/function.rb
- lib/jets/lambda/function_constructor.rb
- lib/jets/lambda/functions.rb
- lib/jets/lambda/task.rb
- lib/jets/logger.rb
- lib/jets/mega/hash_converter.rb
- lib/jets/mega/request.rb
- lib/jets/mega/request/source.rb
- lib/jets/middleware.rb
- lib/jets/middleware/configurator.rb
- lib/jets/middleware/default_stack.rb
- lib/jets/middleware/layer.rb
- lib/jets/middleware/stack.rb
- lib/jets/naming.rb
- lib/jets/overrides/lambda.rb
- lib/jets/overrides/lambda/marshaller.rb
- lib/jets/overrides/rails.rb
- lib/jets/overrides/rails/action_controller.rb
- lib/jets/overrides/rails/asset_tag_helper.rb
- lib/jets/overrides/rails/common_methods.rb
- lib/jets/overrides/rails/migration_checker.rb
- lib/jets/overrides/rails/rendering_helper.rb
- lib/jets/overrides/rails/url_helper.rb
- lib/jets/poly_fun.rb
- lib/jets/poly_fun/base_executor.rb
- lib/jets/poly_fun/lambda_executor.rb
- lib/jets/poly_fun/node_error.rb
- lib/jets/poly_fun/node_executor.rb
- lib/jets/poly_fun/python_error.rb
- lib/jets/poly_fun/python_executor.rb
- lib/jets/preheat.rb
- lib/jets/processors/deducer.rb
- lib/jets/processors/main_processor.rb
- lib/jets/rack_server.rb
- lib/jets/rdoc.rb
- lib/jets/resource.rb
- lib/jets/resource/api_gateway/authorizer.rb
- lib/jets/resource/api_gateway/base_path/function.rb
- lib/jets/resource/api_gateway/base_path/mapping.rb
- lib/jets/resource/api_gateway/base_path/role.rb
- lib/jets/resource/api_gateway/cors.rb
- lib/jets/resource/api_gateway/deployment.rb
- lib/jets/resource/api_gateway/domain_name.rb
- lib/jets/resource/api_gateway/method.rb
- lib/jets/resource/api_gateway/method/authorization.rb
- lib/jets/resource/api_gateway/resource.rb
- lib/jets/resource/api_gateway/rest_api.rb
- lib/jets/resource/api_gateway/rest_api/change_detection.rb
- lib/jets/resource/api_gateway/rest_api/logical_id.rb
- lib/jets/resource/api_gateway/rest_api/routes.rb
- lib/jets/resource/api_gateway/rest_api/routes/change.rb
- lib/jets/resource/api_gateway/rest_api/routes/change/base.rb
- lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
- lib/jets/resource/api_gateway/rest_api/routes/change/page.rb
- lib/jets/resource/api_gateway/rest_api/routes/change/to.rb
- lib/jets/resource/api_gateway/rest_api/routes/change/variable.rb
- lib/jets/resource/api_gateway/rest_api/routes/collision.rb
- lib/jets/resource/api_gateway/rest_api/routes/collision/variable_exception.rb
- lib/jets/resource/associated.rb
- lib/jets/resource/base.rb
- lib/jets/resource/child_stack/api_deployment.rb
- lib/jets/resource/child_stack/api_gateway.rb
- lib/jets/resource/child_stack/api_resource.rb
- lib/jets/resource/child_stack/api_resource/page.rb
- lib/jets/resource/child_stack/app_class.rb
- lib/jets/resource/child_stack/authorizer.rb
- lib/jets/resource/child_stack/base.rb
- lib/jets/resource/child_stack/common_parameters.rb
- lib/jets/resource/child_stack/shared.rb
- lib/jets/resource/config/config_rule.rb
- lib/jets/resource/config/managed_rule.rb
- lib/jets/resource/events/rule.rb
- lib/jets/resource/iam/application_role.rb
- lib/jets/resource/iam/base_role_definition.rb
- lib/jets/resource/iam/class_role.rb
- lib/jets/resource/iam/function_role.rb
- lib/jets/resource/iam/managed_policy.rb
- lib/jets/resource/iam/policy_document.rb
- lib/jets/resource/iot/topic_rule.rb
- lib/jets/resource/lambda/event_source_mapping.rb
- lib/jets/resource/lambda/function.rb
- lib/jets/resource/lambda/function/environment.rb
- lib/jets/resource/lambda/gem_layer.rb
- lib/jets/resource/lambda/layer_version.rb
- lib/jets/resource/logs/subscription_filter.rb
- lib/jets/resource/permission.rb
- lib/jets/resource/replacer.rb
- lib/jets/resource/route53/record_set.rb
- lib/jets/resource/s3/bucket.rb
- lib/jets/resource/sns/subscription.rb
- lib/jets/resource/sns/topic.rb
- lib/jets/resource/sns/topic_policy.rb
- lib/jets/resource/sqs/queue.rb
- lib/jets/resource/standardizer.rb
- lib/jets/router.rb
- lib/jets/router/dsl.rb
- lib/jets/router/dsl/mount.rb
- lib/jets/router/error.rb
- lib/jets/router/finder.rb
- lib/jets/router/helpers.rb
- lib/jets/router/helpers/core_helper.rb
- lib/jets/router/helpers/named_routes_helper.rb
- lib/jets/router/matcher.rb
- lib/jets/router/method_creator.rb
- lib/jets/router/method_creator/code.rb
- lib/jets/router/method_creator/edit.rb
- lib/jets/router/method_creator/generic.rb
- lib/jets/router/method_creator/index.rb
- lib/jets/router/method_creator/new.rb
- lib/jets/router/method_creator/root.rb
- lib/jets/router/method_creator/show.rb
- lib/jets/router/resources/base.rb
- lib/jets/router/resources/filter.rb
- lib/jets/router/resources/options.rb
- lib/jets/router/route.rb
- lib/jets/router/route/authorizer.rb
- lib/jets/router/scope.rb
- lib/jets/router/util.rb
- lib/jets/rule/base.rb
- lib/jets/rule/dsl.rb
- lib/jets/spec_helpers.rb
- lib/jets/spec_helpers/controllers.rb
- lib/jets/spec_helpers/controllers/params.rb
- lib/jets/spec_helpers/controllers/request.rb
- lib/jets/spec_helpers/controllers/response.rb
- lib/jets/spec_helpers/fixtures.rb
- lib/jets/stack.rb
- lib/jets/stack/builder.rb
- lib/jets/stack/definition.rb
- lib/jets/stack/depends.rb
- lib/jets/stack/depends/item.rb
- lib/jets/stack/function.rb
- lib/jets/stack/main.rb
- lib/jets/stack/main/dsl.rb
- lib/jets/stack/main/dsl/base.rb
- lib/jets/stack/main/dsl/cloudwatch.rb
- lib/jets/stack/main/dsl/iam.rb
- lib/jets/stack/main/dsl/kinesis.rb
- lib/jets/stack/main/dsl/lambda.rb
- lib/jets/stack/main/dsl/s3.rb
- lib/jets/stack/main/dsl/sns.rb
- lib/jets/stack/main/dsl/sqs.rb
- lib/jets/stack/output.rb
- lib/jets/stack/output/dsl.rb
- lib/jets/stack/output/lookup.rb
- lib/jets/stack/parameter.rb
- lib/jets/stack/parameter/dsl.rb
- lib/jets/stack/resource.rb
- lib/jets/stack/resource/dsl.rb
- lib/jets/stack/s3_event.rb
- lib/jets/tmp_loader.rb
- lib/jets/turbine.rb
- lib/jets/turbo.rb
- lib/jets/turbo/database_yaml.rb
- lib/jets/turbo/project/app/controllers/application_controller.rb
- lib/jets/turbo/project/app/helpers/application_helper.rb
- lib/jets/turbo/project/app/jobs/application_job.rb
- lib/jets/turbo/project/config/application.rb
- lib/jets/turbo/project/config/routes.rb
- lib/jets/turbo/rails.rb
- lib/jets/util.rb
- lib/jets/version.rb