def autoload # :yields: namespace, plugin_type, provider, plugin
    load_info = loaded_plugins

    load_info.keys.each do |namespace|
      load_info[namespace].keys.each do |plugin_type|
        load_info[namespace][plugin_type].each do |provider, plugin|
          require plugin[:file]

          load_info[namespace][plugin_type][provider][:class] = class_const(plugin[:class_components])

          yield(namespace, plugin_type, provider, plugin) if block_given?
        end
      end
    end
  end
def autoload # :yields: namespace, plugin_type, provider, plugin
    load_info = loaded_plugins

    load_info.keys.each do |namespace|
      load_info[namespace].keys.each do |plugin_type|
        load_info[namespace][plugin_type].each do |provider, plugin|
          require plugin[:file]

          load_info[namespace][plugin_type][provider][:class] = class_const(plugin[:class_components])

          yield(namespace, plugin_type, provider, plugin) if block_given?
        end
      end
    end
  end
Autoload all of the defined plugins

 * *Parameters*

 * *Returns*
   - [Void]  This method does not return a value

 * *Errors*
   - TODO

 * *Yields*
   - [Symbol] *namespace*  Plugin namespace
   - [Symbol] *plugin_type*  Plugin type
   - [Symbol] *provider*  Plugin provider
   - [Hash<Symbol|ANY>] *plugin*  Plugin load information

 See:
 - #loaded_plugins
 - #class_const