module CodeRay::PluginHost

PluginHost

A simple subclass/subfolder plugin system.

Example:

class Generators
  extend PluginHost
  plugin_path 'app/generators'
end

class Generator
  extend Plugin
  PLUGIN_HOST = Generators
end

class FancyGenerator < Generator
  register_for :fancy
end

Generators[:fancy]  #-> FancyGenerator
# or
CodeRay.require_plugin 'Generators/fancy'
# or
Generators::Fancy