config.js
1016 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
* config.js: Default configuration management plugin which attachs nconf to App instances
*
* (C) 2011, Nodejitsu Inc.
* MIT LICENSE
*
*/
var nconf = require('nconf');
//
// ### Name this plugin
//
exports.name = 'config';
//
// ### function attach (options)
// #### @options {Object} Options for this plugin
// Extends `this` (the application) with configuration functionality
// from `nconf`.
//
exports.attach = function (options) {
options = options || {};
this.config = new nconf.Provider(options);
//
// Setup a default store
//
this.config.use('literal');
this.config.stores.literal.readOnly = false;
};
//
// ### function init (done)
// #### @done {function} Continuation to respond to when complete.
// Initalizes the `nconf.Provider` associated with this instance.
//
exports.init = function (done) {
//
// Remark: There should be code here for automated remote
// seeding and loading
//
this.config.load(function (err) {
return err ? done(err) : done();
});
};