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.
Files changed (218) hide show
  1. checksums.yaml +4 -4
  2. data/.codebuild/scripts/install-java.sh +7 -5
  3. data/CHANGELOG.md +5 -0
  4. data/Gemfile.lock +2 -2
  5. data/README.md +1 -1
  6. data/jets.gemspec +3 -1
  7. data/lib/jets/commands/templates/skeleton/config/application.rb.tt +1 -1
  8. data/lib/jets/dotenv.rb +1 -1
  9. data/lib/jets/internal/app/jobs/jets/preheat_job.rb +0 -1
  10. data/lib/jets/version.rb +1 -1
  11. data/vendor/dynomite/CHANGELOG.md +34 -0
  12. data/vendor/dynomite/Gemfile +6 -0
  13. data/vendor/dynomite/README.md +141 -0
  14. data/vendor/dynomite/Rakefile +2 -0
  15. data/vendor/dynomite/bin/console +14 -0
  16. data/vendor/dynomite/bin/setup +8 -0
  17. data/vendor/dynomite/docs/migrations/long-example.rb +123 -0
  18. data/vendor/dynomite/docs/migrations/short-example.rb +36 -0
  19. data/vendor/dynomite/dynomite.gemspec +29 -0
  20. data/vendor/dynomite/lib/dynomite.rb +23 -0
  21. data/vendor/dynomite/lib/dynomite/core.rb +25 -0
  22. data/vendor/dynomite/lib/dynomite/db_config.rb +101 -0
  23. data/vendor/dynomite/lib/dynomite/erb.rb +53 -0
  24. data/vendor/dynomite/lib/dynomite/item.rb +291 -0
  25. data/vendor/dynomite/lib/dynomite/log.rb +15 -0
  26. data/vendor/dynomite/lib/dynomite/migration.rb +27 -0
  27. data/vendor/dynomite/lib/dynomite/migration/common.rb +86 -0
  28. data/vendor/dynomite/lib/dynomite/migration/dsl.rb +172 -0
  29. data/vendor/dynomite/lib/dynomite/migration/dsl/base_secondary_index.rb +72 -0
  30. data/vendor/dynomite/lib/dynomite/migration/dsl/global_secondary_index.rb +4 -0
  31. data/vendor/dynomite/lib/dynomite/migration/dsl/local_secondary_index.rb +8 -0
  32. data/vendor/dynomite/lib/dynomite/migration/executor.rb +30 -0
  33. data/vendor/dynomite/lib/dynomite/migration/generator.rb +68 -0
  34. data/vendor/dynomite/lib/dynomite/migration/templates/create_table.rb +32 -0
  35. data/vendor/dynomite/lib/dynomite/migration/templates/update_table.rb +26 -0
  36. data/vendor/dynomite/lib/dynomite/version.rb +3 -0
  37. data/vendor/dynomite/spec/fixtures/app_root/config/dynamodb.yml +7 -0
  38. data/vendor/dynomite/spec/lib/dynomite/item_spec.rb +89 -0
  39. data/vendor/dynomite/spec/lib/dynomite/migration/dsl/global_secondary_index_spec.rb +106 -0
  40. data/vendor/dynomite/spec/lib/dynomite/migration/dsl/local_secondary_index_spec.rb +72 -0
  41. data/vendor/dynomite/spec/lib/dynomite/migration/dsl_spec.rb +76 -0
  42. data/vendor/dynomite/spec/lib/dynomite/migration/generator_spec.rb +23 -0
  43. data/vendor/dynomite/spec/lib/dynomite/migration_spec.rb +60 -0
  44. data/vendor/dynomite/spec/spec_helper.rb +110 -0
  45. data/vendor/lambdagem/CHANGELOG.md +24 -0
  46. data/vendor/lambdagem/Gemfile +6 -0
  47. data/vendor/lambdagem/Gemfile.lock +73 -0
  48. data/vendor/lambdagem/Guardfile +12 -0
  49. data/vendor/lambdagem/LICENSE.txt +22 -0
  50. data/vendor/lambdagem/README.md +143 -0
  51. data/vendor/lambdagem/Rakefile +6 -0
  52. 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
  53. 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
  54. 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
  55. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/LICENSE +23 -0
  56. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/exe/byebug +6 -0
  57. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/Makefile +263 -0
  58. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/breakpoint.c +517 -0
  59. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/breakpoint.o +0 -0
  60. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.c +905 -0
  61. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.h +143 -0
  62. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.o +0 -0
  63. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.so +0 -0
  64. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/context.c +673 -0
  65. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/context.o +0 -0
  66. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/extconf.rb +12 -0
  67. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/locker.c +96 -0
  68. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/locker.o +0 -0
  69. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/threads.c +230 -0
  70. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/threads.o +0 -0
  71. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug.rb +3 -0
  72. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/attacher.rb +48 -0
  73. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/breakpoint.rb +111 -0
  74. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/byebug.so +0 -0
  75. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/command.rb +111 -0
  76. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/command_list.rb +34 -0
  77. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands.rb +39 -0
  78. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/break.rb +116 -0
  79. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/catch.rb +82 -0
  80. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/condition.rb +57 -0
  81. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/continue.rb +50 -0
  82. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/debug.rb +38 -0
  83. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/delete.rb +57 -0
  84. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable.rb +33 -0
  85. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable/breakpoints.rb +42 -0
  86. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable/display.rb +43 -0
  87. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/display.rb +66 -0
  88. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/down.rb +45 -0
  89. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/edit.rb +68 -0
  90. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable.rb +33 -0
  91. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable/breakpoints.rb +42 -0
  92. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable/display.rb +43 -0
  93. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/finish.rb +57 -0
  94. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/frame.rb +57 -0
  95. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/help.rb +64 -0
  96. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/history.rb +39 -0
  97. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info.rb +37 -0
  98. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/breakpoints.rb +67 -0
  99. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/display.rb +51 -0
  100. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/file.rb +82 -0
  101. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/line.rb +35 -0
  102. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/program.rb +49 -0
  103. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/interrupt.rb +34 -0
  104. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/irb.rb +52 -0
  105. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/kill.rb +47 -0
  106. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/list.rb +159 -0
  107. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/method.rb +53 -0
  108. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/next.rb +40 -0
  109. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/pry.rb +43 -0
  110. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/quit.rb +42 -0
  111. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/restart.rb +64 -0
  112. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/save.rb +72 -0
  113. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/set.rb +79 -0
  114. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/show.rb +45 -0
  115. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/source.rb +42 -0
  116. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/step.rb +40 -0
  117. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread.rb +34 -0
  118. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/current.rb +37 -0
  119. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/list.rb +43 -0
  120. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/resume.rb +47 -0
  121. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/stop.rb +43 -0
  122. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/switch.rb +46 -0
  123. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/tracevar.rb +57 -0
  124. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/undisplay.rb +52 -0
  125. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/untracevar.rb +36 -0
  126. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/up.rb +45 -0
  127. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var.rb +37 -0
  128. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/all.rb +41 -0
  129. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/args.rb +39 -0
  130. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/const.rb +51 -0
  131. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/global.rb +37 -0
  132. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/instance.rb +39 -0
  133. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/local.rb +39 -0
  134. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/where.rb +53 -0
  135. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/context.rb +157 -0
  136. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/core.rb +114 -0
  137. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/errors.rb +29 -0
  138. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/frame.rb +185 -0
  139. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/bin.rb +47 -0
  140. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/eval.rb +126 -0
  141. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/file.rb +63 -0
  142. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/frame.rb +75 -0
  143. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/parse.rb +77 -0
  144. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/path.rb +40 -0
  145. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/reflection.rb +19 -0
  146. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/string.rb +36 -0
  147. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/thread.rb +67 -0
  148. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/toggle.rb +64 -0
  149. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/var.rb +54 -0
  150. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/history.rb +130 -0
  151. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interface.rb +146 -0
  152. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/local_interface.rb +44 -0
  153. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/remote_interface.rb +50 -0
  154. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/script_interface.rb +32 -0
  155. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/test_interface.rb +67 -0
  156. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/option_setter.rb +95 -0
  157. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/base.rb +69 -0
  158. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/plain.rb +44 -0
  159. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/texts/base.yml +115 -0
  160. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/texts/plain.yml +33 -0
  161. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/command_processor.rb +173 -0
  162. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/control_processor.rb +24 -0
  163. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/post_mortem_processor.rb +18 -0
  164. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/script_processor.rb +49 -0
  165. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote.rb +85 -0
  166. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote/client.rb +55 -0
  167. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote/server.rb +47 -0
  168. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/runner.rb +198 -0
  169. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/setting.rb +79 -0
  170. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autoirb.rb +29 -0
  171. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autolist.rb +29 -0
  172. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autopry.rb +29 -0
  173. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autosave.rb +17 -0
  174. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/basename.rb +16 -0
  175. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/callstyle.rb +20 -0
  176. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/fullpath.rb +16 -0
  177. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/histfile.rb +20 -0
  178. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/histsize.rb +20 -0
  179. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/linetrace.rb +22 -0
  180. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/listsize.rb +21 -0
  181. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/post_mortem.rb +27 -0
  182. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/savefile.rb +20 -0
  183. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/stack_on_error.rb +15 -0
  184. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/width.rb +20 -0
  185. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/source_file_formatter.rb +71 -0
  186. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/subcommands.rb +54 -0
  187. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/version.rb +8 -0
  188. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/specifications/byebug-10.0.0.gemspec +39 -0
  189. data/vendor/lambdagem/exe/lambdagem +14 -0
  190. data/vendor/lambdagem/lambdagem.gemspec +32 -0
  191. data/vendor/lambdagem/lib/lambdagem.rb +16 -0
  192. data/vendor/lambdagem/lib/lambdagem/base.rb +51 -0
  193. data/vendor/lambdagem/lib/lambdagem/build.rb +202 -0
  194. data/vendor/lambdagem/lib/lambdagem/clean.rb +8 -0
  195. data/vendor/lambdagem/lib/lambdagem/cli.rb +62 -0
  196. data/vendor/lambdagem/lib/lambdagem/command.rb +38 -0
  197. data/vendor/lambdagem/lib/lambdagem/exist.rb +50 -0
  198. data/vendor/lambdagem/lib/lambdagem/extract.rb +8 -0
  199. data/vendor/lambdagem/lib/lambdagem/extract/base.rb +62 -0
  200. data/vendor/lambdagem/lib/lambdagem/extract/class_methods.rb +50 -0
  201. data/vendor/lambdagem/lib/lambdagem/extract/gem.rb +95 -0
  202. data/vendor/lambdagem/lib/lambdagem/extract/ruby.rb +62 -0
  203. data/vendor/lambdagem/lib/lambdagem/help.rb +9 -0
  204. data/vendor/lambdagem/lib/lambdagem/help/all.md +11 -0
  205. data/vendor/lambdagem/lib/lambdagem/help/build.md +14 -0
  206. data/vendor/lambdagem/lib/lambdagem/help/clean.md +5 -0
  207. data/vendor/lambdagem/lib/lambdagem/help/extract_gem.md +5 -0
  208. data/vendor/lambdagem/lib/lambdagem/help/extract_ruby.md +5 -0
  209. data/vendor/lambdagem/lib/lambdagem/help/package.md +20 -0
  210. data/vendor/lambdagem/lib/lambdagem/help/upload.md +7 -0
  211. data/vendor/lambdagem/lib/lambdagem/package.rb +33 -0
  212. data/vendor/lambdagem/lib/lambdagem/upload.rb +39 -0
  213. data/vendor/lambdagem/lib/lambdagem/version.rb +3 -0
  214. data/vendor/lambdagem/spec/lib/build_spec.rb +32 -0
  215. data/vendor/lambdagem/spec/lib/cli_spec.rb +24 -0
  216. data/vendor/lambdagem/spec/lib/upload_spec.rb +25 -0
  217. data/vendor/lambdagem/spec/spec_helper.rb +24 -0
  218. 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,8 @@
