This week in open source

Mike Burns

Another week of great pull requests to our open source projects.


A new gem, started by Gabe Berke-Williams (gabebw) with much help from Nick Quaranto (qrush), kumade is a drop-in Heroku deployer that handles assets, migrations, and sanity checks. It’s under heavy development so stay tuned to hear more, or try it out yourself.

The name comes from the Japanese word for “bamboo rake” and is pronounced “koo-mah-day”.


Appraisal is our gem for testing engines against multiple versions of Rails—or really, for testing any gem against multiple gemsets. We use it to make sure our gems continue to work against various version of Rails.

Matt Griffin (betamatt) noticed that the excellent Aruba gem is listed as a runtime dependency even though it is most definitely a development dependency, and fixed that (276cc9b).


Clearance, our authentication engine, got a little formatting fix for the README (77bb97a) thanks to Quico Moya (qmoya).


Our popular fixture-improving testing gem, factory_bot, got more specs for assigning associations (841e012) from Josh Clayton (joshuaclayton) and a hard decision that non-block values are evaluated before block values (28f541e) thanks to Flavio Castelli (flavio).

Since we love pushing new versions while I’m writing this, Josh then pushed version 2.0.3 of factorybot_ (ec88698).


Our headless webkit-based integration testing tool, capybara-webkit, saw a bunch of documentation and session love this week.

Dennis Prochniak (denysonique) and Diego Plentz (plentz) clarified documentation for Gentoo (9b53e01 and 8850f2d) and OS X Lion (47b8c86), respectively.

Then our Matt Mongeau (halogenandtoast) got it passing capybara’s session spec and session spec with JavaScript (c621e65, 983b556, 63e5a53, 5d50d77, 4642d33, and 81ad8fd). This means that the session object works exactly like any other capybara session object.


Our file uploading gem, paperclip, got some love this week: Reinaldo de Souza Junior (juniorz) localized error messages by default (6fd2cf7) while Matthew Schulkind (mschulkind) generalized the filename extension then made it generate the correct one based on the content type (fdbd7bf). ## paul_revere

We saw some bundler- and gem-related upgrades to paul_revere, the gem to add quick announcements to Rails apps, thanks to Christopher Meiklejohn (cmeiklejohn) (7d5eebc, 334bb25, 260db1a, 3039333, and e217b85).


Phil LaPier (plapier) continues on with bourbon, cleaning up the README (02900ae) and fixing a bug in linear-gradient (4802351). He then pulled in a documentation fix from Andrés Mejía (andmej) to include box-shadow in the full list of mixins (78cf621) before releasing version 0.1.3 of bourbon (09a875f).

Continuous Integration

Nick Quaranto (qrush) went on a CI kick, trying Travis CI for our open source projects. He added it to high_voltage (1fcf319, d21b037, and cb4a53c), shoulda (928311d), and paperclip (8d95066, 6c501ef, 6cef277, e02613d, and 24cc278).

Prem Sichanugrist (sikachu) joined in on paperclip, fixing the Gemfile (e0bbebc) and adding JRuby support (b08c6c6).

Project name history can be found here.

  1. FactoryGirl was renamed to FactoryBot in 2017.