[ruby] plugin structure
class Library Plugins = [] def initialize#(...) Plugins.each do |plugin| # Here you can run a certain class method or grab some data from each class end end # ... end
class LibraryPlugin # ... def self.inherited(sub); Library::Plugins << sub; end end
class LibraryFooer < LibraryPlugin end class LibraryBarer < LibraryPlugin end
Library::Plugins.inspect #=> [LibraryFooer, LibraryBarer]