Changes noted below.
Bort is a base Rails 2.2.2 application that makes creating new projects easier and faster. Bort is developed and maintained by Fudge Studios, Jim Neath and Matt Hall
If you have any suggestions for improvements then feel free to leave a request on User Voice
- Download and unzip Bort
- Edit the database.yml and the settings.yml files
- Changed the default password in the bort migration
- Edit the REST_AUTH_SITE_KEY in each of the environment files
- Rake db:migrate
- Have a brew and celebrate
Bort comes with a few commonly used plugins installed and already setup.
RESTful Authentication is already setup. The routes are setup, along with the mailers and observers.
Forgotten password comes setup, so you don’t have to mess around setting it up with every project.
The AASM plugin comes pre-installed. RESTful Authentication is also setup to use user activation.
Bort now comes with Role Requirement by Tim Harper. A default
admin role is predefined along with a default admin user. See the migrations for the admin login details.
Bort, as of 0.3, has Open ID integrated with RESTful Authentication. Rejoice!
- fckeditor
- jrails
- thoughtbot-limerick_rake
- thoughtbot-mile_marker
- thoughtbot-squirrel
We use will_paginate in pretty much every project we use, so Bort comes with it pre-installed.
You should be testing your code, so Bort comes with Rspec and Rspec-rails already installed so you’re
ready to roll.
Note: Shoulda is installed as the preferred test framework. Rspec is used for pre-existing models/controllers (e.g. Users and Roles)
You don’t want your applications to crash and burn so Exception Notifier is already installed to let
you know when everything goes to shit.
Packages up your css/javascript so you’re not sending 143 files down to the user at the same time. Reduces
load times and saves you bandwidth.
- capistrano-ext
- haml
- mocha
- newrelic_rpm
- RedCloth
- thoughtbot-quietbacktrace
- thoughtbot-factory_girl
- thoughtbot-shoulda
By default, the gem is included.
If you do not have a free account, signup here: https://rpm.newrelic.com
After signing-up, replace config/newrelic.yml
with the file they provide for your account here
The routes for RESful Auth and the forgot password stuff are already sorted for you.
There is a settings.yml file that contains site-wide stuff. The site name, url and admin email are all used
in the RESTful Auth mailers, so you don’t need to worry about editing them.
The database.yml defaults to sqlite3 but also contains the settings for MySQL in comments so you can switch
over easily.
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)
The basic test setup uses Test::Unit, Shoulda, factory_girl, and mocha, and includes some standard “shoulda macros” that we’ve used on various projects.
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.
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:
Bort comes ready to rock capistrano. The recipe that is setup is based on using git and passenger. It’s ready
to go with multistage deployments. It deploys to the production config by default, so if you don’t need it
you can ignore it. Just update config/deploy/production.rb with your deployment settings.
More info on capistrano-ext/multistage deployments can be found here: http://weblog.jamisbuck.org/2007/7/23/capistrano-multistage
Deployment is done using capistrano, and deploys to a Passenger (aka mod_rails), 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 </pre>
To push the git staging branch to production branch run:
rake git:push:production </pre>
Setup your deployment environment by running:
cap ENVIRONMENT deploy:setup </pre>
You’ll be prompted for the environment’s database password
Deploy to the desired environment by running:
cap ENVIRONMENT deploy </pre>
The default environment for deploy is staging, to deploy to staging, just run:
cap deploy </pre>
Bort is setup to use the database to store sessions by default.
- password and password_confirmation are set up to be filtered
- there is a default application layout file
- a page title helper has been added
- index.html is already deleted
- rails.png is already deleted
- a few changes have been made to the default views
- a default css file with blank selectors for common rails elements
Bort put together by people at Fudge