We like to spotlight our thoughtbot training students’ work.
Big Room
In this installment, we’re checking in with Mike Breen, a local Bostonian. Mike took one of our very first Boston classes.
Since last year, he has been doing Rails consulting as an owner of Big Room Technology.
Since last October I launched a family of products for SEAK.com: Directory of Expert Witnesses, Directory of Independent Medical Examiners, and Directory of File Review Consultants,
… converted multiple ol’ school ASP apps to a single Rails app,
… helped launch IAC-EZ with Lark Farm, Inc.,
… worked with Auburn Quad and now I’m working on their non-profit wing Grassroots Giving Group,
… and helping out with the RailsBridge. I lead up the Builders. We help non-profits build or rehab Rails sites. thoughtbot developer Jason Morrison and the Personal Genome Project signed up recently.
Rails is a productivity enhancer
As if that wasn’t enough, Mike also volunteered his time to run the inaugural Rails BugMash, which saw over 300 commits to Rails.
The next BugMash is this weekend, September 25th-27th.
Our own Tristan “Bucky” Dunn finished in the top 5 last time around. You can mash more bugs than Bucky, can’t you?
Training
We’re always pleased to see the great work that our alumni have produced.
We think you can strengthen your — title: “Suspenders” tags: rails
author: Dan Croak
Introducing Suspenders, the thoughtbot Rails template.
Install
To create a new project, checkout the github repository and run:
./script/create_project projectname
This will create a project in ../projectname. You should then follow the instructions on GitHub to upload that project there. This script creates an entirely new git repository, and is not meant to be used against an existing repo.
Changes to the template can be easily pulled it into your project via:
rake git:pull:suspenders
This is funny, because you’re pulling your suspenders.
About
Suspenders was created for use at thoughtbot as a baseline application setup, with reasonable default plugins that the majority (if not all) of our applications used, as well as best-practice configuration options.
Thanks to various Boston.rb people and rails rumble people for attempting to use suspenders this past weekend and giving it it’s first non-thoughtbot-internal usage.
Suspenders currently includes Rails 2.1.1
vendor/gems
will_paginate
RedCloth
mocha
factory_bot
thoughtbot-shoulda
quietbacktrace
vendor/plugins
hoptoad_notifier
limerick_rake
mile_marker
squirrel
helper_test
config/initializers
time_formats.rb
(Two time formats are available by default,:short_date
and:long_date
)action_mailer_configs.rb
(We use SMTP by default in all applications)hoptoad.rb
(Get your API key at http://hoptoadapp.com)requires.rb
(automatically requires everything in:)lib/
lib/extensions
test/mocks/RAILS_ENV
(Removed in Rails 2, we decided to keep it)
Rake Tasks
Rake tasks are contained in the limerick_rake
gem.
- bootstrap (Provides rake tasks for loading data into the database. These are used for an initial application dataset needed for production.)
- capistrano (Standard capistrano deployment tasks)
Testing
The basic test setup uses Test::Unit
, Shoulda
, factory_bot
, and mocha
,
and includes some standard shoulda macros that we’ve used on various projects.
Factory Bot1 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.
Shoulda is a pragmatic testing
framework for TDD and BDD built on top of Test::Unit. A
number of additional testing macros are provided in test/shoulda_macros
:
Deployment
Deployment is done using capistrano, and deploys to a mongrel cluster, running under Apache.
Rake tasks are provided for managing git branches which the different environments pull from for deploy.
To push the git master to git staging branch run:
rake git:push:staging
To push the git staging branch to production branch run:
rake git:push:production
Setup your deployment environment by running:
cap ENVIRONMENT deploy:setup
You’ll be prompted for the environment’s database password
Deploy to the desired environment by running:
cap ENVIRONMENT deploy
The default environment for deploy is staging, to deploy to staging, just run:
cap deploy
Mascot
The official Suspenders mascot is Suspenders Boy.
with Rails skills through hands-on workshops in an intimate setting with thoughtbot developers.
Early Bird tickets are now available for October and December classes.
Previous spotlights on our students’ work include open source libraries Klang & strongbox and beautifully designed Rails app (with 100% test coverage!) yiloveit.
Project name history can be found here.
-
Looking for FactoryGirl? The library was renamed in 2017. ↩