defunkt / Sake
Programming Languages
= Sake. Best served warm.
Sick of copy & pasting your badass custom Rakefiles into every new Rails app you start? Fed up with writing one-off admistrative scripts and leaving them everything?
No longer. Sake is a tool which helps you maintain a set of system level Rake tasks.
Get started:
$ sudo gem install sake $ sake -h
Show all Sake tasks (but no local Rake tasks), optionally only those matching a pattern. $ sake -T $ sake -T db
Show tasks in a Rakefile, optionally only those matching a pattern. $ sake -T file.rake $ sake -T file.rake db
Install tasks from a Rakefile, optionally specifying specific tasks. $ sake -i Rakefile $ sake -i Rakefile db:remigrate $ sake -i Rakefile db:remigrate routes
Examine the source of a Rake task. $ sake -e routes
You can also examine the source of a task not yet installed. $ sake -e Rakefile db:remigrate
Uninstall an installed task. (Can be passed one or more tasks.) $ sake -u db:remigrate
Post a task to Pastie! $ sake -p routes
Invoke a Sake task. $ sake
Some Sake tasks may depend on tasks which exist only locally.
For instance, you may have a db:version sake task which depends on the 'environment' Rake task. The 'environment' Rake task is one defined by Rails to load its environment. This db:version task will work when your current directory is within a Rails app because Sake knows how to find Rake tasks. This task will not work, however, in any other directory (unless a task named 'environment' indeed exists).
Sake can also serve its tasks over a network by launching a Mongrel handler. Pass the -S switch to start Sake in server mode.
$ sake -S
You can, of course, specify a port. $ sake -S -p 1111
You can also daemonize your server for long term serving fun. $ sake -S -d
== Special Thanks
- Ryan Davis
- Eric Hodel
- Josh Susser
- Brian Donovan
- Zack Chandler
- Dr Nic Williams
== Author
Chris Wanstrath => [email protected]