Refactor to reduce repetition

This commit is contained in:
Rowan Manning
2013-12-11 14:12:25 +00:00
parent 917057a109
commit 4296effbc1
3 changed files with 29 additions and 36 deletions

25
view/presenter/ignore.js Normal file
View File

@@ -0,0 +1,25 @@
'use strict';
var standardsArray = require('../../data/standards')();
var rules = createStandardDescriptionMap(standardsArray);
module.exports = presentIgnoreRules;
function presentIgnoreRules (ignore) {
return ignore.map(function (name) {
return {
name: name,
description: rules[name]
};
});
}
function createStandardDescriptionMap (standards) {
var map = {};
standards.forEach(function (standard) {
standard.rules.forEach(function (rule) {
map[rule.name] = rule.description;
});
});
return map;
}

View File

@@ -1,8 +1,7 @@
'use strict';
var _ = require('underscore');
var standardsArray = require('../../data/standards')();
var rules = createStandardDescriptionMap(standardsArray);
var presentIgnoreRules = require('./ignore');
module.exports = presentResult;
@@ -17,12 +16,7 @@ function presentResult (result) {
result.date = new Date(result.date);
// Enhance the ignored rules
result.ignore = result.ignore.map(function (name) {
return {
name: name,
description: rules[name]
};
});
result.ignore = presentIgnoreRules(result.ignore);
// Split out message types
if (result.results) {
@@ -41,13 +35,3 @@ function presentResult (result) {
return result;
}
function createStandardDescriptionMap (standards) {
var map = {};
standards.forEach(function (standard) {
standard.rules.forEach(function (rule) {
map[rule.name] = rule.description;
});
});
return map;
}

View File

@@ -1,9 +1,8 @@
'use strict';
var _ = require('underscore');
var presentIgnoreRules = require('./ignore');
var presentResult = require('./result');
var standardsArray = require('../../data/standards')();
var rules = createStandardDescriptionMap(standardsArray);
module.exports = presentTask;
@@ -17,12 +16,7 @@ function presentTask (task) {
task.hrefEdit = '/' + task.id + '/edit';
// Enhance the ignored rules
task.ignore = task.ignore.map(function (name) {
return {
name: name,
description: rules[name]
};
});
task.ignore = presentIgnoreRules(task.ignore);
// Present the last result if present
if (task.last_result) {
@@ -32,13 +26,3 @@ function presentTask (task) {
return task;
}
function createStandardDescriptionMap (standards) {
var map = {};
standards.forEach(function (standard) {
standard.rules.forEach(function (rule) {
map[rule.name] = rule.description;
});
});
return map;
}