Railslove Suspenders
Suspenders is the base Rails application used at railslove originally developed at thoughtbot.
Installation
First install the suspenders gem:
gem install railslove-suspenders
Make sure that you have your local postgres running on port 5432
Then run:
railslove-suspenders projectname
This will create a Rails 3.2 app in projectname
. This script creates a
new git repository. It is not meant to be used against an existing repo.
Gemfile
To see the latest and greatest gems, look at Suspenders' templates/Gemfile_clean, which will be appended to the default generated projectname/Gemfile.
It includes application gems like:
- Airbrake for exception notification
- Smurfville for dynamic color guide and more
- Compass for css3 mixins
And testing gems like:
- Capybara and Capybara Webkit for integration testing
- Factory Girl for test data
- RSpec for unit testing
- RSpec Mocks for stubbing and spying
- Shoulda Matchers for common RSpec matchers
- Timecop for testing time
Other goodies
Suspenders also comes with:
- Override recipient emails in staging environment.
- Rails' flashes set up and in application layout.
- A few nice time formats set up for localization.
- Heroku-recommended settings.
Heroku
You can optionally create Heroku staging and production apps:
suspenders app --heroku true
This has the same effect as running:
heroku create app-staging --remote staging
heroku create app-production --remote production
Github
You can optionally create a Github repository for the suspended Rails app. It requires that you have Hub on your system:
curl http://hub.github.com/standalone -sLo ~/bin/hub && chmod +x ~/bin/hub
suspenders app --github organization/project
This has the same effect as running:
hub create organization/project
Dependencies
Suspenders requires Ruby 1.9.2 or greater.
Some gems included in Suspenders have native extensions. You should have GCC installed on your machine before generating an app with Suspenders.
Use OS X GCC Installer for Snow Leopard (OS X 10.6).
Use Command Line Tools for XCode for Lion (OS X 10.7) or Mountain Lion (OS X 10.8).
We use Capybara Webkit for full-stack Javascript integration testing. It requires QT. Instructions for installing QT are here.
PostgreSQL needs to be installed and running for the db:create
rake task.
Issues
If you have problems, please create a Github Issue.
Contributing
Please see CONTRIBUTING.md for details.
Credits
Suspenders is maintained and funded by thoughtbot, inc.
The names and logos for thoughtbot are trademarks of thoughtbot, inc.
License
Suspenders is Copyright © 2008-2013 thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.