module Scripting::Pluggable::ClassMethods

Public Instance Methods

plugin(mod, *args) click to toggle source
# File lib/scripting/pluggable.rb, line 8
def plugin mod, *args
  current = self.plugins
  unless current.include? mod
    current << mod
    include(mod::InstanceMethods) if mod.const_defined? "InstanceMethods"
    extend(mod::ClassMethods) if mod.const_defined? "ClassMethods"

    if mod.respond_to? :class_init
      mod.class_init(self, *args)
    end
  end
end
plugins() click to toggle source
# File lib/scripting/pluggable.rb, line 4
def plugins
  @__plugins__ ||= []
end