This week in open source


Small bug fix in the kumade Heroku deployer from Gabe Berke-Williams (gabebw). Apps are now restarted after deployment (7c5a6c6). This led to version 0.8.1 of kumade (eed756a).


Read my lips: no new features; that’s the tale for suspenders this week. Instead, the app generator got some internal improvements from Gabe Berke-Williams (gabebw) and Harold Giménez (hgimenez). Gabe moved suspenders over to the bundler gem tasks, reducing the Rakefile size immensely (b66f34a and 43f0a68). Harold fought with aruba timeouts (e9dc22b, f41153f, bc48b45, 920989d) but, after the dust had cleared, he ran bundler after the project’s Gemfile has changed (7e06fe7). To keep tests green he put it on Travis (cca000d and 7b1c1de).


New feature in the bourbon Sass Mixins this week: CSS3 columns. You got your @columns, your @column-count, your @column-fill, @column-gap, @column-span, and @column-width, and don’t forget the classic @column-rule hierarchy: @column-rule-color, @column-rule-style, and @column-rule-width. It’s all columns here, thanks to Phil LaPier (plapier) (540f05e).

Aside from that are a bunch of documentation updates. If you were confused before, you should be marginally less confused now: Gabe Berke-Williams (gabebw) fixed formatting and grammar (1d187fe, 34e8eac, and 19c32d9) and Phil documented the @border-radius changes from before (fd17cdf).


No new features in factory_girl this week, but it’s now using bundler’s rake tasks (cad4bdb and 5133fa9) and the quick-start guide is slightly more clear (565ff1c), thanks to Gabe Berke-Williams (gabebw).


Wild times in appraisal land: version 0.4.0 comes with support for multiple gem sources, specifying sources as symbols instead of strings, and preserving the dependency order (yes!). Let’s name some names:

Josh Nichols (technicalpickles) sent us the pull request for specifying symbols for source names, like source :rubygems c73d05f and 35c8f58). Joe Ferris (jferris) preserved the dependency order, so the gemfiles are not re-written every time you run your tests on Ruby 1.8 (193e375 and e7cacd4). Joe also added support for zero or more sources (2d7616b).

Internally—relevant to all appraisal hackers out there—Joe moved appraisal to use the bundler rake tasks (1137175), set up rspec for the project (ca2d12f), sped up the integration tests by removing a call to bundle install (f5da0ba and 96ac443), and cleaned up some of the Cucumber feature files (d50f30e).

Additionally, Joe noted that he believes that the Gemfile.lock should be checked into version control (508f760) and he was the one who released version 0.4.0 (2388945).


The mock object for the Braintree credit card processor, fake_braintree, hit version 0.0.5 this week, with support for Braintree::Customer.find and Braintree::TransparentRedirect. Gabe Berke-Williams (gabebw) added the Braintree::Customer.find support (32ad3cc) and released version 0.0.5 (a4ce340); Joe Ferris (jferris) added the Braintree::TransparentRedirect support (a5943a7 and e69e9a7).

Gabe and Joe both did some refactoring too; Gabe moved the test CC number into a constant (70af61e) and added a test for recording the billing address (26cbdd3). Joe split the .activate! method into two discrete parts, which reads better (e52a874); he also used TimeCop to avoid erratic test failures, which I’m sure were bugging him (7c4795a). Oh hey get this, he replaced ShamRack with a Capybara::Server, which I didn’t know you could do (b345058).

Gabe had his usual documentation fun, fixing formatting (e50ba56) and also documenting the heck out of the API methods (602774a).

Mike Burns

Hound automatically reviews Ruby, JavaScript, and CoffeeScript code in your GitHub pull requests and comments on style violations. It is free for open source repos and $12/month per private repo.