lib/meta/class.js
function() {

    //if the name was not set by the last meta file set it based on the file path
    if( (!this.name || this.name === 'Class') && typeof this.filePath === 'string' ) {
      this.name = path.basename(this.filePath);
    }

    //make sure the meta object exists
    if( typeof this.meta !== 'object' ) {
      console.log(colors.gray('class meta:'), 'not found!');
      this.meta = {};
    }

    //make sure the meta methods object exists
    if( typeof this.meta.methods !== 'object' ) {
      console.log(colors.yellow('class meta:'), 'missing methods object!');
      this.meta.methods = {};
    }

    //loop through methods in the meta object
    for( var method in this.meta.methods ) {

      //delete any method from meta that does not actually exist on the class
      if( !(method in this) ) {
        console.log(colors.yellow('class missing method:'), {class: this.name, method: method});
        delete this.meta.methods[method];
      }

    }

    /*
    //loop through methods in the class
    for( var method in this ) {

      if( typeof this[method] === 'function' ) {

        //alert about methods missing from the meta data
        if (!(method in this.meta.methods)) {
          console.log(colors.yellow('meta missing method:'), {class: this.name, method: method});
        }

      }
    }
    //*/

  }
function() {

    //if the name was not set by the last meta file set it based on the file path
    if( (!this.name || this.name === 'Class') && typeof this.filePath === 'string' ) {
      this.name = path.basename(this.filePath);
    }

    //make sure the meta object exists
    if( typeof this.meta !== 'object' ) {
      console.log(colors.gray('class meta:'), 'not found!');
      this.meta = {};
    }

    //make sure the meta methods object exists
    if( typeof this.meta.methods !== 'object' ) {
      console.log(colors.yellow('class meta:'), 'missing methods object!');
      this.meta.methods = {};
    }

    //loop through methods in the meta object
    for( var method in this.meta.methods ) {

      //delete any method from meta that does not actually exist on the class
      if( !(method in this) ) {
        console.log(colors.yellow('class missing method:'), {class: this.name, method: method});
        delete this.meta.methods[method];
      }

    }

    /*
    //loop through methods in the class
    for( var method in this ) {

      if( typeof this[method] === 'function' ) {

        //alert about methods missing from the meta data
        if (!(method in this.meta.methods)) {
          console.log(colors.yellow('meta missing method:'), {class: this.name, method: method});
        }

      }
    }
    //*/

  }
function ( ) { //if the name was not set by the last meta file set it based on the file path if ( ( ! this . name || this . name === 'Class' ) && typeof this . filePath === 'string' ) { this . name = path . basename ( this . filePath ) ; } //make sure the meta object exists if ( typeof this . meta !== 'object' ) { console . log ( colors . gray ( 'class meta:' ) , 'not found!' ) ; this . meta = { } ; } //make sure the meta methods object exists if ( typeof this . meta . methods !== 'object' ) { console . log ( colors . yellow ( 'class meta:' ) , 'missing methods object!' ) ; this . meta . methods = { } ; } //loop through methods in the meta object for ( var method in this . meta . methods ) { //delete any method from meta that does not actually exist on the class if ( ! ( method in this ) ) { console . log ( colors . yellow ( 'class missing method:' ) , { class : this . name , method : method } ) ; delete this . meta . methods [ method ] ; } } /*
    //loop through methods in the class
    for( var method in this ) {

      if( typeof this[method] === 'function' ) {

        //alert about methods missing from the meta data
        if (!(method in this.meta.methods)) {
          console.log(colors.yellow('meta missing method:'), {class: this.name, method: method});
        }

      }
    }
    //*/ }
process & sanitize meta data
process & sanitize meta data