1
+ module Lambdagem
2
+ module Extract
3
+ autoload :Base, "lambdagem/extract/base"
4
+ #autoload :ClassMethods, "lambdagem/extract/class_methods"
5
+ autoload :Gem, "lambdagem/extract/gem"
6
+ autoload :Ruby, "lambdagem/extract/ruby"
7
+ end
8
+ 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,9 @@
1
+ module Lambdagem::Help
2
+ class << self
3
+ def text(namespaced_command)
4
+ path = namespaced_command.to_s.gsub(':','/')
5
+ path = File.expand_path("../help/#{path}.md", __FILE__)
6
+ IO.read(path) if File.exist?(path)
7
+ end
8
+ end
9
+ 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,5 @@
1
+ Cleans out tmp/downloads cache.
2
+
3
+ cd your_app_root
4
+
5
+ $ lambdagem clean
@@ -0,0 +1,5 @@
1
+ Downloads pre-compiled gem from s3 and extracts it with the same structure as Jets. Examples:
2
+
3
+ cd your_app_root
4
+
5
+ $ lambdagem extract_gem byebug-0.9.1
@@ -0,0 +1,5 @@
1
+ Downloads pre-compiled ruby from s3 and extracts it with the same structure as Jets. Examples:
2
+
3
+ cd your_app_root
4
+
5
+ $ lambdagem extract_ruby 2.5.0
@@ -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
+