Added another utility #getDestinationClassName to get the final classname of a given path

This commit is contained in:
Chris 2015-09-29 14:11:28 +02:00
parent 47f1273828
commit 361ea7409d
2 changed files with 23 additions and 1 deletions

View File

@ -109,4 +109,12 @@ describe('Utilities:Yeoman', () => {
});
});
describe('#getDestinationClassName', () => {
it('should return the correct javascript class name for the given paths', () => {
expect(utils.getDestinationClassName('test', 'action', 'Actions')).to.equal('TestActions');
expect(utils.getDestinationClassName('test', 'source', 'Source')).to.equal('TestSource');
expect(utils.getDestinationClassName('test', 'store', 'Store')).to.equal('TestStore');
});
});
});

View File

@ -139,11 +139,25 @@ let getDestinationPath = (name, type, suffix) => {
return `${fullPath}.js`;
};
/**
* Get the destinations class name
* @param {String} name Name of the file
* @param {String} type The type to use (e.g. action, store, ...)
* @param {Suffix} suffix The suffix to use for the file (e.g. Store, Actions, ...)
* @return {String} The javascript class name to use
*/
let getDestinationClassName = (name, type, suffix) => {
let fixedName = getDestinationPath(name, type, suffix);
return _.capitalize(fixedName.split('/').pop().split('.js')[0]);
};
module.exports = {
getBaseDir: getBaseDir,
getAllSettingsFromComponentName: getAllSettingsFromComponentName,
getAppName: getAppName,
getCleanedPathName: getCleanedPathName,
getComponentStyleName: getComponentStyleName,
getDestinationPath: getDestinationPath
getDestinationPath: getDestinationPath,
getDestinationClassName: getDestinationClassName
};