---
title: Suspenders as a gem
teaser:
tags: news,web,suspenders,open source
author: Mike Burns
published_on: 2010-05-17
---

Suspenders&mdash;as a reminder,
[Suspenders](https://thoughtbot.com/blog/post/159806262/suspenders) is our base
Rails project that can be easily upgraded&mdash;has some issues. Specifically,
two: you have to pull down all of [the git
repo](http://github.com/thoughtbot/suspenders) in order to start a project,
which itself requires pulling down all of the git repo again, and; Suspenders
itself is untested.

![Suspenders Boy](http://images.thoughtbot.com/ui/red-suspenders-boy.png)

The solution to these problems are fairly straight-forward so I went ahead and
did it. Presenting, today, [the Suspenders
gem](http://rubygems.org/gems/suspenders)!

    gem install suspenders

Installing the gem will give you the `suspenders` command. I have grandiose
plans for this command-line utility but for now you can create a new project:

    suspenders create carbon_dating

You can upgrade a Suspenders-based project at any time, as usual:

    rake git:[pull:suspenders](http://meatexplosion.com/awesome/thats-the-joke.jpg)

As a reminder Suspenders will give you:

* [clearance](http://github.com/thoughtbot/clearance)
* [cucumber](http://cukes.info/)
* [factory_bot](http://github.com/thoughtbot/factory_bot)
* [fakeweb](http://fakeweb.rubyforge.org/)
* [formtastic](http://wiki.github.com/justinfrench/formtastic/)
* [hoptoad_notifier](http://hoptoadapp.com/)
* [jferris-mocha](http://github.com/jferris/mocha) ([testspies](https://thoughtbot.com/blog/post/159805295/spy-vs-spy))
* [paperclip](http://github.com/thoughtbot/paperclip)
* [shoulda](http://github.com/thoughtbot/shoulda)
* [timecop](https://github.com/travisjeffery/timecop)
* [webrat](http://github.com/brynary/webrat)
* [will_paginate](http://wiki.github.com/mislav/will_paginate/)
* [high_voltage](http://github.com/thoughtbot/high_voltage)
* [limerick_rake](http://github.com/thoughtbot/limerick_rake)
* backtrace silencers
* HTTP and SMTP exceptions
* `test/mocks`
* noisy `attr_accessible`
* `lib/extentions`
* date and time formats

To run the new Suspenders test suite you will need [the git repo for the gem](http://github.com/thoughtbot/suspenders):

    git clone git@github.com:thoughtbot/suspenders.git

Then go in and run `rake`. This will build a new project using Suspenders, set
up the last touches (clearance stuff, mostly), and make sure that the project
passes.
