README_FOR_TEMPLATE 3.18 KB
This is Heroku Suspenders, the thoughtbot Rails template modified to be used for 
deployment to Heroku. To create a new project, checkout this repository and run:

    ./script/create_project projectname

This will create a project in ../projectname.  You should then follow the
instructions to deploy to Heroku.  This script creates an
entirely new git repository, and is not meant to be used against an existing
repo.

When making a change to a project that was created via this template, consider
whether it's a change that should be made across all projects.  If so, then
make the change in this template, and pull it into your project via:

    git pull heroku_suspenders master

About Suspenders
----------------

Suspenders was created for use at thoughtbot, inc. (http://thoughtbot.com) as a
baseline application setup, with intelligent defaults.

Suspenders currently runs on Rails 2.3.2.

Gems (in .gems):
----------------

For testing:

    mocha
    thoughtbot-factory_girl
    thoughtbot-shoulda

For file uploads:

    thoughtbot-paperclip
    right_aws

For email through SMTP (particularly Gmail):

    ambethia-smtp-tls

For background processing:

    tobi-delayed_job

Plugins (in vendor/plugins):
----------------------------

For authentication:

    thoughtbot-clearance

For exception notification:

    hoptoad_notifier

For models, controllers, helpers, & features generators:

    coulda

For rake tasks:

    limerick_rake

Initializers (in config/initializers)
-------------------------------------

For email through SMTP (particularly Gmail):

    mail.rb

Get your API key at http://hoptoadapp.com

    hoptoad.rb

Get your free Google Analytics account at http://www.google.com/analytics

    google_anayltics.rb

For Delayed Job settings:

    delayed_job.rb

Two time formats are available by default, :short_date and :long_date. Add other time formats here.

    time_formats.rb

Testing
-------

Testing is done utilizing Test::Unit, Shoulda, factory_girl, and mocha.

Shoulda is a pragmatic testing framework for TDD built on top of Test::Unit.

    thoughtbot-shoulda --version '>= 2.10.1' --source gems.github.com

factory_girl is a fixture replacement library, following the factory pattern.
Place your factories in test/factories.rb. The fixture directory has been
removed, as fixtures are not used.

    thoughtbot-factory_girl --version '>= 1.2.0' --source gems.github.com

Mocha is a widely-used mocking library, including by Rails itself. We use a fork
from Joe Ferris that adds test spies (assert_received) to Mocha.

    jferris-mocha --version '0.9.5.0.1241126838' --source gems.github.com

Javascript
----------

jQuery and jRails are included.

Styles
------

Heroku's Suspenders includes a lightweight CSS framework called Stylus.

public/stylesheets/screen.css is included in the application layout.
It imports the Stylus framework:

    @import url("framework/reset.css");
    @import url("framework/typography.css");
    @import url("framework/layout.css");
    @import url("framework/forms.css");

Add another import for your own styles, by convention named after your app.

Mascot
------

The official Suspenders mascot is Suspenders Boy:

    http://media.tumblr.com/1TEAMALpseh5xzf0Jt6bcwSMo1_400.png