whole_func_string: function Plugin (pluginPath) {
      this.pluginPath = pluginPath;
      this.we = we;
  
      this.events = this.we.events;
      this.hooks = this.we.hooks;
      this.router = this.we.router;
      /**
       * Plugin Assets
       * @type {Object}
       */
      this.assets = {
        js: {},
        css: {}
      };
  
      this['package.json'] = require( path.join( pluginPath , 'package.json') );
  
      this.controllersPath = path.join( this.pluginPath,  this.controllerFolder );
      this.modelsPath = path.join( this.pluginPath,  this.modelFolder );
      this.modelHooksPath = path.join( this.pluginPath,  this.modelHookFolder );
      this.modelInstanceMethodsPath = path.join( this.pluginPath,  this.modelInstanceMethodFolder );
      this.modelClassMethodsPath = path.join( this.pluginPath,  this.modelClassMethodFolder );
  
      this.searchParsersPath = path.join( this.pluginPath, this.searchParsersFolder );
      this.searchTargetsPath = path.join( this.pluginPath, this.searchTargetsFolder );
  
      this.templatesPath = this.pluginPath + '/server/templates';
      this.helpersPath = this.pluginPath + '/server/helpers';
      this.resourcesPath = this.pluginPath + '/server/resources';
      this.routesPath = this.pluginPath + '/server/routes';
  
      this.helpers = {};
      this.layouts = {};
      this.templates = {};
  
      /**
       * Default plugin config object
       *
       * @type {Object}
       */
      this.configs = {};
  
  
      /**
       * Default plugin resources
       *
       * @type {Object}
       */
      this.controllers = {};
      this.models = {};
      this.routes = {};
  
      this.appFiles = [];
      this.appAdminFiles = [];
    }
func_code_string: function Plugin (pluginPath) {
      this.pluginPath = pluginPath;
      this.we = we;
  
      this.events = this.we.events;
      this.hooks = this.we.hooks;
      this.router = this.we.router;
      /**
       * Plugin Assets
       * @type {Object}
       */
      this.assets = {
        js: {},
        css: {}
      };
  
      this['package.json'] = require( path.join( pluginPath , 'package.json') );
  
      this.controllersPath = path.join( this.pluginPath,  this.controllerFolder );
      this.modelsPath = path.join( this.pluginPath,  this.modelFolder );
      this.modelHooksPath = path.join( this.pluginPath,  this.modelHookFolder );
      this.modelInstanceMethodsPath = path.join( this.pluginPath,  this.modelInstanceMethodFolder );
      this.modelClassMethodsPath = path.join( this.pluginPath,  this.modelClassMethodFolder );
  
      this.searchParsersPath = path.join( this.pluginPath, this.searchParsersFolder );
      this.searchTargetsPath = path.join( this.pluginPath, this.searchTargetsFolder );
  
      this.templatesPath = this.pluginPath + '/server/templates';
      this.helpersPath = this.pluginPath + '/server/helpers';
      this.resourcesPath = this.pluginPath + '/server/resources';
      this.routesPath = this.pluginPath + '/server/routes';
  
      this.helpers = {};
      this.layouts = {};
      this.templates = {};
  
      /**
       * Default plugin config object
       *
       * @type {Object}
       */
      this.configs = {};
  
  
      /**
       * Default plugin resources
       *
       * @type {Object}
       */
      this.controllers = {};
      this.models = {};
      this.routes = {};
  
      this.appFiles = [];
      this.appAdminFiles = [];
    }
func_documentation_string: We.js plugin Class constructor
  
  @param {string} name   plugin npm pakage name
  @param {string} projectPath project path where the plugin is instaled