~/talk

Building maintainable command-line tools with MRuby

Talkat RubyConf 2016 · 2016-11-10..11-12· [ruby, devops-and-delivery]
slides:none on file

Builds a single-binary CLI for a Fastly API using mruby and mruby-cli, actually ports prototypes from CRuby and wires up mruby-curl and mruby-optparse; solves cross-compilation by automating per-platform builds and cross-compiling libcurl, reorganizes Docker-heavy workflow (originally invoked with docker-compose run compile) into outer/inner/rake phases, documents testing quirks (one VM per test, slow full-platform builds) and ships working tools with tradeoffs between static linking and dynamic libraries.

AI-written summary · about

  1. 0:00Intro
  2. 0:16Building maintainable command-line tools with MRuby
  3. 1:57Install Ruby • Installing gems • Expensive support
  4. 2:151. Prototype in CRuby 2. Port to MRuby 3. Maintain in MRuby
  5. 2:30Lightweight ruby • Embeddable • Hardware • Software
  6. 3:51Using MRuby
  7. 5:52Write Ruby release on Linux, OS X, Windows
  8. 6:18MRuby Challenges
  9. 7:07Language Issues • No pre-defined globals • Some syntax bugs • No keyword arguments for def • Regexp replacements
  10. 9:55mruby-cli Challenges
  11. 11:48Improvements • Build MRuby separately • Run docker from a task
  12. 12:54Cross-compile libraries • Compile MRuby • Run tests
  13. 13:58Easy vulnerability management • Adds a dependency
  14. 14:18Cross Compiling
  15. 15:31Customer Support Tool
  16. 16:19Prototypes
  17. 17:17Lessons
  18. 18:29Switch to mruby-cli
  19. 19:21Familiar • Type checking Argument completion Shell completion
  20. 21:40Complications Global setup hard docker-compose documentation . Slow startup
  21. 23:21Integration tests • Assert output from input
  22. 24:28mruby-cli • Improved build system • Documentation • Easier upgrades
  23. 26:29Thank You Questions?
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.