A gem to help setup a new rails project with our standard configuration and gems baked in
Ruby JavaScript Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
features
lib/bakeware
templates
.gitignore
.travis.yml
CONTRIBUTING.md
Gemfile
Gemfile.lock
LICENSE
README.md
Rakefile
bakeware.gemspec

README.md

Bakeware Build Status

Bakeware is the base Rails application (usually) used at ovenbits.

Installation

First install the bakeware gem:

gem install bakeware

Then run:

bakeware projectname

This will create a Rails 3.2 app in projectname. This script creates a new git repository. It can also optionally create 2 new heroku apps. It is not meant to be used against an existing repo. Bakeware comes in two modes: lean, and meaty.

Lean Mode

This is the default mode. Comes with

  • Airbrake for exception notification
  • haml for haml - because we should all use it
  • newrelic_rpm for analytics about the performance of your app
  • pg for PostgreSQL
  • rack-timeout for killing a zombie process

As well as some other development tools (like pry-rails, better_errors, binding_of_caller).

Meaty Mode

You can optionally opt for Meaty mode:

bakeware projectname --meaty true

This comes with:

  • Airbrake for exception notification
  • asset_sync syncing assets between rails and s3
  • aws-sdk for the amazon sdk
  • challah for simple and effective authentication
  • challah-facebook extends Challah for FB authentication
  • Compass for Sass mixins and standardization
  • haml for haml - because we all should use it
  • hirefireapp for auto scaling dynos on heroku
  • newrelic_rpm for analytics about the performance of your app
  • Paperclip for file uploads
  • pg for PostgreSQL
  • rack-timeout for killing your app's hung processes before heroku times out (set to 29 seconds)
  • redis for redis
  • resque for resque background processing
  • Unicorn for a better http server

Testing

Bakeware also comes with testing gems, including (but not limited to):

We don't use RSpec often, and even less often do we use minitest. So manually include those if you want.

Other goodies

Bakeware also comes with:

Heroku

You can optionally create Heroku staging and production apps:

bakeware projectname --heroku true

This has the same effect as running:

heroku create projectname-staging --remote staging
heroku create projectname --remote production

Github

You can optionally create a Github repository:

bakeware projectname --github organization/project

This has the same effect as running:

hub create organization/project

To create a private repo, pass the --private true option:

bakeware projectname --github organization/project --private true

Test::Unit

You can optionally skip Test::Unit files:

bakeware projectname --skip_test_unit true

Dependencies

Bakeware requires Ruby 1.9.3 or greater.

Some gems included in Bakeware have native extensions. You should have GCC installed on your machine before generating an app with Bakeware.

Use OS X GCC Installer for Snow Leopard (OS X 10.6).

Use Command Line Tools for XCode for Lion (OS X 10.7) or Mountain Lion (OS X 10.8).

PostgreSQL needs to be installed and running for the db:create rake task.

Issues

If you have problems, please create a Github Issue.

Contributing

Please see CONTRIBUTING.md for details.

Credits

Oven Bits

Bakeware is maintained and funded by Oven Bits and Court Simas.

The names and logos for Oven Bits are trademarks of Oven Bits

License

Bakeware is Copyright © 2013 Oven Bits. It is free software, and may be redistributed under the terms specified in the LICENSE file.