Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
105 lines (70 sloc) 3.55 KB

Cooking With Rails

Cooking with Rails is a Rails web application for managing recipes and ingredients. It is currently in alpha state, and is only suitable for hacking.

Getting Started

Cooking With Rails is based on relatively young technologies like MongoDB and Beanstalk, and aims to be highly configurable for both controlled and Heroku deploys (targeted at the Cedar stack).


  • Ruby (I recommend 1.9.3+ for this app)
  • Bundler (1.0+)
  • MongoDB (or available server instance)
  • BeanStalk (or available server instance)

Setting Up

After cloning the repository and satisfying the above dependencies, simply running the following will yield a full install ready for development, testing and running Cooking With Rails:

bundle install

Bundle Groups

The following bundle combinations can provide thinner installs. They can be mixed and matched as desired by separating multiple groups with commas:

  • airbrake: This group controls airbrake

    bundle install --without airbrake
  • newrelic: This group controls NewRelic

    bundle install --without newrelic
  • assets: All gems involved with asset generation should reside in this group

    bundle install --without assets
  • test: All testing-related gems should reside in this group

    bundle install --without test
  • development: All development-specific gems should reside in this group

    bundle install --without development


Copy config/application.yml.example to config/application.yml to get started.

The config uses SettingsLogic, and is an ERB-enabled YAML file. It defaults to environment variables, if they exist, and falls back to string values. All of this logic is in the config file itself. Feel free to drop the ERB logic in your own config/application.yml, if you'd prefer.



The development environment can be run in several ways:

  • screen -c ext/ide.screen

    This will launch a screen session that attempts to provide IDE functionality. It is a wrapper around the recommended approaches to the tests and app server, as Ill as providing rails, git and bash consoles.

  • foreman start

    This will launch an app server and a worker process. It provides a very similar runtime to Heroku's cedar stack. This is the recommended way to run the Cooking With Rails application on your own Note: This is already run when using the screen IDE for development


The test suite can be run with or without Spork (I recommend using Spork). The optimal way to handle this when not using the screen IDE config is to use Guard:

  • guard
    This will run all specs, and re-run specs as related files are updated. This is the recommended way to run the Cooking with Rails test suite Note: This is already run when using the screen IDE for development

Otherwise, the suites can be run individually via the standard mechanisms (I use RSpec and Cucumber).


To contribute, please fork the project on github, and submit your changes in a pull request. Note: Not all pull requests will be accepted

Feature Requests

Please file all feature requests as Github Issues. Note: Not all feature requests will be accepted/worked on, but I'll try my best


Please file all bugs as Github Issues. I will try to respond as quickly as possible for all reported issues.