https://github.com/statsd/statsd
Tip revision: d1f8b8f828e9614cc43d2e5803d05bdf21ac9ce5 authored by Daniel Schauenberg on 14 May 2012, 22:56:51 UTC
bump to v0.2.1
bump to v0.2.1
Tip revision: d1f8b8f
config.js
var fs = require('fs')
, util = require('util')
var Configurator = function (file) {
var self = this;
var config = {};
var oldConfig = {};
this.updateConfig = function () {
util.log('reading config file: ' + file);
fs.readFile(file, function (err, data) {
if (err) { throw err; }
old_config = self.config;
self.config = eval('config = ' + fs.readFileSync(file));
self.emit('configChanged', self.config);
});
};
this.updateConfig();
fs.watchFile(file, function (curr, prev) {
if (curr.ino != prev.ino) { self.updateConfig(); }
});
};
util.inherits(Configurator, process.EventEmitter);
exports.Configurator = Configurator;
exports.configFile = function(file, callbackFunc) {
var config = new Configurator(file);
config.on('configChanged', function() {
callbackFunc(config.config, config.oldConfig);
});
};