Rip Packages
One of Rip's distinguishing features is its support for multiple package types. Currently Rip can install:
- directories
- single files
- rubygems
- git repositories
- ripfiles
Rip also has a concept of meta packages - packages which install other
packages. Rip can install any of the above packages over HTTP
(with the HTTPPackage) and has the power to fetch remote RubyGems.
Authoring Packages
Start with the PackageAPI module. It's included in the Package class, from which all packages must inherit. The API has been broken out into its own module so you can easily see which methods you should override in your own package.
To see exactly which methods gets called during installation (and uninstallation), check the Installer class.
Throughout Rip, bang methods are generally called by corresponding
non-bang methods. For instance, fetch! may only need to be called
once but multiple methods may want to ensure the package has been
fetched before going about their business. These methods will call
fetch who decides when fetch! is or isn't actually needed.
The rip show command may be useful to you during development: it
displays information about an installed package.