---
title: This Week in Open Source
teaser:
tags: news,open source
author: Adarsh Pandit
published_on: 2012-10-29
---

## High Voltage

[High Voltage](https://github.com/thoughtbot/high_voltage) is a Rails engine for static pages.

You can now use it with Rails 4 thanks to Arvid Andersson
([arvida](http://github.com/arvida)) in
[176895f](http://github.com/thoughtbot/high_voltage/commit/176895f3e8a71d9084407c54a9a8069ba7d94450
"Expose pages#show route as GET").

## Capybara Webkit

[Capybara Webkit](https://github.com/thoughtbot/capybara-webkit) is a Capybara
driver for headless WebKit so you can test Javascript web apps.

You can expect fewer bugs in it thanks to Matthew Horan
([mhoran](http://github.com/mhoran)) in
[7289a8e](http://github.com/thoughtbot/capybara-webkit/commit/7289a8e77acc61737738dd339b517a1bc9fa1ad1
"Disconnect signals from TimeoutCommand after fired") and
[f20d32d](http://github.com/thoughtbot/capybara-webkit/commit/f20d32df103ce6bff4b3ee8691a5c263e5a63450
"Set URL to about:blank on WebPage initialization").

You can use it with Qt 4.8 thanks to Matthew and Joe Ferris
([jferris](http://github.com/jferris)) in
[67b8a33](http://github.com/thoughtbot/capybara-webkit/commit/67b8a3391a110208166f0470b896cc3c331d120c
"Remove m_commandWaiting and add logging to TimeoutCommand"),
[cbb58d0](http://github.com/thoughtbot/capybara-webkit/commit/cbb58d05f1608817539c963c9c39fc9b324f1203
"Revert "Revert "Add configurable timeouts to commands.""),
[f95e4eb](http://github.com/thoughtbot/capybara-webkit/commit/f95e4ebe0b2711da1b776caebd89c72f9f09ef03
"Use old method to find current URL in Qt < 4.8.0"),
[ecfa783](http://github.com/thoughtbot/capybara-webkit/commit/ecfa7836d9136d5e88b42e02928f02c310ab6d2a
"Render non-HTML content when reply emits finished"),
[e9a4b77](http://github.com/thoughtbot/capybara-webkit/commit/e9a4b77ecba68e9b490ceb9c6d0ee7ae8a90b0b8
"Read status and headers from response after load"), and
[e531c1a](http://github.com/thoughtbot/capybara-webkit/commit/e531c1a715101bcab60549b9051ebeea3a13822f
"Status code and headers are wrong after redirect"), and
[cae5119](http://github.com/thoughtbot/capybara-webkit/commit/cae5119eef49f33876c7156f5669dc101b7fcf3c
"Fix issues with Qt 4.8").

You can expect nodes hidden with css rule `visibility: hidden` to correctly
return false on `visible?` thanks to Timur Vafin
([timurvafin](http://github.com/timurvafin)) in
[3bab97d](http://github.com/thoughtbot/capybara-webkit/commit/3bab97d875c3f5d0434446accfa5adf6f6d66c1a
"Make sure nodes hidden with css rule `visibility: hidden` returns false on
`visible?`").

## Dotfiles

[Dotfiles](https://github.com/thoughtbot/dotfiles) are a set of Vim, zsh, git,
and tmux configuration files.

You can now tab complete in Vim even faster thanks to [Dan
Croak](http://github.com/croaky) in
[c7efed4](http://github.com/thoughtbot/dotfiles/commit/c7efed4f0c50466c94bcf3f077972662aa4f9617
"Fix tab completion").

You can do some awesome git things in Vim thanks to `fugitive.vim` in
[d836af8](http://github.com/thoughtbot/dotfiles/commit/d836af8afdca00c12240114ca57d1cffa7913499
"Add fugitive.vim"):

* `:Gblame` for interactive vertical split with git blame output.
* `:Ggrep` to search the work tree (or any arbitrary commit) with git grep.
* `:Glog` to load all previous revisions of a file into the quickfix list so
  you can iterate over them and watch the file evolve.
* `:Gbrowse` to open the current file on GitHub, with optional line range (try
  it in visual mode) .

You can safely ignore certain files in git repositories machine-wide thanks to
Dan in
[0060e0a](http://github.com/thoughtbot/dotfiles/commit/0060e0ab250ca295cc986d16ff9d7da170bab603
"Add .gitignore").

You also now have a clear strategy for managing files with personal information
like `~/.gitconfig` in a shared dotfiles repo thanks to Joe and Dan in
[52b2ee1](http://github.com/thoughtbot/dotfiles/commit/52b2ee106e3c8c3ed36611e6e99f39d10a01bd4f
"Document "DO NOT EDIT BELOW THIS LINE" convention").

## Bourbon

[Bourbon](https://github.com/thoughtbot/bourbon) is a lightweight mixin library
for Sass.

You can now optionally use Rails' asset pipeline in the `font-face` mixin
thanks to Phil LaPier ([plapier](http://github.com/plapier)) in
[f93cf9e](http://github.com/thoughtbot/bourbon/commit/f93cf9ed6a588ce4473f9cb4e235bb151bcfdaa1
"Updated font-face mixin to accept an asset-pipeline argument.").

## Suspenders

[Suspenders](https://github.com/thoughtbot/suspenders) is a<abbr title="Command Line Interface">CLI</abbr>for creating Rails apps with thoughtbot defaults.

When you use Suspenders-generated Rails apps, you'll now automatically track your slowest-running specs thanks to Dan Croak ([croaky](http://github.com/croaky)) in [69c7fdd](http://github.com/thoughtbot/suspenders/commit/69c7fdd5323d73b5d9eb920e452671a1732a012b "Configure RSpec").

You will also automatically track your test coverage thanks to Joe Ferris ([jferris](http://github.com/jferris)) in [2787281](http://github.com/thoughtbot/suspenders/commit/2787281c56a143639a9a0fa7d6f87d20f2502c43 "Use a template for SimpleCov init")
[44c51c1](http://github.com/thoughtbot/suspenders/commit/44c51c1a87f68f884e5408 bfdc127c14298ddea "Use simplecov for C0 coverage").

The validity of your factories will always be tested first thanks to Dan in [52444eb](https://github.com/thoughtbot/suspenders/commit/52444ebbb85a1ba426bb8f5c3ee68d1d17d6e63f "Create spec/models/factories_spec.rb").

Your Ruby version will be determined by your Gemfile thanks to Dan in [389ceda](https://github.com/thoughtbot/suspenders/commit/389cedab0f97e0b2fa5c847db5d2e7c02fc1b145 "Add Ruby version to Gemfile").

You will bundle using binstubs and the 37signals' `bin/stubs` directory convention thanks to Dan in [4b7e40a](https://github.com/thoughtbot/suspenders/commit/4b7e40a8c3b1c5e92c454396377334d66eff6800 "Bundle with binstubs").

You can format time through localization thanks to Dan in [fbf3fcd](https://github.com/thoughtbot/suspenders/commit/fbf3fcdbaf51bfc64154067da3b97ae7669283d8 "Configure time formats").

Your Postgres database will automatically be configured to encode using UTF-8 thanks to Yi-Ting Cheng ([xdite](https://github.com/xdite)) in [c2c46a7](https://github.com/thoughtbot/suspenders/commit/c2c46a72ffc3c2d5b0491b177a83e5fe7b2ae051 "Encode Postgres database as utf8").

You can use these new features in Suspenders version 1.1.5.

## Factory Bot

[Factory Bot](https://github.com/thoughtbot/factory_bot)[^1] is a library for setting up Ruby objects as test data.

You can now use a block with `build_list` and `create_list` so you can call methods on each instance of the array thanks to [bbugh](http://github.com/bbugh) in [488e42d](http://github.com/thoughtbot/factory_bot/commit/488e42d77b40444222f36a9c02205613d1097bb6 "Modified define_list_strategy_method to accept and use a block.").

## Bourne

[Bourne](https://github.com/thoughtbot/bourne) adds test spies to
[mocha](https://github.com/freerange/mocha).

You can now see the master Travis CI build thanks to Harlow Ward ([harlow](http://github.com/harlow)) in [74dd8f4](http://github.com/thoughtbot/bourne/commit/74dd8f4d2b2027a73efa66bbd8ace17a0ada2935 "Updated TravisCI status image to show status of Master").

## Paul Revere

[Paul Revere](https://github.com/thoughtbot/paul_revere) is a library for "one
off" announcements in Rails apps.

Support for Rails 2 apps will be dropped in Paul Revere versions greater than 1.1 thanks to Gabe Berke-Williams ([gabebw](http://github.com/gabebw)) in [e8ae883](http://github.com/thoughtbot/paul_revere/commit/e8ae8836d63a23f094e45dde517c437847a7fde3 "Remove init.rb since it's for Rails 2").

[^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)
