mirror of
https://github.com/JuanCanham/HackMyResume.git
synced 2024-11-22 16:30:11 +00:00
Introduce section totals inspector.
This commit is contained in:
parent
0a8ee721e8
commit
c3ec3f28bd
@ -65,6 +65,7 @@
|
|||||||
"phantom": "^0.8.4",
|
"phantom": "^0.8.4",
|
||||||
"recursive-readdir-sync": "^1.0.6",
|
"recursive-readdir-sync": "^1.0.6",
|
||||||
"simple-html-tokenizer": "^0.2.0",
|
"simple-html-tokenizer": "^0.2.0",
|
||||||
|
"string-padding": "^1.0.2",
|
||||||
"string.prototype.startswith": "^0.2.0",
|
"string.prototype.startswith": "^0.2.0",
|
||||||
"underscore": "^1.8.3",
|
"underscore": "^1.8.3",
|
||||||
"webshot": "^0.16.0",
|
"webshot": "^0.16.0",
|
||||||
|
@ -193,5 +193,6 @@ function splitSrcDest() {
|
|||||||
Simple logging placeholder.
|
Simple logging placeholder.
|
||||||
*/
|
*/
|
||||||
function logMsg( msg ) {
|
function logMsg( msg ) {
|
||||||
|
msg = msg || '';
|
||||||
opts.silent || console.log( msg );
|
opts.silent || console.log( msg );
|
||||||
}
|
}
|
||||||
|
66
src/inspectors/totals-inspector.js
Normal file
66
src/inspectors/totals-inspector.js
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
/**
|
||||||
|
Totals analysis for HackMyResume.
|
||||||
|
@license MIT. See LICENSE.md for details.
|
||||||
|
@module gap-inspector.js
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var _ = require('underscore');
|
||||||
|
var FluentDate = require('../core/fluent-date');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
Identify gaps in the candidate's employment history.
|
||||||
|
@class gapInspector
|
||||||
|
*/
|
||||||
|
var gapInspector = module.exports = {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
moniker: 'totals-inspector',
|
||||||
|
|
||||||
|
/**
|
||||||
|
Run the Totals Analyzer on a resume.
|
||||||
|
@method run
|
||||||
|
@return An array of object representing gaps in the candidate's employment
|
||||||
|
history. Each object provides the start, end, and duration of the gap:
|
||||||
|
{ <-- gap
|
||||||
|
start: // A Moment.js date
|
||||||
|
end: // A Moment.js date
|
||||||
|
duration: // Gap length
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
run: function( rez ) {
|
||||||
|
|
||||||
|
var ret = { };
|
||||||
|
|
||||||
|
_.each( rez, function(val, key){
|
||||||
|
|
||||||
|
if( _.isArray( val ) && !_.isString(val) ) {
|
||||||
|
ret[ key ] = val.length;
|
||||||
|
}
|
||||||
|
else if( val.history && _.isArray( val.history ) ) {
|
||||||
|
ret[ key ] = val.history.length;
|
||||||
|
}
|
||||||
|
else if( val.sets && _.isArray( val.sets ) ) {
|
||||||
|
ret[ key ] = val.sets.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}());
|
@ -53,7 +53,20 @@ Implementation of the 'analyze' verb for HackMyResume.
|
|||||||
return val.run( resumeObject.rez );
|
return val.run( resumeObject.rez );
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log('Gaps: ' + info.gaps.length );
|
log(chalk.cyan('\nTotals: '));
|
||||||
|
var pad = require('string-padding');
|
||||||
|
_.each( info.totals, function(tot, key) {
|
||||||
|
log(chalk.cyan(pad(key + ': ',17)) + chalk.cyan.bold(pad(tot.toString(),4)));
|
||||||
|
});
|
||||||
|
|
||||||
|
log();
|
||||||
|
log(chalk.cyan('Gaps: ') + chalk.cyan.bold(info.gaps.length) +
|
||||||
|
chalk.cyan(' [') + info.gaps.map(function(g) {
|
||||||
|
var clr = 'green';
|
||||||
|
if( g.duration > 35 ) clr = 'yellow';
|
||||||
|
if( g.duration > 90 ) clr = 'red';
|
||||||
|
return chalk[clr].bold(g.duration);
|
||||||
|
}).join(', ') + chalk.cyan(']') );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -63,6 +76,7 @@ Implementation of the 'analyze' verb for HackMyResume.
|
|||||||
*/
|
*/
|
||||||
function _loadInspectors() {
|
function _loadInspectors() {
|
||||||
return {
|
return {
|
||||||
|
totals: require('../inspectors/totals-inspector'),
|
||||||
gaps: require('../inspectors/gap-inspector')
|
gaps: require('../inspectors/gap-inspector')
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user