Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Guard gem overview

Guard gem overview

Quick presentation given by @thibaudgg & me at Geneva.rb on Apr 17, 2013.

Rémy Coutable

April 17, 2013
Tweet

Other Decks in Programming

Transcript

  1. Strengths • Decentralized: Guard delegates all the work to its

    plugins • Everyone can write a Guard plugin https://github.com/guard/guard/wiki/Create-a-guard • Very simple Guard plugin API (9 methods) • Maintenance / Issues are handled by plugins authors 3
  2. Some numbers • 2,000,000+ downloads since Oct 2, 2010 •

    1495 commits, ~13,000 LOC • 193 Guard plugins 4
  3. File system listener • Originally handled by Guard • Moved

    out into the Listen gem • Slow & unreliable tests • Adapters vendored into Guard • Used by many projects: Sass, Spring, Kicker... 5
  4. Notifications system • Support many adapters: • Growl • Libnotify

    • TMux... • Should probably be delegated / extracted 6
  5. Project organization • We work: • Remotely • Asynchronously •

    We are very responsive • We are very open to new ideas Michael Kessler Maher Sallam Thibaud Guillaume-Gentil Rémy Coutable 7
  6. Contributions • 91 commiters on Guard • 175 pull-requests on

    Guard • 1000 issues & pull-requests under the org. • Open commit bit policy (inspired by Rbx) 8
  7. Project dependencies • Listen: File system listener • Thor: Command-line

    • Pry: IRB alternative • Lumberjack: Logging • Formatador: Stdout text formatting 9
  8. We have some fun “Hello, I'd like Guard to notify

    me when my test suite passes or fails by controlling an arduino with an rgb led. Don't be turned off by my hipster interest in arduino.” https://groups.google.com/forum/#!msg/guard-dev/wz5zlLJUEQA/gji7B9FS1UAJ 13
  9. Guard 2.0 • 1.0.0 released on Jan 19, 2012 •

    2.0.0 released on Jun XX, 2013 soon! • Streamlined Guard API • Drop Ruby 1.8! Yay! • Website! Yay! 14