mirror of
https://github.com/JuanCanham/HackMyResume.git
synced 2025-04-19 14:20:25 +01:00
61 lines
1.3 KiB
JavaScript
61 lines
1.3 KiB
JavaScript
/**
|
|
Implementation of the 'create' verb for HackMyResume.
|
|
@module verbs/create
|
|
@license MIT. See LICENSE.md for details.
|
|
*/
|
|
|
|
|
|
|
|
(function(){
|
|
|
|
|
|
|
|
var MKDIRP = require('mkdirp')
|
|
, PATH = require('path')
|
|
, chalk = require('chalk')
|
|
, Verb = require('../verbs/verb')
|
|
, _ = require('underscore')
|
|
, HMSTATUS = require('../core/status-codes')
|
|
, HMEVENT = require('../core/event-codes');
|
|
|
|
|
|
|
|
var CreateVerb = module.exports = Verb.extend({
|
|
|
|
init: function() {
|
|
this._super('new');
|
|
},
|
|
|
|
invoke: function() {
|
|
this.stat( HMEVENT.begin, { cmd: 'create' });
|
|
create.apply( this, arguments );
|
|
this.stat( HMEVENT.begin, { cmd: 'convert' });
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
/**
|
|
Create a new empty resume in either FRESH or JRS format.
|
|
*/
|
|
function create( src, dst, opts ) {
|
|
|
|
if( !src || !src.length )
|
|
throw { fluenterror: HMSTATUS.createNameMissing, quit: true };
|
|
|
|
_.each( src, function( t ) {
|
|
var safeFmt = opts.format.toUpperCase();
|
|
this.stat( HMEVENT.beforeCreate, { fmt: safeFmt, file: t } );
|
|
MKDIRP.sync( PATH.dirname( t ) ); // Ensure dest folder exists;
|
|
var RezClass = require('../core/' + safeFmt.toLowerCase() + '-resume' );
|
|
RezClass.default().save(t);
|
|
this.stat( HMEVENT.afterCreate, { fmt: safeFmt, file: t } );
|
|
}, this);
|
|
|
|
}
|
|
|
|
|
|
|
|
}());
|