Milkshake
Milkshake allows you to compose rails apps from several other rails apps specially packed as gems.
Creating a host application
To create a new host application you must use the create.host command.
$ milkshake create.host my_host_applications
Rails app successfully created!
Rails app successfully cleaned!
Milkshake successfully installed!
Rails app successfully stripped!
$ ls my_host_applications
config db log public script tmp
The most important part of the host application is the config/milkshake.yml file.
gems:
my-gem:
version: 0.2.38
lib: my_gem
source: http://www.github.com
After changing the milkshake.yml or updating some gems you must touch tmp/relink.txt and restart your app server (touch tmp/restart.txt for passenger).
Creating a gem application
Gem applications can be packaged as gems and can be linked back into host applications.
$ milkshake create.gem my_gem_applications
# anwser the questions milkshake asks you
Installation
# you need gemcutter first
$ sudo gem install gemcutter
$ sudo gem tumble
# then just install milkshake
$ sudo gem install milkshake
Wish list
- link rake tasks from [gem path]/lib/tasks (is this needed?)
- migrate down when removing (or downgrading) a gem.
Note on Patches/Pull Requests
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so I don't break it in a future version unintentionally.
- Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
- Send me a pull request. Bonus points for topic branches.
Copyright
Copyright (c) 2009 Simon Menke. See LICENSE for details.