---
title: This Week in Open Source
teaser:
tags: news,open source
author: Mike Burns
published_on: 2011-07-29
---

This week saw updates to our [dotfiles](https://github.com/thoughtbot/dotfiles), [suspenders](https://github.com/thoughtbot/suspenders), [capybara-webkit](https://github.com/thoughtbot/capybara-webkit), [factory bot](https://github.com/thoughtbot/factory_bot), [paperclip](https://github.com/thoughtbot/paperclip), [bourbon](https://github.com/thoughtbot/bourbon), [flutie](https://github.com/thoughtbot/flutie), and [clearance](https://github.com/thoughtbot/clearance) projects.

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

## dotfiles

We maintain a set of configuration files for vim, zsh, and so on, in our dotfiles repository. Gabe Berke-Williams ([gabebw](https://github.com/gabebw)) added the `:Cuc` command to vim which will run all scenarios ([d57e450](https://github.com/thoughtbot/dotfiles/commit/d57e4509e9ae9125174ae01453d76733c00f4202)). 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"`

## suspenders

Alex Godin ([alexgodin](https://github.com/alexgodin)) added Cucumber as a development dependency to Suspenders ([a57c975](https://github.com/thoughtbot/suspenders/commit/a57c975d7314faacb5b1d19921dcf64a967dd25b), [4fc3979](https://github.com/thoughtbot/suspenders/commit/4fc3979a89de05efcaead3d7c5bb5094e8d326c0), [6e429c5](https://github.com/thoughtbot/suspenders/commit/6e429c50a3c39715f0cafd2ce3cafc8beb100063), and [872ff64](https://github.com/thoughtbot/suspenders/commit/872ff64a3330acee6f0663221d30a5d6e7a8a1db)), our app generator. He then noticed that prior versions of the gem were broken so he _released version 0.2.6 of Suspenders_.

## capybara-webkit

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

Gabe Berke-Williams ([gabebw](https://github.com/gabebw)) exposed the underlying socket to a logger, which verbosely prints information about all data sent to and from the headless browser ([a4538b6](https://github.com/thoughtbot/capybara-webkit/commit/a4538b620f3637b62182b0f52eff978238bdb784) and [01665e6](https://github.com/thoughtbot/capybara-webkit/commit/01665e604f020320191c88a064d67e0a89e83b91)). Activate it by setting `Capybara.javascript_driver = :webkit_debug`.

## factory_bot[^1]

The factory_bot and factory_bot_rails fixture-replacement gems got some small updates this week. The ever-commiting Gabe Berke-Williams ([gabebw](https://github.com/gabebw)) handled documentation typos ([cec108d](https://github.com/thoughtbot/factory_bot_rails/commit/cec108dbeb94ce38d712183a95e0c6bbaa84747b) and [b3f8ac8](https://github.com/thoughtbot/factory_bot_rails/commit/b3f8ac818398e1da5ee69e2b1a3a58d7d11ca72f)) then updated the docs to point out the existance of the reusable Cucumber steps ([49a47fa](https://github.com/thoughtbot/factory_bot/commit/49a47fa5de58a073e1ad43023994536e22a8ca3d) and [811fd04](https://github.com/thoughtbot/factory_bot_rails/commit/811fd044225b99c861b2369e93778dc9cffe5025)).  Simon Hürlimann ([huerlisi](https://github.com/huerlisi)) continued on the documentation fixes by pointing out that `factory_bot_rails` is at version 1.1.0 ([8bd8e0c](https://github.com/thoughtbot/factory_bot/commit/8bd8e0c8517d10a9a56695df31de27fc3b50cef9)).

Nick Quaranto ([qrush](https://github.com/qrush)) fixed the afore-mentioned Cucumber steps to work in the newest versions of Cucumber by stringifying all values ([d8aa63a](https://github.com/thoughtbot/factory_bot/commit/d8aa63a4715ca01d8add0e5c0175167839728c27)), then he _released version 2.0.2 of FactoryBot_ ([1d9a3cf](https://github.com/thoughtbot/factory_bot/commit/1d9a3cf13f3c1a68a4e0ca31a710ef30f9df0624)).

## paperclip

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

Speaking of testing, Chris Sepic ([cgs](https://github.com/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](https://github.com/thoughtbot/paperclip/commit/020625921adae884534608d76c11f65692e4bbec)).

Today [aya-soft](https://github.com/aya-soft) fixed Paperclip to work in Rails 2.3.8 ([e0b139d](https://github.com/thoughtbot/paperclip/commit/e0b139d0b19f31c4ed0977f277bc07e847b02ec3) and [e0b139d](https://github.com/thoughtbot/paperclip/commit/e0b139d0b19f31c4ed0977f277bc07e847b02ec3)), then Prem Sichanugrist ([sikachu](https://github.com/sikachu)) _released version 2.3.16 of Paperclip_ ([891badb](https://github.com/thoughtbot/paperclip/commit/891badbcb6ca6843ea0b7aa523ffddd7eff564bc)).

## bourbon

Phil LaPier ([plapier](https://github.com/plapier)) did more work on bourbon, the Sass gem with awesome mixins. He added fade-in and fade-out animations ([46e36a2](https://github.com/thoughtbot/bourbon/commit/46e36a28c2079b130f82a54427c76b3c37bb6624)).  He also updated the documentation to be explicit about browser support ([3b9b58b](https://github.com/thoughtbot/bourbon/commit/3b9b58beba1690bd7e964e9f1d29948ae526ab09)) and also pedantically ordered the imports alphabetically ([2278b58](https://github.com/thoughtbot/bourbon/commit/2278b589cf20b627b74be711269831bee875c2bb)).

He then topped it all off by _releasing version 0.1.2 of bourbon_ ([1d9bac8](https://github.com/thoughtbot/bourbon/commit/1d9bac8a04af7bf8d6f4324c23cc493d33b4d824)).

## flutie

Working with Phil's on bourbon, Matt Jankowski ([mjankowski](https://github.com/mjankowski)) noticed that the `sass-mixins` gem was renamed to `bourbon` so he made that fix in flutie ([d42e838](https://github.com/thoughtbot/flutie/commit/d42e8386d362a584fe29439bf64a487fe85a26c7)).

## clearance

Our authentication gem, clearance, got an upgraded Cucumber ([89f106f](https://github.com/thoughtbot/clearance/commit/89f106f5f8775879e86447ff89ab79680bb3f5d2)) and one fewer broken Cucumber step ([6b7c6e0](https://github.com/thoughtbot/clearance/commit/6b7c6e0c287c7f43d31acc79e513b83865e78641)), thanks to Chad Pytel ([cpytel](https://github.com/cpytel)).

[^1]: FactoryGirl was renamed to FactoryBot in 2017.
[Project name history can be found here.](https://github.com/thoughtbot/factory_bot/blob/master/NAME.md)
