function (opts, file, encoding, callback) {
  var filePath = new FilePath(file.path);
  results[filePath.value] = results[filePath.value] || [];

  _.each(rules, function(rule, name) {
    var response;

    if (!opts[name]) {
      return;
    }

    response = rule(filePath, opts[name]);

    if (check(response).is('string')) {
      results[filePath.value].push(response);
    }
  });

  callback(null, file);
}
function (opts, file, encoding, callback) {
  var filePath = new FilePath(file.path);
  results[filePath.value] = results[filePath.value] || [];

  _.each(rules, function(rule, name) {
    var response;

    if (!opts[name]) {
      return;
    }

    response = rule(filePath, opts[name]);

    if (check(response).is('string')) {
      results[filePath.value].push(response);
    }
  });

  callback(null, file);
}
function ( opts , file , encoding , callback ) { var filePath = new FilePath ( file . path ) ; results [ filePath . value ] = results [ filePath . value ] || [ ] ; _ . each ( rules , function ( rule , name ) { var response ; if ( ! opts [ name ] ) { return ; } response = rule ( filePath , opts [ name ] ) ; if ( check ( response ) . is ( 'string' ) ) { results [ filePath . value ] . push ( response ) ; } } ) ; callback ( null , file ) ; }
/*
processFile

Run file path through each rule and combine linting results.
/ * processFile