]>
git.immae.eu Git - perso/Immae/Projets/Nodejs/Surfer.git/blob - cli/config.js
5 var fs
= require('fs'),
6 path
= require('path'),
7 safe
= require('safetydance'),
8 _
= require('underscore');
10 exports
= module
.exports
= {
18 server: function () { return get('server'); },
19 username: function () { return get('username'); },
20 password: function () { return get('password'); }
23 var HOME
= process
.env
.HOME
|| process
.env
.HOMEPATH
|| process
.env
.USERPROFILE
;
24 var CONFIG_FILE_PATH
= path
.join(HOME
, '.surfer.json');
26 var gConfig
= (function () {
27 return safe
.JSON
.parse(safe
.fs
.readFileSync(CONFIG_FILE_PATH
)) || {};
31 fs
.writeFileSync(CONFIG_FILE_PATH
, JSON
.stringify(gConfig
, null, 4));
35 safe
.fs
.unlinkSync(CONFIG_FILE_PATH
);
38 function set(key
, value
) {
39 if (typeof key
=== 'object') {
40 _
.extend(gConfig
, key
);
42 safe
.set(gConfig
, key
, value
);
48 return safe
.query(gConfig
, key
);
51 function unset(key
/*, .... */) {
52 for (var i
= 0; i
< arguments
.length
; i
++) {
53 gConfig
= safe
.unset(gConfig
, arguments
[i
]);
59 function has(key
/*, ... */) {
60 for (var i
= 0; i
< arguments
.length
; i
++) {
61 if (!(arguments
[i
] in gConfig
)) return false;