def self.<<(plugin)
plugin[:single_instance] = true unless plugin.include?(:single_instance)
type = plugin[:type]
klass = plugin[:class]
single = plugin[:single_instance]
raise("Plugin #{type} already loaded") if @plugins.include?(type)
if klass.is_a?(String)
@plugins[type] = {:loadtime => Time.now, :class => klass, :instance => nil, :single => single}
Log.debug("Registering plugin #{type} with class #{klass} single_instance: #{single}")
else
@plugins[type] = {:loadtime => Time.now, :class => klass.class, :instance => klass, :single => true}
Log.debug("Registering plugin #{type} with class #{klass.class} single_instance: true")
end
end