README_FOR_TEMPLATE 3.33 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 file uploads:

    thoughtbot-paperclip
    aws-s3

For authentication:

    thoughtbot-clearance

For testing:

    mocha
    thoughtbot-factory_girl
    thoughtbot-shoulda
    fakeweb
    jtrupiano-timecop

For form builders:

    justinfrench-formtastic

For email through SMTP (particularly Gmail):

    ambethia-smtp-tls

For background processing:

    tobi-delayed_job

For payment processing:

    activemerchant

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

For Javascript and Ajax:

    jQuery

For exception notification:

    hoptoad_notifier

For CSS framework:

    flutie

For models, controllers, helpers, & features generators:

    blitz

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 Cucumber, 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

Styles
------

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

Flutie CSS and an empty project_name.css are included in the application layout.

Use project_name.css for your custom styles.

Browse to the following path in development for Style Guide:

    http://localhost:3000/styleguide

Hoptoad
-------

After you git push heroku, tell Hoptoad about the deploy:

    heroku rake hoptoad:deploy TO=staging

Mascot
------

The official Suspenders mascot is Suspenders Boy:

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