This week in open source

Mike Burns

This week saw improvements to suspenders, fistface, factory_bot, capybara-webkit, bourbon, and paperclip. Contributions came from other thoughtbot devs but also pull requests from people like you. Thank you!


Gabe Berke-Williams (gabebw) improved the test infrastructure of Suspenders by making the default REPO the same as the base directory of the gem (in three commits: 397675a, 0932829, and ae96481). He also switched Suspenders to use PostgreSQL by default, which makes sense given how often we use Heroku and also given that PostgreSQL is obviously better than MySQL (7bb5236, 2cf556b).

Fork it and submit your own pull request.


Gareth Rees dropped some great changes to Fistface: gemification, so you can add it as a dependency (ea096a3, 1ff49d7, and 85e57cc); modularization, so you can load individual components of it and unit test it (d1a0175 and 607eef9); and an overall upgrade of the dependent gems (afcb413).

Fork it and submit your own pull request.

Factory Bot

No commit is too inconsequential! Gabe Berke-Williams (gabebw) improved the README syntax highlighting for factory_bot. More highlighting in more places. (8ad1cc6)

At the last minute, as this post was about to be published, Josh Clayton (joshuaclayton) fixed find_definitions for Ruby 1.9.x when used on the ./script/rails console (8ef79aa, a51b970, c47affb, and 17f3ef4).

Then Josh pulled out all the stops and released FactoryBot1 2.0.1 (d175bf4 and ff1a019). You heard it here first!

Perhaps you too want to submit a doc patch. Fork it and submit a pull request.

Capybara Webkit

A few excellent improvements were made to capybara-webkit. Marc Seeger (rb2k) gave us a #checked? method, which will make tests easier to read (90e561b and 2ad577f). Hubert Łępicki (hubertlepicki) swooped in with file upload support, including HTML5’s multiple file uploads (a449008, 0c8e347, and 8cad037).

There is still a ton of room for active development and improvement so please fork it and submit a pull request.


Phil LaPier (plapier) continues to rock on the Bourbon gem with better abstraction and modularization for the flex-box mixin. (0892222), improved documentation for the golden-ratio function. (b8ab7ce), and a grid-width function in the base stylesheet. (599825e)

He also added two bug fixes: properly require the modules so it works with more versions of Rails (5945475) and remove the conflicting linear-gradient function name (5d2452f).

Use it, fork it; pull requests welcome.


Improvements continue on Paperclip. Jeremy Walker (ihid) allowed for more freedom in naming storage modules by camel-casing instead of capitalizing; his example was DelayedFog (cfe406b and camelcase for storage module names.“>c8a271e).

Prem Sichanugrist (sikachu) improved the development process by using Travis CI (56bb131, 6d4252d, and 45334fb), forcing rake appraisal:install on the default test task (cd10ba2), and upgrading the version of Rails it tests against (6cd951a).

As usual, pull requests are welcome so please do fork it.

  1. FactoryGirl was renamed to FactoryBot in 2017. Project name history can be found here.