Ghost/core/server/storage/index.js

31 lines
784 B
JavaScript
Raw Normal View History

var errors = require('../errors'),
config = require('../config'),
storage = {};
function getStorage(storageChoice) {
var storagePath,
storageConfig;
storageChoice = config.storage.active;
storagePath = config.paths.storage;
storageConfig = config.storage[storageChoice];
if (storage[storageChoice]) {
return storage[storageChoice];
}
try {
// TODO: determine if storage has all the necessary methods.
storage[storageChoice] = require(storagePath);
} catch (e) {
errors.logError(e);
}
// Instantiate and cache the storage module instance.
storage[storageChoice] = new storage[storageChoice](storageConfig);
return storage[storageChoice];
}
module.exports.getStorage = getStorage;