runner.js 905 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. var Q = require('q');
  2. var debug = require('debug')('ylt:yellowlabtools');
  3. var phantomasWrapper = require('./tools/phantomasWrapper');
  4. var rulesChecker = require('./rulesChecker');
  5. var Runner = function(params) {
  6. 'use strict';
  7. var deferred = Q.defer();
  8. // The pivot format
  9. var data = {
  10. params: params,
  11. toolsResults: {}
  12. };
  13. // Execute Phantomas first
  14. phantomasWrapper.execute(data).then(function(phantomasResults) {
  15. data.toolsResults.phantomas = phantomasResults;
  16. // Other tools go there
  17. // Rules checker
  18. var policies = require('./metadata/policies.json');
  19. data.rules = rulesChecker.check(data, policies);
  20. deferred.resolve(data);
  21. }).fail(function(err) {
  22. debug('Run failed');
  23. debug(err);
  24. deferred.reject(err);
  25. });
  26. return deferred.promise;
  27. };
  28. module.exports = Runner;