From 0455574b16410cc0241e749071f7b242a65ba94e Mon Sep 17 00:00:00 2001 From: Trevor Elliott Date: Wed, 3 Jul 2013 17:50:16 -0700 Subject: Add an enabled field to the rule set model This is to start addressing issue #14. --- src/js/fiveui/js/rules.js | 17 ++++++----------- src/js/fiveui/js/settings.js | 4 ++++ 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/js/fiveui/js/rules.js b/src/js/fiveui/js/rules.js index 8f40c7d..94d714f 100644 --- a/src/js/fiveui/js/rules.js +++ b/src/js/fiveui/js/rules.js @@ -32,8 +32,7 @@ fiveui.RuleSet = function(config) { _.defaults(this, fiveui.RuleSet.sanitize(config)); }; -fiveui.RuleSet.sanitize = function(obj) { - var defs = { +fiveui.RuleSet.defaults = { id: null, name: '', description: '', @@ -42,8 +41,12 @@ fiveui.RuleSet.sanitize = function(obj) { patterns: [], dependencies: [], license: '', + enabled: true, }; +fiveui.RuleSet.sanitize = function(obj) { + var defs = fiveui.RuleSet.defaults; + // scrub out any values that aren't in the defaults list, fill in any that are // missing. pick will implicitly return a copy, so it's OK to not clone obj // here. @@ -182,15 +185,7 @@ fiveui.RuleSet.load = function(manifest_url, options) { */ fiveui.RuleSetModel = Backbone.Model.extend({ - defaults: { - id: null, - name: '', - description: '', - source: '', - rules: [], - dependencies: [], - patterns: [], - }, + defaults: fiveui.RuleSet.defaults, sync: function(method, model, options) { diff --git a/src/js/fiveui/js/settings.js b/src/js/fiveui/js/settings.js index 15ccf1b..6c0958e 100644 --- a/src/js/fiveui/js/settings.js +++ b/src/js/fiveui/js/settings.js @@ -199,6 +199,10 @@ _.extend(fiveui.Settings.prototype, { checkUrl: function(url) { return _.find(this.getRuleSets(), function(rs) { + if(!rs.enabled) { + return false; + } + var pat = _.find(rs.patterns, function(pat) { var regex = fiveui.utils.compilePattern(pat); return regex.test(url); -- cgit v1.2.3