This Week in Open Source
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 CLI 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/44c51c1a87f68f884e54083bfdc127c14298ddea "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 Girl ------------ [Factory Girl](https://github.com/thoughtbot/factory_girl) 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_girl/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").
















