From 9f79e988de1b72de12674f8f8217b447d2b1615f Mon Sep 17 00:00:00 2001 From: unpregnant Date: Mon, 20 Feb 2017 22:07:46 +0100 Subject: [PATCH] REFACTOR --- src/app.js | 36 +++++-------------------- src/node/ResumeToPdf.js | 18 +++++-------- src/node/Server.js | 56 +++++++++++++++++---------------------- src/node/StyleCompiler.js | 16 ++++------- src/node/Util.js | 17 +++++------- 5 files changed, 47 insertions(+), 96 deletions(-) diff --git a/src/app.js b/src/app.js index d2862bc..2f09822 100755 --- a/src/app.js +++ b/src/app.js @@ -1,44 +1,20 @@ -const path = require('path'); -const Config = require('./node/Config'); -const Util = require('./node/Util')( - path, - require('write'), - require('fs'), - require('child_process').exec -); -const Server = require('./node/Server')( - path, - require('express'), - require('request-promise'), - Config, - Util, - require('./person.js'), - require('http'), - require('reload') -); +const Server = require('./node/Server'); const StyleCompiler = require('./node/StyleCompiler'); const ResumeToPdf = require('./node/ResumeToPdf'); process.argv.forEach(argument => { switch (argument) { case 'less': - StyleCompiler( - require('less'), - path, - require('clean-css'), - Util - ); + StyleCompiler.run(); break; case 'pdf': - ResumeToPdf( - path, - Config, - Util, - Server - ); + ResumeToPdf.convert(); break; case 'server': Server.run(); break; + case 'kill': + Server.kill(); + break; } }); diff --git a/src/node/ResumeToPdf.js b/src/node/ResumeToPdf.js index 6ccdb92..95fe0b4 100755 --- a/src/node/ResumeToPdf.js +++ b/src/node/ResumeToPdf.js @@ -1,5 +1,7 @@ -let path, Config, Util, Server; - +const path = require('path'); +const Config = require('./Config'); +const Util = require('./Util'); +const Server = require('./Server'); const ResumeToPdf = { /** * generates electroshot command for screenshoting resume @@ -20,19 +22,11 @@ const ResumeToPdf = { Server.run(); const directories = Util.getResumesFromDirectories(); let script = ''; - directories.forEach(async(resume) => script += ResumeToPdf.electroshotScript(resume.path)); + directories.forEach(async(resume) => script += this.electroshotScript(resume.path)); script = script.substring(0, script.length - 2); await Util.execBash(script); await Server.kill(); } }; -const mod = function(pathD, ConfigD, UtilD, ServerD) { - path = pathD; - Config = ConfigD; - Util = UtilD; - Server = ServerD; - return ResumeToPdf.convert(); -}; - -module.exports = mod; +module.exports = ResumeToPdf; diff --git a/src/node/Server.js b/src/node/Server.js index e469fb0..2b3498c 100755 --- a/src/node/Server.js +++ b/src/node/Server.js @@ -1,6 +1,13 @@ -let path, express, request, Config, Util, person, http, reload; +const path = require('path'); +const express = require('express'); +const request = require('request-promise'); +const Config = require('./Config'); +const Util = require('./Util'); +const person = require('../person.js'); +const http = require('http'); +const reload = require('reload'); -let app, resumes; +let app, resumes, expressServer; const Server = { /** * sets configurations of express app @@ -17,16 +24,19 @@ const Server = { * starts up express app */ start: function() { - app.listen(Config.port, '0.0.0.0', () => console.log('Listening on localhost:' + Config.port + '!')); + expressServer = app.listen(Config.port, '0.0.0.0', () => console.log('Listening on localhost:' + Config.port + '!')); }, /** * kills express app */ kill: function() { + /* request.get('http://localhost:' + Config.port + '/kill') .catch(error => { if (error) return false; }); + */ + if (expressServer) expressServer.close(); }, /** * sets route of express app @@ -53,6 +63,7 @@ const Server = { */ setKillRoute: function() { app.get('/kill', () => process.exit()); + }, /** * sets routes for each resume @@ -60,7 +71,7 @@ const Server = { setRoutesForResumes: function() { const directories = Util.getDirectories(); for (let resume of directories) { - Server.setRoute('/' + resume, resume + '/index'); + this.setRoute('/' + resume, resume + '/index'); } }, autoReload: function() { @@ -73,36 +84,17 @@ const Server = { */ run: async function() { resumes = Util.getResumesFromDirectories(); - Server.setup(); - Server.setRoute('/', 'views/index'); - Server.setRoutesForResumes(); - Server.setKillRoute(); - Server.kill(); + this.setup(); + this.setRoute('/', 'views/index'); + this.setRoutesForResumes(); + this.setKillRoute(); + this.kill(); await Util.setTimeout(500); - Server.autoReload(); - Server.start(); + this.autoReload(); + this.start(); } }; -const mod = function( - pathD, - expressD, - requestD, - ConfigD, - UtilD, - personD, - httpD, - reloadD -) { - path = pathD; - express = expressD; - request = requestD; - Config = ConfigD; - Util = UtilD; - person = personD; - http = httpD; - reload = reloadD; - return Server; -}; +Server.run(); -module.exports = mod; +module.exports = Server; diff --git a/src/node/StyleCompiler.js b/src/node/StyleCompiler.js index 8b01120..ea8896a 100755 --- a/src/node/StyleCompiler.js +++ b/src/node/StyleCompiler.js @@ -1,4 +1,7 @@ -let less, path, CleanCSS, Util; +const less = require('less'); +const path = require('path'); +const CleanCSS = require('clean-css'); +const Util = require('./Util'); const StyleCompiler = { /** @@ -58,13 +61,4 @@ const StyleCompiler = { } }; - -const mod = function(lessD, pathD, CleanCSSD, UtilD) { - less = lessD; - path = pathD; - CleanCSS = CleanCSSD; - Util = UtilD; - return StyleCompiler.run(); -}; - -module.exports = mod; +module.exports = StyleCompiler; diff --git a/src/node/Util.js b/src/node/Util.js index 0490bb1..4146e0c 100755 --- a/src/node/Util.js +++ b/src/node/Util.js @@ -1,4 +1,7 @@ -let path, writeFile, fs, exec; +const path = require('path'); +const writeFile = require('write'); +const fs = require('fs'); +const exec = require('child_process').exec; const Util = { /** @@ -15,7 +18,7 @@ const Util = { * @return {Object[]} array with resumes object {path: '', name: ''} */ getResumesFromDirectories: function() { - const directories = Util.getDirectories(); + const directories = this.getDirectories(); let resumes = []; directories.forEach(dir => { let name = dir.replace('resume-', ''); @@ -77,12 +80,4 @@ const Util = { } }; -const mod = function(pathD, writeFileD, fsD, execD) { - path = pathD; - writeFile = writeFileD; - fs = fsD; - exec = execD; - return Util; -}; - -module.exports = mod; +module.exports = Util;