Skip to content

Commit b32b71f

Browse files
committed
Refactor file config
1 parent 52b8ac1 commit b32b71f

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

include/file-config.js

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,7 @@ const path = require('path');
33
const config = require('./config');
44
const yaml = require('read-yaml');
55
const hash = require('hash-sum');
6-
7-
const globalConfigDir = process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'] + '/.gtt';
8-
const globalConfigFile = globalConfigDir + '/config.yml';
9-
const frameDir = globalConfigDir + '/frames';
10-
const cacheDir = globalConfigDir + '/cache';
11-
const localConfigFile = '/.gtt.yml';
6+
const Fs = require('./filesystem');
127

138
/**
149
* file config with local and global configuration files
@@ -20,12 +15,14 @@ class fileConfig extends config {
2015
*/
2116
constructor(workDir) {
2217
super();
18+
2319
this.assertGlobalConfig();
2420
this.workDir = workDir;
2521
this.data = Object.assign(this.data, this.localExists() ? this.parseLocal() : this.parseGlobal());
2622
this.cache = {
2723
get: this._cacheGet,
28-
set: this._cacheSet
24+
set: this._cacheSet,
25+
dir: this.cacheDir
2926
};
3027
}
3128

@@ -62,7 +59,7 @@ class fileConfig extends config {
6259
while (workDir) {
6360
workDir = path.dirname(workDir);
6461
if (workDir === '/') workDir = '';
65-
if (fs.existsSync(workDir + localConfigFile)) {
62+
if (fs.existsSync(Fs.join(workDir, this.localConfigFile))) {
6663
this.workDir = workDir;
6764
return true;
6865
}
@@ -81,38 +78,43 @@ class fileConfig extends config {
8178
}
8279

8380
_cacheGet(key) {
84-
let file = this.cacheDir + '/' + hash(key);
81+
let file = Fs.join(this.dir, hash(key));
8582
if (!fs.existsSync(file)) return false;
8683

8784
return JSON.parse(fs.readFileSync(file));
8885
}
8986

9087
_cacheSet(key, value) {
91-
let file = this.cacheDir + '/' + hash(key);
88+
let file = Fs.join(this.dir, hash(key));
9289
if (fs.existsSync(file)) fs.unlinkSync(file);
93-
fs.appendFile(file, JSON.stringify(value), () => {});
90+
fs.appendFile(file, JSON.stringify(value), () => {
91+
});
9492

9593
return value;
9694
}
9795

98-
get cacheDir() {
99-
return cacheDir;
96+
get localConfigFile() {
97+
return '.gtt.yml';
98+
}
99+
100+
get globalDir() {
101+
return Fs.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.gtt');
100102
}
101103

102104
get frameDir() {
103-
return frameDir;
105+
return Fs.join(this.globalDir, 'frames');
104106
}
105107

106-
get globalDir() {
107-
return globalConfigDir;
108+
get cacheDir() {
109+
return Fs.join(this.globalDir, 'cache')
108110
}
109111

110112
get global() {
111-
return globalConfigFile;
113+
return Fs.join(this.globalDir, 'config.yml');
112114
}
113115

114116
get local() {
115-
return this.workDir + localConfigFile;
117+
return Fs.join(this.workDir, this.localConfigFile);
116118
}
117119
}
118120

0 commit comments

Comments
 (0)