From 4296effbc18cc1a615e274430b4defe1abf365c6 Mon Sep 17 00:00:00 2001 From: Rowan Manning Date: Wed, 11 Dec 2013 14:12:25 +0000 Subject: [PATCH] Refactor to reduce repetition --- view/presenter/ignore.js | 25 +++++++++++++++++++++++++ view/presenter/result.js | 20 ++------------------ view/presenter/task.js | 20 ++------------------ 3 files changed, 29 insertions(+), 36 deletions(-) create mode 100644 view/presenter/ignore.js diff --git a/view/presenter/ignore.js b/view/presenter/ignore.js new file mode 100644 index 0000000..eda757e --- /dev/null +++ b/view/presenter/ignore.js @@ -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; +} diff --git a/view/presenter/result.js b/view/presenter/result.js index 838e7dc..04c0366 100644 --- a/view/presenter/result.js +++ b/view/presenter/result.js @@ -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; -} diff --git a/view/presenter/task.js b/view/presenter/task.js index fea3363..3915558 100644 --- a/view/presenter/task.js +++ b/view/presenter/task.js @@ -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; -}