Plugin

DESCRIPTION

Plugin is a straighforward plugin manager for Ruby. It can handle RubyGems, Rolls and Ruby’s standard site locals. It is both more flexible and more robust the using Gem.find_files or searching the $LOAD_PATH manually.

The Plugin library does two signifficant things. First it designates a location in the ruby $LOAD_PATH for plugins. Second it provides an easy to use function for finding plugin scripts stored in the designated location.

USAGE

Place all plugins for your project in lib/plugins/<name>/. Or if you have altered the load path for your project, you can place them in the alternate location, <alternate-loadpath>/plugins/<name>/.

To find plugins, simply provide a glob to the Plugin.find function, and it will return all matches found within current and/or most recent versions of libraries.

For example, a common use case for a pluggable application is to require all the plugins found:

require 'plugin'

Plugin.find('myapp/*.rb').each do |file|
  require(file)
end

Alternately you might load plugins only as needed. For instance, if a command-line option calls for it.

1

Alterating the conventional load path shoud be avoided whenever possible.

COPYRIGHTS

Copyright © 2009 Thomas Sawyer

Plugin is release under the terms of the LGPL.

See COPYING for details.