jets 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
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
+