whole_func_string: 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);
  }
func_code_string: 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);
  }
func_documentation_string: /*
  processFile
  
  Run file path through each rule and combine linting results.