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.
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)
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
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
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.