Passed
Push — master ( 9ddb09...7fc5b5 )
by Jaisen
01:14
created

app/modules/config.js   A

Complexity

Total Complexity 8
Complexity/F 2.67

Size

Lines of Code 38
Function Count 3

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 29
dl 0
loc 38
rs 10
c 1
b 0
f 1
wmc 8
nc 1
mnd 2
bc 8
fnc 3
bpm 2.6666
cpm 2.6666
noi 3

3 Functions

Rating   Name   Duplication   Size   Complexity  
A defaultConfigFile.constructor 0 7 4
A exports.hasConfig 0 5 1
A exports.writeConfig 0 18 2
1
var exports = module.exports = {};
2
var fs = require('fs'),
3
    os = require('os'),
4
    defaultConfigFile = (function() {
5
      var f = __dirname;
6
      for(var i=0; i<2; i++) {
7
        f = f.substr(0, f.lastIndexOf(os.platform() == 'win32' ? '\\' : '/'));
8
      }
9
      return f + (os.platform() == 'win32' ? '\\config.ini-sample': '/config.ini-sample');
10
    })(),
11
    configFile = (process.env.HOME || process.env.USERPROFILE) + (os.platform() == 'win32' ? '\\.elodie\\config.ini' : '/.elodie/config.ini'),
12
    hasConfig,
13
    setConfig;
0 ignored issues
show
Unused Code introduced by
The variable setConfig seems to be never used. Consider removing it.
Loading history...
14
15
exports.hasConfig = function() {
16
  console.log(defaultConfigFile);
0 ignored issues
show
Debugging Code introduced by
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
17
  console.log(configFile);
18
  return fs.existsSync(configFile);
19
};
20
21
exports.writeConfig = function(params) {
22
  var contents;
23
  try {
24
    if(exports.hasConfig()) {
25
      contents = fs.readFileSync(configFile).toString();
26
    } else {
27
      contents = fs.readFileSync(defaultConfigFile).toString();
28
    }
29
30
    console.log(contents);
0 ignored issues
show
Debugging Code introduced by
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
31
    contents = contents.replace(/key=[\s\S]+$/,'key='+params['mapQuestKey']);
32
    fs.writeFileSync(configFile, contents);
33
    return true;
34
  } catch(e) {
35
    console.log(e);
36
    return false;
37
  }
38
};
39