Read the Gemfile to understand everything this template installs and pre-configures for you.
One of gems, Johnson, still has some issues compiling under Ruby 1.9.2 so you will need to use Ruby 1.8.7 instead.
This template is heavily dependent on wget so, if you’re using a Mac, you will need to install it first. The recommended way is to install Homebrew first and then:
brew install wget
Since Github started forcing SSL in all its URLs, we need to download the template file separately:
wget --no-check-certificate https://github.com/akitaonrails/rails3_template/raw/master/main.rb -O /tmp/rails3_template.rb
Then whenever you want to create a new project, just do:
rails new app_name -JT -m /tmp/rails3_template.rb
Change app_name for your project name. You can configure what you need and run rake db:migrate to get started.
This is intended to be an opinionated template. The options chosen have these reasons:
- Standard ERB instead of HAML – even though HAML is great the pros and cons are too balanced to justify replacing ERB.
- Simple Form instead of Formtastic – to me, “feels” simpler
- SASS instead of pure CSS – this undeniably adds value on top of CSS making it easier to organize
- JQuery instead of Prototype – no need to say more
- Kaminari instead of Will Paginate – cleaner solution for pagination
- RSpec, Factory Girl Cucumber, Spork, Capybara, Celerity, Faker, Metric Fu – this is the universally accepted main test package, so be it
- Devise – the best authentication system so far
- Inherited Resources – lighter controllers
- Compass, Asset Packager, Lemonade – easier way to deal with images and other assets
- Cells – this is experimental but does bring advantages in making controller less cluttered and isolating components
So, opinionated to a point, trying to stick to the basics where advantages are not so obvious.
Read Peter Cooper’s excellent tutorial on how to setup a fast testing environment:
This template tries to do so. Before starting just run:
And in another terminal run:
Also do not forget to modify config/environments/test.rb to reload classes:
config.cache_classes = false
This Template is based on Diego Carrion’s template. The changes include removing HAML, Hoptoad, Coffeescript (Barista), Remarkable, adding yajl for json, thin, replacing will_paginate for kaminari, replacing autotest for watchr, enabling spork, replacing formtastic for simple_form, bundling gems within the app,
Author: Fabio Akita (@AkitaOnRails)