---
title: This Week in Open Source
teaser:
tags: news,open source
author: Jon Yurek
published_on: 2011-09-02
---

## kumade

Starting us off this week, Marcos Tapajos ([tapajos](http://github.com/tapajos)), working in
[kumade](https://github.com/thoughtbot/kumade), fixed issue #21 by using heroku's --remote option. ([9f2addd](http://github.com/thoughtbot/kumade/commit/9f2addd48b1657295e661805db2ec3717064eeac "Use the heroku gem")), cleaned up some of the mocking in the tests ([bfa8d78](http://github.com/thoughtbot/kumade/commit/bfa8d78b2d72d15bc3d9076721f7662a94a5045e "Use let(:git_mock) { mock() }.")), and did a bunch of refactoring to make the classes a fair bit cleaner. ([dcbb11f](http://github.com/thoughtbot/kumade/commit/dcbb11f370c78b23cdfae9876a685164f8b3c4a4 "Change back to kumade.git"),
[d198221](http://github.com/thoughtbot/kumade/commit/d198221c6e5639a4e540d201c06d2655c5f4c8ea "Remove unused code"),
[0c7daec](http://github.com/thoughtbot/kumade/commit/0c7daec4a7aefb8d069a643703d35a8c2e1dd7c5 "Move Kumade.app_for and Kumade.environments to Kumade::Git.app_for and Kumade::Git.environments"),
[239b07b](http://github.com/thoughtbot/kumade/commit/239b07beed3a43ebcbbd9e5a2fa87081d8cd8c21 "Remove duplicated code"),
[91989a1](http://github.com/thoughtbot/kumade/commit/91989a13f3bccf0fe9fa61828fd8ecdae570acba "Fix deployer specs"),
[e4c165d](http://github.com/thoughtbot/kumade/commit/e4c165dc1538627b6ab5620ce482bdde007c119d "Create Kumade::Git#remote_exists?"),
[e5720d4](http://github.com/thoughtbot/kumade/commit/e5720d4f605f7fb0726f89b6742a273f449c8a24 "Create Kumade::Git#current_branch"),
[1e575fa](http://github.com/thoughtbot/kumade/commit/1e575fac1fb33a6629e24c41ef720f9a6ba49366 "Create Kumade::Git#add_and_commit_all_in"),
[535b1f6](http://github.com/thoughtbot/kumade/commit/535b1f6b74f0196d75a7264f361ee140e69845f9 "Create Kumade::Git#ensure_clean_git"),
[d5ddc13](http://github.com/thoughtbot/kumade/commit/d5ddc1309d5dfe5dbae6566c1589fb57f18e79cd "Create Kumade::Git#delete"),
[dd449f1](http://github.com/thoughtbot/kumade/commit/dd449f12db5761a1120f40b0ca8e9f166ce9820d "Create Kumade::Git#create"), and
[c201509](http://github.com/thoughtbot/kumade/commit/c2015099102819b37a61c8e5ee904d5e07df334f "Create Kumade::Git and Kumade::Git#push"))

Jon Yurek ([jyurek](http://github.com/jyurek) -- that's me!) made kumade a little more unix-y by making it completely silent if everything goes right. Once it goes wrong, you'll see the whole output log. ([c93ddd4](http://github.com/thoughtbot/kumade/commit/c93ddd46bc476467d18962f6eef9ef6ec44ee01f "Run silently until an error occurs."))

## factory_bot[^1]

Joshua Clayton ([joshuaclayton](http://github.com/joshuaclayton)) had a very strong showing in [factory_bot](https://github.com/thoughtbot/factory_bot)'s commit logs,
making a bunch of tweaks and changes here and there, cleaning up dependencies, gemfiles, attribution, and documentation. ([0529a87](http://github.com/thoughtbot/factory_bot/commit/0529a879d90c0352f0e3f8822fcb959cefe61478 "Update gemspec to reflect proper dependencies and add Rails 3.1 coverage"),
[1f0e2eb](http://github.com/thoughtbot/factory_bot/commit/1f0e2eb3011d2809b89c6963be30cd467e20ddbb "Attribution"),
[9bacd0c](http://github.com/thoughtbot/factory_bot/commit/9bacd0cb310dc9e297c8c951adb2ec707b08b44d "Report Travis status from master branch"),
[0529a87](http://github.com/thoughtbot/factory_bot/commit/0529a879d90c0352f0e3f8822fcb959cefe61478 "Update gemspec to reflect proper dependencies and add Rails 3.1 coverage"), and
[63458ee](http://github.com/thoughtbot/factory_bot/commit/63458eee46136b23b7e0b05c96dc27a75217efa2 "Fix documentation to reference build_stubbed instead of stub"))

He also worked with Stephan Eckardt to allow Factories to be modified after their initial declaration ([14b8245](http://github.com/thoughtbot/factory_bot/commit/14b8245371f08373bd31035725c938737789c94a "Allow factories to be modified after they")).

Chris Griego ([cgriego](http://github.com/cgriego)) wanted to be able to have a factories directory at the top level, not buried inside the test or spec directory. ([fa5095c](http://github.com/thoughtbot/factory_bot/commit/fa5095c5557593fd50569e8e6789b39bc6c84df4 "Load factories from /factories at the Rails root, just like the default definition_file_paths."))

And Gabe Berke-Williams ([gabebw](http://github.com/gabebw)) just wanted things a teensy bit tidier. ([aadeb53](http://github.com/thoughtbot/factory_bot/commit/aadeb530caf8031d0c91bd3e67178578e6a09cfe "Fix formatting."))

## cocaine

In the [cocaine](https://github.com/thoughtbot/cocaine) network, Jon Yurek ([jyurek](http://github.com/jyurek) -- that's me again!) got the project running in 1.9.3 on travis-ci ([b8d3455](http://github.com/thoughtbot/cocaine/commit/b8d34552f6e8c8c89610c62df2e4f84473fd0eb9 "Run under 1.9.3 on travis")),
swapped out the Config constant with RbConfig to prevent a warning in 1.9.3 ([06f8ed6](http://github.com/thoughtbot/cocaine/commit/06f8ed6da248b5f168d0dd41dbd6c7830d38b907 "Use RbConfig instead of Config, prevent warning on 1.9.3")), and finally
he nixed the Gemfile.lock, because those are for deployable apps, not libraries! ([ced7b20](http://github.com/thoughtbot/cocaine/commit/ced7b2042f42b0caedf6fbb43b22879bf85bd85e "Ignore Gemfile.lock, since this is a library.")).

Meanwhile, the typos don't survive under the watchful eyes of the community: Spencer Steffen ([citrus](http://github.com/citrus)) fixed a typo in the documentation ([904a17f](http://github.com/thoughtbot/cocaine/commit/904a17f0f7fa5ee8fadbf72023bb7fbd37260aee "added missing quotation mark to dynamic argument example")).

## clearance

[clearance](https://github.com/thoughtbot/clearance), our authentication engine, saw some updates. Dan Croak ([croaky](http://github.com/croaky)) made sure the project was all set with Rails 3.1 and gem best practices. ([90ca670](http://github.com/thoughtbot/clearance/commit/90ca670f6830714431ddbf1629970f90baf944d0 "testing clearance against rails 3.1. also moving towards "))

Subhash Chandra did some partials extracting to allow for other login methods ([0db11ce](http://github.com/thoughtbot/clearance/commit/0db11ce168522550e37936a0703adccd9cbdf437 "extract sign_in form into partial so that other login methods can be added easily")).

## paperclip

Everybody's favorite [paperclip](https://github.com/thoughtbot/paperclip) saw a bunch of work, refactoring, and revisioning from our own Mike Burns ([mike-burns](http://github.com/mike-burns)), who not only released version 2.4.0 ([bafaa28](http://github.com/thoughtbot/paperclip/commit/bafaa284a028436958f9419b72f541757448fb7d "Bump to 2.4.0")),
but also did a bunch of work on processors, which we'll see below. ([630c634](http://github.com/thoughtbot/paperclip/commit/630c6341ee1afbe3b8e3840c8844f1ebd7e23238 "Add a Paperclip.register_processor configuration.") and [6ced9eb](http://github.com/thoughtbot/paperclip/commit/6ced9eb3854f447c62d067ae2574193e4e8e7ea8 "Remove the restriction on Processor ancestry."))

Marcin Urbanski ([murbanski](http://github.com/murbanski)) did a bunch of work to make the documentation more readable, which is always appreciated ( [fc0349d](http://github.com/thoughtbot/paperclip/commit/fc0349d70875bea3c4ae1903c4b4b0e1541ca760 "More readable doc"), [ce9d7ea](http://github.com/thoughtbot/paperclip/commit/ce9d7eab6907103841b69dcf1346776a0c2a0350 "Merge remote branch "), and [33b2ed4](http://github.com/thoughtbot/paperclip/commit/33b2ed449fcfbf2e8b160901cdc959347dc537ae "Merge branch "))

## paperclip-watermarker and paperclip-thumbnailer

Mike Burns ([mike-burns](http://github.com/mike-burns)) will be posting a blog post about this soon enough, but in the meantime, let's just say he's making Paperclip processors a good deal easier. You can see it in action on [paperclip-watermarker](https://github.com/thoughtbot/paperclip-watermarker) and [paperclip-thumbnailer](https://github.com/thoughtbot/paperclip-thumbnailer)

Thumbnailer: [73e847...e548db](https://github.com/thoughtbot/paperclip-thumbnailer/compare/73e847...e548db)

Watermarker: [22ec05...9ad3a5](https://github.com/thoughtbot/paperclip-watermarker/compare/22ec05...9ad3a5)

## fake_braintree

We've been using Braintree to process credit cards recently, and, like any 3rd party service, it's always nice to have something to test against so you're not hitting the real thing. Ben Orenstein ([r00k](http://github.com/r00k)) extracted [fake_braintree](https://github.com/thoughtbot/fake_braintree) from a project so it can stretch its legs in the big, wide world. The changes this week were to make the activate more manual ([97e7b4b](http://github.com/thoughtbot/fake_braintree/commit/97e7b4bfa87c06107639b55352b6c14b4786f93a "Move setup into an activate method.")) and to make the configuration not cause errors ([54bf4ac](http://github.com/thoughtbot/fake_braintree/commit/54bf4ac3598fc4c55b4332f14577628f0d48ad9b "Move configuration out of spec_helper and into the fake itself. Fixes error in outside apps.")).

## capybara-webkit

Finally, [capybara-webkit](https://github.com/thoughtbot/capybara-webkit) got some attention from Gabe Berke-Williams ([gabebw](http://github.com/gabebw)), who just loves cleaning documentation ([578e5c7](http://github.com/thoughtbot/capybara-webkit/commit/578e5c758ef840c91531685319cfdfffd7ccedeb "Spruce up the README"))!

## flutie

Matt Jankowski ([mjankowski](http://github.com/mjankowski)) made a few changes to [flutie](https://github.com/thoughtbot/flutie), our set of default styles. He added and then automatically included some helpers ([80a724d](http://github.com/thoughtbot/flutie/commit/80a724df1a1b5e76245dc2c7cb53bb864aaa8242 "add page_title helper"), [53d093b](http://github.com/thoughtbot/flutie/commit/53d093b4a6f003d0d039a80c617fe2dd1242727b "add body class helper"), and [0fe0127](http://github.com/thoughtbot/flutie/commit/0fe012792307bb2782be6f6fa1df3edcf81b8cf5 "send the helpers to the app")), fixed some typos ([120592a](http://github.com/thoughtbot/flutie/commit/120592a264f5881f7320e2f37757253643162f9a "another gemspec typo") and [81cb196](http://github.com/thoughtbot/flutie/commit/81cb196706b9f9968a49906e1e0866640414c4d4 "correct typo in gemspec")), bumped the version ([f3639dd](http://github.com/thoughtbot/flutie/commit/f3639dda607f734bce76a9fe64bada21c9056ef5 "bump version")), and he converted all the tests from test/unit to rspec ([ae7d28b](http://github.com/thoughtbot/flutie/commit/ae7d28bf7f5f9289a5e309b3f83cd4446ffd4ce6 "use rspec for tests")).

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