jonlives/knife-spork — pull request #15 by sethvargo (2012-07-22 00:24:56+00:00)
Title: Major refactor to support expandable plugins and reusable code

There are a lot of changes in this Pull Request. In general I really tried to clean up the code, make it more "Ruby-esque", and provide a more robust Plugin API.

- support for expandable plugins
- hook firing
- a common `KnifeSpork::Runner` module to encourage DRY
- changed configuration schema
- individual plugin documentation
- updated README
- formatting and output changes
- Campfire plugin

All plugins have been moved into individual folders in the `./lib/plugins` directory. That directory is autoloaded, so plugins are "drop-in".

I also extracted a lot of duplicate code into the `KnifeSpork::Runner` module that is used extensively.

The Plugin API exposes various methods (that are documented in the `./lib/plugins/README.md`) for easy plugin development.