Commit e9584878c472a9278bfca2671ead78ec08442122
1 parent
7c86f010
Exists in
master
and in
29 other branches
ActionItem3: making possible to disable all features
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@91 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
2 changed files
with
10 additions
and
0 deletions
Show diff stats
app/models/virtual_community.rb
@@ -38,7 +38,11 @@ class VirtualCommunity < ActiveRecord::Base | @@ -38,7 +38,11 @@ class VirtualCommunity < ActiveRecord::Base | ||
38 | self.settings["#{feature}_enabled"] == true | 38 | self.settings["#{feature}_enabled"] == true |
39 | end | 39 | end |
40 | 40 | ||
41 | + # enables the features identified by <tt>features</tt>, which is expected to | ||
42 | + # be an Enumarable object containing the identifiers of the desired features. | ||
43 | + # Passing <tt>nil</tt> is the same as passing an empty Array. | ||
41 | def enabled_features=(features) | 44 | def enabled_features=(features) |
45 | + features ||= [] | ||
42 | self.class.available_features.keys.each do |feature| | 46 | self.class.available_features.keys.each do |feature| |
43 | if features.include? feature | 47 | if features.include? feature |
44 | self.enable(feature) | 48 | self.enable(feature) |
test/unit/virtual_community_test.rb
@@ -44,6 +44,12 @@ class VirtualCommunityTest < Test::Unit::TestCase | @@ -44,6 +44,12 @@ class VirtualCommunityTest < Test::Unit::TestCase | ||
44 | assert v.enabled?('feature1') && v.enabled?('feature2') && !v.enabled?('feature3') | 44 | assert v.enabled?('feature1') && v.enabled?('feature2') && !v.enabled?('feature3') |
45 | end | 45 | end |
46 | 46 | ||
47 | + def test_enabled_features_no_features_enabled | ||
48 | + v = virtual_communities(:colivre_net) | ||
49 | + v.enabled_features = nil | ||
50 | + assert !v.enabled?('feature1') && !v.enabled?('feature2') && !v.enabled?('feature3') | ||
51 | + end | ||
52 | + | ||
47 | def test_name_is_mandatory | 53 | def test_name_is_mandatory |
48 | v = VirtualCommunity.new | 54 | v = VirtualCommunity.new |
49 | v.valid? | 55 | v.valid? |