This Week in Open Source

Mike Burns

This week saw updates to our dotfiles, suspenders, capybara-webkit, factory bot, paperclip, bourbon, flutie, and clearance projects.

I’ve also added a file named to each project, describing how to submit patches. Patches are welcome!


We maintain a set of configuration files for vim, zsh, and so on, in our dotfiles repository. Gabe Berke-Williams (gabebw) added the :Cuc command to vim which will run all scenarios (d57e450). You can pass text to restrict to just scenarios matching. As the commit message explains: :Cuc my text (no quotes) -> runs cucumber scenarios containing "my text"


Alex Godin (alexgodin) added Cucumber as a development dependency to Suspenders (a57c975, 4fc3979, 6e429c5, and 872ff64), our app generator. He then noticed that prior versions of the gem were broken so he released version 0.2.6 of Suspenders.


Some great improvements to capybara-webkit, our headless JavaScript test driver for capybara. Mathieu Arnold (mat813) fixed the build for FreeBSD by making it require GNU make instead of depending on the system make (eca1376). As a big FreeBSD fan, I pulled this immediately.

Gabe Berke-Williams (gabebw) exposed the underlying socket to a logger, which verbosely prints information about all data sent to and from the headless browser (a4538b6 and 01665e6). Activate it by setting Capybara.javascript_driver = :webkit_debug.


The factorybot and factorybotrails fixture-replacement gems got some small updates this week. The ever-commiting Gabe Berke-Williams (gabebw) handled documentation typos (cec108d and b3f8ac8) then updated the docs to point out the existance of the reusable Cucumber steps (49a47fa and 811fd04). Simon Hürlimann (huerlisi) continued on the documentation fixes by pointing out that `factorybot_rails` is at version 1.1.0 (8bd8e0c).

Nick Quaranto (qrush) fixed the afore-mentioned Cucumber steps to work in the newest versions of Cucumber by stringifying all values (d8aa63a), then he released version 2.0.2 of FactoryBot (1d9a3cf).


Paperclip is our gem for uploading files to Rails apps. Some regression and infrastructural changes: Tim Cooper (coop) found that the documentation had a feature that the code didn’t, so he defaulted the :fog_public option to true (62a9f64). Trung le (joneslee85) noticed that sqlite3-ruby is now sqlite3 and fixed our dependencies to match (f815726). And Prem Sichanugrist (sikachu) continued on his testing bent by adding jruby to the mix (0f7485f, b62330a, and 1ad401a).

Speaking of testing, Chris Sepic (cgs) found that the validate_attachment_content_type matcher has allowing and rejecting methods on it, but that you must specify both. He relaxed this restriction so now you can specify either (0206259).

Today aya-soft fixed Paperclip to work in Rails 2.3.8 (e0b139d and e0b139d), then Prem Sichanugrist (sikachu) released version 2.3.16 of Paperclip (891badb).


Phil LaPier (plapier) did more work on bourbon, the Sass gem with awesome mixins. He added fade-in and fade-out animations (46e36a2). He also updated the documentation to be explicit about browser support (3b9b58b) and also pedantically ordered the imports alphabetically (2278b58).

He then topped it all off by releasing version 0.1.2 of bourbon (1d9bac8).


Working with Phil’s on bourbon, Matt Jankowski (mjankowski) noticed that the sass-mixins gem was renamed to bourbon so he made that fix in flutie (d42e838).


Our authentication gem, clearance, got an upgraded Cucumber (89f106f) and one fewer broken Cucumber step (6b7c6e0), thanks to Chad Pytel (cpytel).

Project name history can be found here.

  1. FactoryGirl was renamed to FactoryBot in 2017.