jets 0.5.0 → 0.5.1
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/.codebuild/scripts/install-java.sh +7 -5
- data/CHANGELOG.md +5 -0
- data/Gemfile.lock +2 -2
- data/README.md +1 -1
- data/jets.gemspec +3 -1
- data/lib/jets/commands/templates/skeleton/config/application.rb.tt +1 -1
- data/lib/jets/dotenv.rb +1 -1
- data/lib/jets/internal/app/jobs/jets/preheat_job.rb +0 -1
- data/lib/jets/version.rb +1 -1
- data/vendor/dynomite/CHANGELOG.md +34 -0
- data/vendor/dynomite/Gemfile +6 -0
- data/vendor/dynomite/README.md +141 -0
- data/vendor/dynomite/Rakefile +2 -0
- data/vendor/dynomite/bin/console +14 -0
- data/vendor/dynomite/bin/setup +8 -0
- data/vendor/dynomite/docs/migrations/long-example.rb +123 -0
- data/vendor/dynomite/docs/migrations/short-example.rb +36 -0
- data/vendor/dynomite/dynomite.gemspec +29 -0
- data/vendor/dynomite/lib/dynomite.rb +23 -0
- data/vendor/dynomite/lib/dynomite/core.rb +25 -0
- data/vendor/dynomite/lib/dynomite/db_config.rb +101 -0
- data/vendor/dynomite/lib/dynomite/erb.rb +53 -0
- data/vendor/dynomite/lib/dynomite/item.rb +291 -0
- data/vendor/dynomite/lib/dynomite/log.rb +15 -0
- data/vendor/dynomite/lib/dynomite/migration.rb +27 -0
- data/vendor/dynomite/lib/dynomite/migration/common.rb +86 -0
- data/vendor/dynomite/lib/dynomite/migration/dsl.rb +172 -0
- data/vendor/dynomite/lib/dynomite/migration/dsl/base_secondary_index.rb +72 -0
- data/vendor/dynomite/lib/dynomite/migration/dsl/global_secondary_index.rb +4 -0
- data/vendor/dynomite/lib/dynomite/migration/dsl/local_secondary_index.rb +8 -0
- data/vendor/dynomite/lib/dynomite/migration/executor.rb +30 -0
- data/vendor/dynomite/lib/dynomite/migration/generator.rb +68 -0
- data/vendor/dynomite/lib/dynomite/migration/templates/create_table.rb +32 -0
- data/vendor/dynomite/lib/dynomite/migration/templates/update_table.rb +26 -0
- data/vendor/dynomite/lib/dynomite/version.rb +3 -0
- data/vendor/dynomite/spec/fixtures/app_root/config/dynamodb.yml +7 -0
- data/vendor/dynomite/spec/lib/dynomite/item_spec.rb +89 -0
- data/vendor/dynomite/spec/lib/dynomite/migration/dsl/global_secondary_index_spec.rb +106 -0
- data/vendor/dynomite/spec/lib/dynomite/migration/dsl/local_secondary_index_spec.rb +72 -0
- data/vendor/dynomite/spec/lib/dynomite/migration/dsl_spec.rb +76 -0
- data/vendor/dynomite/spec/lib/dynomite/migration/generator_spec.rb +23 -0
- data/vendor/dynomite/spec/lib/dynomite/migration_spec.rb +60 -0
- data/vendor/dynomite/spec/spec_helper.rb +110 -0
- data/vendor/lambdagem/CHANGELOG.md +24 -0
- data/vendor/lambdagem/Gemfile +6 -0
- data/vendor/lambdagem/Gemfile.lock +73 -0
- data/vendor/lambdagem/Guardfile +12 -0
- data/vendor/lambdagem/LICENSE.txt +22 -0
- data/vendor/lambdagem/README.md +143 -0
- data/vendor/lambdagem/Rakefile +6 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-10.0.0/byebug/byebug.so +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-10.0.0/gem.build_complete +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-10.0.0/gem_make.out +19 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/LICENSE +23 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/exe/byebug +6 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/Makefile +263 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/breakpoint.c +517 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/breakpoint.o +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.c +905 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.h +143 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.o +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.so +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/context.c +673 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/context.o +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/extconf.rb +12 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/locker.c +96 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/locker.o +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/threads.c +230 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/threads.o +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug.rb +3 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/attacher.rb +48 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/breakpoint.rb +111 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/byebug.so +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/command.rb +111 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/command_list.rb +34 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands.rb +39 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/break.rb +116 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/catch.rb +82 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/condition.rb +57 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/continue.rb +50 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/debug.rb +38 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/delete.rb +57 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable.rb +33 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable/breakpoints.rb +42 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable/display.rb +43 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/display.rb +66 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/down.rb +45 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/edit.rb +68 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable.rb +33 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable/breakpoints.rb +42 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable/display.rb +43 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/finish.rb +57 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/frame.rb +57 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/help.rb +64 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/history.rb +39 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info.rb +37 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/breakpoints.rb +67 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/display.rb +51 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/file.rb +82 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/line.rb +35 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/program.rb +49 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/interrupt.rb +34 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/irb.rb +52 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/kill.rb +47 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/list.rb +159 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/method.rb +53 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/next.rb +40 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/pry.rb +43 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/quit.rb +42 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/restart.rb +64 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/save.rb +72 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/set.rb +79 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/show.rb +45 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/source.rb +42 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/step.rb +40 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread.rb +34 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/current.rb +37 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/list.rb +43 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/resume.rb +47 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/stop.rb +43 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/switch.rb +46 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/tracevar.rb +57 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/undisplay.rb +52 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/untracevar.rb +36 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/up.rb +45 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var.rb +37 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/all.rb +41 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/args.rb +39 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/const.rb +51 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/global.rb +37 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/instance.rb +39 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/local.rb +39 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/where.rb +53 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/context.rb +157 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/core.rb +114 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/errors.rb +29 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/frame.rb +185 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/bin.rb +47 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/eval.rb +126 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/file.rb +63 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/frame.rb +75 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/parse.rb +77 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/path.rb +40 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/reflection.rb +19 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/string.rb +36 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/thread.rb +67 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/toggle.rb +64 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/var.rb +54 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/history.rb +130 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interface.rb +146 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/local_interface.rb +44 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/remote_interface.rb +50 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/script_interface.rb +32 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/test_interface.rb +67 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/option_setter.rb +95 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/base.rb +69 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/plain.rb +44 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/texts/base.yml +115 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/texts/plain.yml +33 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/command_processor.rb +173 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/control_processor.rb +24 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/post_mortem_processor.rb +18 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/script_processor.rb +49 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote.rb +85 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote/client.rb +55 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote/server.rb +47 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/runner.rb +198 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/setting.rb +79 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autoirb.rb +29 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autolist.rb +29 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autopry.rb +29 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autosave.rb +17 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/basename.rb +16 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/callstyle.rb +20 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/fullpath.rb +16 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/histfile.rb +20 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/histsize.rb +20 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/linetrace.rb +22 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/listsize.rb +21 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/post_mortem.rb +27 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/savefile.rb +20 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/stack_on_error.rb +15 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/width.rb +20 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/source_file_formatter.rb +71 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/subcommands.rb +54 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/version.rb +8 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/specifications/byebug-10.0.0.gemspec +39 -0
- data/vendor/lambdagem/exe/lambdagem +14 -0
- data/vendor/lambdagem/lambdagem.gemspec +32 -0
- data/vendor/lambdagem/lib/lambdagem.rb +16 -0
- data/vendor/lambdagem/lib/lambdagem/base.rb +51 -0
- data/vendor/lambdagem/lib/lambdagem/build.rb +202 -0
- data/vendor/lambdagem/lib/lambdagem/clean.rb +8 -0
- data/vendor/lambdagem/lib/lambdagem/cli.rb +62 -0
- data/vendor/lambdagem/lib/lambdagem/command.rb +38 -0
- data/vendor/lambdagem/lib/lambdagem/exist.rb +50 -0
- data/vendor/lambdagem/lib/lambdagem/extract.rb +8 -0
- data/vendor/lambdagem/lib/lambdagem/extract/base.rb +62 -0
- data/vendor/lambdagem/lib/lambdagem/extract/class_methods.rb +50 -0
- data/vendor/lambdagem/lib/lambdagem/extract/gem.rb +95 -0
- data/vendor/lambdagem/lib/lambdagem/extract/ruby.rb +62 -0
- data/vendor/lambdagem/lib/lambdagem/help.rb +9 -0
- data/vendor/lambdagem/lib/lambdagem/help/all.md +11 -0
- data/vendor/lambdagem/lib/lambdagem/help/build.md +14 -0
- data/vendor/lambdagem/lib/lambdagem/help/clean.md +5 -0
- data/vendor/lambdagem/lib/lambdagem/help/extract_gem.md +5 -0
- data/vendor/lambdagem/lib/lambdagem/help/extract_ruby.md +5 -0
- data/vendor/lambdagem/lib/lambdagem/help/package.md +20 -0
- data/vendor/lambdagem/lib/lambdagem/help/upload.md +7 -0
- data/vendor/lambdagem/lib/lambdagem/package.rb +33 -0
- data/vendor/lambdagem/lib/lambdagem/upload.rb +39 -0
- data/vendor/lambdagem/lib/lambdagem/version.rb +3 -0
- data/vendor/lambdagem/spec/lib/build_spec.rb +32 -0
- data/vendor/lambdagem/spec/lib/cli_spec.rb +24 -0
- data/vendor/lambdagem/spec/lib/upload_spec.rb +25 -0
- data/vendor/lambdagem/spec/spec_helper.rb +24 -0
- metadata +212 -2
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require "thor"
|
|
2
|
+
|
|
3
|
+
# Override thor's long_desc identation behavior
|
|
4
|
+
# https://github.com/erikhuda/thor/issues/398
|
|
5
|
+
class Thor
|
|
6
|
+
module Shell
|
|
7
|
+
class Basic
|
|
8
|
+
def print_wrapped(message, options = {})
|
|
9
|
+
message = "\n#{message}" unless message[0] == "\n"
|
|
10
|
+
stdout.puts message
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
module Lambdagem
|
|
17
|
+
class Command < Thor
|
|
18
|
+
class << self
|
|
19
|
+
def dispatch(m, args, options, config)
|
|
20
|
+
# Allow calling for help via:
|
|
21
|
+
# lambdagem command help
|
|
22
|
+
# lambdagem command -h
|
|
23
|
+
# lambdagem command --help
|
|
24
|
+
# lambdagem command -D
|
|
25
|
+
#
|
|
26
|
+
# as well thor's normal way:
|
|
27
|
+
#
|
|
28
|
+
# lambdagem help command
|
|
29
|
+
help_flags = Thor::HELP_MAPPINGS + ["help"]
|
|
30
|
+
if args.length > 1 && !(args & help_flags).empty?
|
|
31
|
+
args -= help_flags
|
|
32
|
+
args.insert(-2, "help")
|
|
33
|
+
end
|
|
34
|
+
super
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
class Lambdagem::Exist < Lambdagem::Base
|
|
2
|
+
def initialize(options)
|
|
3
|
+
@options = options
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
# We check all the availability before even downloading so we can provide a
|
|
7
|
+
# full list of gems they might want to research all at once instead of incrementally
|
|
8
|
+
#
|
|
9
|
+
# Examples:
|
|
10
|
+
#
|
|
11
|
+
# check(single_gem)
|
|
12
|
+
# check(list, of, gems)
|
|
13
|
+
def check(*gem_names)
|
|
14
|
+
gem_names = gem_names.flatten
|
|
15
|
+
exists = gem_names.inject({}) do |hash, gem_name|
|
|
16
|
+
exist = url_exists?(gem_url(gem_name))
|
|
17
|
+
hash[gem_name] = exist
|
|
18
|
+
hash.merge(hash)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
exists.values.all? {|v| v } # all_exist
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Example url:
|
|
25
|
+
# https://gems.lambdagems.com/gems/2.5.0/byebug/byebug-9.1.0-x86_64-linux.tgz
|
|
26
|
+
def url_exists?(url)
|
|
27
|
+
url = URI.parse(url)
|
|
28
|
+
req = Net::HTTP.new(url.host, url.port).tap do |http|
|
|
29
|
+
http.use_ssl = true
|
|
30
|
+
end
|
|
31
|
+
res = req.request_head(url.path)
|
|
32
|
+
res.code == "200"
|
|
33
|
+
rescue SocketError, OpenURI::HTTPError
|
|
34
|
+
false
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def lambdagems_url
|
|
38
|
+
s3_bucket = @options[:s3] || "lambdagems"
|
|
39
|
+
s3_url = "https://s3.amazonaws.com/#{s3_bucket}"
|
|
40
|
+
@options[:lambdagems_url] || s3_url
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# gem_name: byebug-9.1.0
|
|
44
|
+
# Example url:
|
|
45
|
+
# https://gems.lambdagems.com/gems/2.5.0/byebug/byebug-9.1.0-x86_64-linux.tgz
|
|
46
|
+
def gem_url(gem_name)
|
|
47
|
+
folder = gem_name.gsub(/-(\d+\.\d+\.\d+.*)/,'') # folder: byebug
|
|
48
|
+
"#{lambdagems_url}/gems/#{jets_ruby_version}/#{folder}/#{gem_name}-x86_64-linux.tgz"
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require "open-uri"
|
|
2
|
+
|
|
3
|
+
module Lambdagem::Extract
|
|
4
|
+
autoload :ClassMethods, 'lambdagem/extract/class_methods'
|
|
5
|
+
|
|
6
|
+
class Base < Lambdagem::Base
|
|
7
|
+
extend ClassMethods
|
|
8
|
+
|
|
9
|
+
def clean_downloads(folder)
|
|
10
|
+
path = "#{@build_root}/downloads/#{folder}"
|
|
11
|
+
puts "Removing cache: #{path}"
|
|
12
|
+
FileUtils.rm_rf(path)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def unpack_tarball(tarball_path)
|
|
16
|
+
dest = project_root
|
|
17
|
+
puts "Unpacking into #{dest}"
|
|
18
|
+
FileUtils.mkdir_p(dest)
|
|
19
|
+
untar(tarball_path, dest)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def untar(tarball_path, parent_folder_dest)
|
|
23
|
+
sh("tar -xzf #{tarball_path} -C #{parent_folder_dest}")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def sh(command)
|
|
27
|
+
puts "=> #{command}".colorize(:green)
|
|
28
|
+
success = system(command)
|
|
29
|
+
abort("Command Failed") unless success
|
|
30
|
+
success
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def url_exists?(url)
|
|
34
|
+
self.class.url_exists?(url)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Returns the dest path
|
|
38
|
+
def download_file(source_url, dest)
|
|
39
|
+
puts "Url #{source_url}"
|
|
40
|
+
return unless url_exists?(source_url)
|
|
41
|
+
|
|
42
|
+
if File.exist?(dest)
|
|
43
|
+
puts "File already downloaded #{dest}"
|
|
44
|
+
return dest
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
puts "Downloading..."
|
|
48
|
+
FileUtils.mkdir_p(File.dirname(dest)) # ensure parent folder exists
|
|
49
|
+
|
|
50
|
+
File.open(dest, 'wb') do |saved_file|
|
|
51
|
+
open(source_url, 'rb') do |read_file|
|
|
52
|
+
saved_file.write(read_file.read)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
dest
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def project_root
|
|
59
|
+
@options[:project_root] || "."
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
require "net/http"
|
|
2
|
+
|
|
3
|
+
module Lambdagem::Extract::ClassMethods
|
|
4
|
+
# Exits early if not all the linux gems are available
|
|
5
|
+
# It better to error now then later on Lambda
|
|
6
|
+
# Provide users with instructions on how to compile gems
|
|
7
|
+
#
|
|
8
|
+
# We check all the availability before even downloading so we can provide a
|
|
9
|
+
# full list of gems they might want to research all at once instead of incrementally
|
|
10
|
+
def check_availability(gems)
|
|
11
|
+
availabilities = gems.inject({}) do |hash, gem_name|
|
|
12
|
+
exist = url_exists?(gem_url(gem_name))
|
|
13
|
+
hash[gem_name] = exist
|
|
14
|
+
hash.merge(hash)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
all_available = availabilities.values.all? {|v| v }
|
|
18
|
+
unless all_available
|
|
19
|
+
puts "Your project requires some pre-compiled Linux gems that are not yet available as a pre-compiled lambda gem. The build process will not continue because there's no point wasting your time deploying to Lambda and finding out later."
|
|
20
|
+
puts "The unavailable gems are:"
|
|
21
|
+
availabilities.each do |gem_name, available|
|
|
22
|
+
next if available
|
|
23
|
+
puts " #{gem_name}"
|
|
24
|
+
end
|
|
25
|
+
puts <<-EOL
|
|
26
|
+
How to fix this:
|
|
27
|
+
|
|
28
|
+
1. Build your jets project on an Amazon Lambda based EC2 Instance and compile your own gems with the proper shared libaries.
|
|
29
|
+
2. Configure jets to lookup your own pre-compiled gems url.
|
|
30
|
+
3. Add the the required gems to boltopslabs/lambdagems and submit a pull request.
|
|
31
|
+
|
|
32
|
+
More info: http://lambdagems.com
|
|
33
|
+
EOL
|
|
34
|
+
exit
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Example url:
|
|
39
|
+
# https://gems.lambdagems.com/gems/2.5.0/byebug/byebug-9.1.0-x86_64-linux.tgz
|
|
40
|
+
def url_exists?(url)
|
|
41
|
+
url = URI.parse(url)
|
|
42
|
+
req = Net::HTTP.new(url.host, url.port).tap do |http|
|
|
43
|
+
http.use_ssl = true
|
|
44
|
+
end
|
|
45
|
+
res = req.request_head(url.path)
|
|
46
|
+
res.code == "200"
|
|
47
|
+
rescue SocketError, OpenURI::HTTPError
|
|
48
|
+
false
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
require "gems"
|
|
2
|
+
|
|
3
|
+
# Usage:
|
|
4
|
+
#
|
|
5
|
+
# Lambdagem::Extract::Gem.new("pg-0.21.0",
|
|
6
|
+
# s3: "lambdagems",
|
|
7
|
+
# build_root: cache_area, # defaults to /tmp/lambdagem
|
|
8
|
+
# dest: cache_area, # defaults to . (project_root)
|
|
9
|
+
# ).run
|
|
10
|
+
#
|
|
11
|
+
module Lambdagem::Extract
|
|
12
|
+
class Gem < Base
|
|
13
|
+
VERSION_PATTERN = /-(\d+\.\d+\.\d+.*)/
|
|
14
|
+
|
|
15
|
+
def run
|
|
16
|
+
puts "Looking for #{full_gem_name} gem in s3 bucket: #{@options[:s3]}"
|
|
17
|
+
clean_downloads(:gems) if @options[:clean]
|
|
18
|
+
tarball_path = download_gem
|
|
19
|
+
remove_current_gem
|
|
20
|
+
unpack_tarball(tarball_path)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# ensure that we always have the full gem name
|
|
24
|
+
def full_gem_name
|
|
25
|
+
return @full_gem_name if @full_gem_name
|
|
26
|
+
|
|
27
|
+
@name # TODO: make sure that we always have the full gem name with version number
|
|
28
|
+
if @name.match(VERSION_PATTERN)
|
|
29
|
+
@full_gem_name = @name
|
|
30
|
+
return @full_gem_name
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# name doesnt have a version yet, so grab the latest version and add it
|
|
34
|
+
version = Gems.versions(@name).first
|
|
35
|
+
@full_gem_name = "#{@name}-#{version["number"]}"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def gem_name
|
|
39
|
+
full_gem_name.gsub(VERSION_PATTERN,'') # folder: byebug
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Downloads and extracts the linux gem into the proper directory.
|
|
43
|
+
# Extracts to: . (current directory)
|
|
44
|
+
#
|
|
45
|
+
# It produces a `bundled` folder.
|
|
46
|
+
# The folder contains the re-produced directory structure. Example with
|
|
47
|
+
# the gem: byebug-9.1.0
|
|
48
|
+
#
|
|
49
|
+
# bundled/gems/ruby/2.5.0/extensions/x86_64-darwin-16/2.5.0-static/byebug-9.1.0
|
|
50
|
+
#
|
|
51
|
+
def download_gem
|
|
52
|
+
# download - also move to /tmp/jets/demo/compiled_gems folder
|
|
53
|
+
url = gem_url
|
|
54
|
+
tarball_dest = download_file(url, download_path(File.basename(url)))
|
|
55
|
+
unless tarball_dest
|
|
56
|
+
message = "Url: #{url} not found"
|
|
57
|
+
if @options[:exit_on_error]
|
|
58
|
+
puts message
|
|
59
|
+
exit
|
|
60
|
+
else
|
|
61
|
+
raise NotFound.new(message)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
puts "Tarball downloaded to: #{tarball_dest}"
|
|
65
|
+
tarball_dest
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def download_path(filename)
|
|
69
|
+
"#{@build_root}/downloads/gems/#{filename}"
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Finds any currently install gems that matched with the gem name and version
|
|
73
|
+
# and remove them first.
|
|
74
|
+
# We clean up the current install gems first in case it was previously installed
|
|
75
|
+
# and has different *.so files that can be accidentally required. This
|
|
76
|
+
# happened with the pg gem.
|
|
77
|
+
def remove_current_gem
|
|
78
|
+
puts "Removing current #{full_gem_name} gem installation:"
|
|
79
|
+
gem_dirs = Dir.glob("#{project_root}/**/*").select do |path|
|
|
80
|
+
File.directory?(path) &&
|
|
81
|
+
path =~ %r{bundled/gems} &&
|
|
82
|
+
File.basename(path) == full_gem_name
|
|
83
|
+
end
|
|
84
|
+
gem_dirs.each do |dir|
|
|
85
|
+
puts " rm -rf #{dir}"
|
|
86
|
+
FileUtils.rm_rf(dir)
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# full_gem_name: byebug-9.1.0
|
|
91
|
+
def gem_url
|
|
92
|
+
"#{lambdagems_url}/gems/#{jets_ruby_version}/#{gem_name}/#{full_gem_name}-x86_64-linux.tgz"
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Usage:
|
|
2
|
+
#
|
|
3
|
+
# Lambdagem::Extract::Ruby.new("2.5.0",
|
|
4
|
+
# s3: "lambdagems",
|
|
5
|
+
# build_root: cache_area, # defaults to /tmp/lambdagem
|
|
6
|
+
# dest: cache_area, # defaults to . (project_root)
|
|
7
|
+
# ).run
|
|
8
|
+
#
|
|
9
|
+
module Lambdagem::Extract
|
|
10
|
+
class Ruby < Base
|
|
11
|
+
class NotFound < RuntimeError; end
|
|
12
|
+
|
|
13
|
+
def run
|
|
14
|
+
puts "Looking for #{full_ruby_name} in S3 bucket: #{@options[:s3]}"
|
|
15
|
+
clean_downloads(:rubies) if @options[:clean]
|
|
16
|
+
tarball_path = download_ruby
|
|
17
|
+
unpack_tarball(tarball_path)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def download_ruby
|
|
21
|
+
url = ruby_url
|
|
22
|
+
tarball_dest = download_file(url, download_path(File.basename(url)))
|
|
23
|
+
unless tarball_dest
|
|
24
|
+
message = "Url: #{url} not found"
|
|
25
|
+
if @options[:exit_on_error]
|
|
26
|
+
puts message
|
|
27
|
+
# exit # TODO: ADD BACK IN
|
|
28
|
+
else
|
|
29
|
+
raise NotFound.new(message)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
puts "Tarball downloaded to: #{tarball_dest}"
|
|
33
|
+
tarball_dest
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def download_path(filename)
|
|
37
|
+
"#{@build_root}/downloads/rubies/#{filename}"
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# If only the ruby version is given, then append ruby- in front. Otherwise
|
|
41
|
+
# leave alone.
|
|
42
|
+
#
|
|
43
|
+
# Example:
|
|
44
|
+
#
|
|
45
|
+
# 2.5.0 -> ruby-2.5.0-linux-x86_64.tgz
|
|
46
|
+
# ruby-2.5.0 -> ruby-2.5.0-linux-x86_64.tgz
|
|
47
|
+
# test-ruby-2.5.0 -> test-ruby-2.5.0-linux-x86_64.tgz
|
|
48
|
+
def full_ruby_name
|
|
49
|
+
md = @name.match(/^(\d+\.\d+\.\d+)$/)
|
|
50
|
+
if md
|
|
51
|
+
ruby_version = md[1]
|
|
52
|
+
"ruby-#{ruby_version}-linux-x86_64.tgz"
|
|
53
|
+
else
|
|
54
|
+
"#{@name}-linux-x86_64.tgz"
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def ruby_url
|
|
59
|
+
"#{lambdagems_url}/rubies/#{full_ruby_name}"
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Builds, packages and uploads the gem to s3 all in one step. This is useful for simply compiled gems that do not required any shared .so files during runtime.
|
|
2
|
+
|
|
3
|
+
Examples:
|
|
4
|
+
|
|
5
|
+
$ lambdagem all byebug --s3 lambdagems
|
|
6
|
+
|
|
7
|
+
So the above command is the same as running:
|
|
8
|
+
|
|
9
|
+
$ lambdagem build byebug
|
|
10
|
+
$ lambdagem package byebug
|
|
11
|
+
$ lambdagem upload byebug --s3 lambdagems
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Builds a gem. Examples:
|
|
2
|
+
|
|
3
|
+
lambdagem build byebug
|
|
4
|
+
lambdagem build byebug-0.9.1
|
|
5
|
+
|
|
6
|
+
The lambdagem builds the gem in `/tmp/lambdagem`. This is where you'll find the Gemfile that is produces and where you can test the gem.
|
|
7
|
+
|
|
8
|
+
A slim down version of `/tmp/lambdagem/bundled/gems` the is initial created in `/tmp/lambdagem/artifacts/byebug-0.9.1/bundled/gems`. This slim down version contains only the byebug gem files.
|
|
9
|
+
|
|
10
|
+
When you are ready, the gem can be packaged to tarball with the `bundle package` command. The tarball is stored at:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/tmp/lambdagem/artifacts/byebug-9.1.0-x86_64-linux.tar.gz
|
|
14
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Pakcages gem into a tarball. The tarball created is named after the gem name with version, but it contains the "bundled" folder with the underlying full structure.
|
|
2
|
+
|
|
3
|
+
It is meant to be extracted via:
|
|
4
|
+
|
|
5
|
+
mkdir -p /var/task
|
|
6
|
+
tar zxf byebug-0.9.1.tgz -C /var/task
|
|
7
|
+
# creates /var/task/bundled
|
|
8
|
+
|
|
9
|
+
Same as:
|
|
10
|
+
|
|
11
|
+
mkdir -p /var/task
|
|
12
|
+
cd /var/task && tar zxf byebug-0.9.1.tgz
|
|
13
|
+
# creates /var/task/bundled
|
|
14
|
+
|
|
15
|
+
Examples:
|
|
16
|
+
|
|
17
|
+
$ lambdagem package byebug
|
|
18
|
+
|
|
19
|
+
$ lambdagem package byebug-0.9.1
|
|
20
|
+
|