silentjs
Version:
NodeJS API Framework
43 lines (33 loc) • 1.25 kB
JavaScript
// VENDOR LIBS
var inherits = require('inherits');
var path = require('path');
var lodash = require('lodash');
// LIBS CORE
var filesystem = require('lib-core/filesystem/filesystem');
// FRAMEWORK
var Generic = require('silentjs/classes/generic');
var configurationService = require('silentjs/configuration');
var ConfigurationStore = function (config) {
var configuration = this;
lodash.extend(configuration, config);
};
inherits(ConfigurationStore, Generic);
ConfigurationStore.prototype.initialize = function () {
var configurationsPath = path.join(
configurationService.get('rootPath'),
this.get('root'),
this.getDirectories().configuration
);
var configurationFiles = filesystem.getFileNamesIntoPath(configurationsPath);
var configuration = this;
lodash.each(configurationFiles, function (configurationFile) {
lodash.extend(configuration, require(configurationFile));
});
};
ConfigurationStore.prototype.getDirectories = function () {
return this.directories;
};
ConfigurationStore.prototype.getPath = function (attr) {
return path.join(configurationService.get('rootPath'), this.get('root'), this.getDirectories()[attr]);
};
module.exports = ConfigurationStore;