Goodies
- Rails 4.2
- Custom view scaffold templates using HAML, Simple Form, Bootstrap and FontAwesome
- Custom model and controller scaffold templates using Responders and Has scope
- Devise, CanCan and Rolify
- RSpec
- Foreman and pre-configuration for deployment on Heroku
- Loads more…
Usage
Gunzel is distributed as a customised generated Rails application scaffold (not as a Rails application template, which would be nice but the idea of stuffing so many customisations into a single script is a little scary).
As it’s not a gem (yet), you’ll need to work with the Git repository to get at the code. If you’re starting a new project there are few different options here. The recommended approach is:
# create a new project directory and switch to it
mkdir my_project && cd $_
# initialise a new repository with gunzel as an upstream remote
git init
git remote add gunzel git@github.com:lankz/gunzel.git
git pull gunzel/master
Gunzel is not pre-configured for any particular DBMS (please use Postgres :bowtie:) and should work with anything Rails does. The database configuration file config/database.yml
is not checked into version control, so you’ll need to copy an example across and customise it before you can proceed.
cp config/database/postgresql.example.yml config/database.yml
# edit database configuration to suit
vim config/database.yml
./bin/rake db:setup --trace
For security reasons it’s a good idea to generate a new secret_key_base
:
./bin/rake secret | pbcopy
vim config/secrets.yml
There are loads of other configuration options for Gunzel and it’s dependencies - you’ll want to check out the files in config/initializers
.
Finally, here are a few tricks for starting the Rails console and web server (if you deploy on Heroku and don’t already use foreman you should definitely familiarise yourself with it):
# using foreman (recommended)
./bin/foreman run ./bin/rails console
# other options (somewhat not recommended)
./bin/rails console
./bin/rails server --port 5000
./bin/unicorn --port 5000
# navigate to the application in your default browser :)
open 'http://localhost:5000/'