Code coverage report for lib/profiles.js

Statements: 100% (15 / 15)      Branches: 100% (8 / 8)      Functions: 100% (2 / 2)      Lines: 100% (15 / 15)      Ignored: none     

All files » lib/ » profiles.js
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 47 48 49 50 51 52 53 54                1   3   3   2 1   1       2                     1   3   3   2 1   1       2       1        
/**
 * Loads a profile from rulebook options
 *
 * @method loadProfile
 * @param {string|undefined} name Name of profile
 * @param {object} ruleBook Rulebook options
 * @return {object} Rulebook options filtered by profile
 */
var loadProfile = function (name, ruleBook) {
 
	var result = ruleBook;
 
	if (name) {
 
		if (ruleBook[name]) {
			result = ruleBook[name];
		} else {
			throw new Error('Could not find profile "' + name + '"');
		}
	}
 
	return result;
};
 
/**
 * Loads a sub-profile from rulebook options
 *
 * @method loadSubProfile
 * @param {string|undefined} name Name of sub-profile
 * @param {object} ruleBook Rulebook options
 * @return {object} Rulebook options filtered by sub-profile
 */
var loadSubProfile = function (name, ruleBook) {
 
	var result = ruleBook;
 
	if (name) {
 
		if (ruleBook.tasks[name]) {
			result.tasks = ruleBook.tasks[name];
		} else {
			throw new Error('Could not find sub-profile "' + name + '"');
		}
	}
 
	return result;
};
 
 
module.exports = {
	loadProfile: loadProfile,
	loadSubProfile: loadSubProfile
};