feature_toggle 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +2 -0
- data/Rakefile +10 -0
- data/lib/feature_toggle/features.rb +9 -7
- data/test/feature_toggle_test.rb +4 -12
- metadata +17 -37
data/CHANGELOG.md
CHANGED
data/Rakefile
CHANGED
@@ -13,15 +13,13 @@ module FeatureToggle
|
|
13
13
|
|
14
14
|
def activate(*feature_names)
|
15
15
|
feature_names.each do |feature_name|
|
16
|
-
|
17
|
-
@deactivated_features.delete(feature_name)
|
16
|
+
@deactivated_features.delete(feature_name) if valid?(feature_name)
|
18
17
|
end
|
19
18
|
end
|
20
19
|
|
21
20
|
def deactivate(*feature_names)
|
22
21
|
feature_names.each do |feature_name|
|
23
|
-
|
24
|
-
@deactivated_features << feature_name
|
22
|
+
@deactivated_features << feature_name if valid?(feature_name)
|
25
23
|
end
|
26
24
|
end
|
27
25
|
|
@@ -35,9 +33,13 @@ module FeatureToggle
|
|
35
33
|
end
|
36
34
|
|
37
35
|
private
|
38
|
-
|
39
|
-
|
36
|
+
|
37
|
+
def valid?(feature_name)
|
38
|
+
@features.has_key?(feature_name).tap do |exists|
|
39
|
+
puts "Unknown feature: #{feature_name}" unless exists
|
40
|
+
end
|
40
41
|
end
|
42
|
+
|
41
43
|
def build_actions_feature_map(features)
|
42
44
|
map = {}
|
43
45
|
features.each do |feature, controllers|
|
@@ -50,4 +52,4 @@ module FeatureToggle
|
|
50
52
|
map
|
51
53
|
end
|
52
54
|
end
|
53
|
-
end
|
55
|
+
end
|
data/test/feature_toggle_test.rb
CHANGED
@@ -27,18 +27,10 @@ class FeatureToggleTest < Test::Unit::TestCase
|
|
27
27
|
assert features.active?('user_profile')
|
28
28
|
end
|
29
29
|
|
30
|
-
def
|
30
|
+
def test_disabling_non_existent_features_should_be_ignored
|
31
31
|
features = load_features
|
32
|
-
|
33
|
-
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_activating_non_existent_features_should_raise_error
|
38
|
-
features = load_features
|
39
|
-
assert_raises FeatureToggle::UnknownFeatureError do
|
40
|
-
features.activate("user")
|
41
|
-
end
|
32
|
+
features.deactivate("user_profile_x")
|
33
|
+
assert features.active?('user_profile')
|
42
34
|
end
|
43
35
|
|
44
36
|
def test_feature_actions_should_be_active_when_feature_is_active
|
@@ -57,4 +49,4 @@ class FeatureToggleTest < Test::Unit::TestCase
|
|
57
49
|
config = File.join(File.dirname(__FILE__), 'features.yml')
|
58
50
|
FeatureToggle.load(config)
|
59
51
|
end
|
60
|
-
end
|
52
|
+
end
|
metadata
CHANGED
@@ -1,32 +1,22 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: feature_toggle
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 0.0.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Mingle SaaS team
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
date: 2012-07-31 00:00:00 Z
|
12
|
+
date: 2012-09-15 00:00:00.000000000 Z
|
19
13
|
dependencies: []
|
20
|
-
|
21
14
|
description:
|
22
15
|
email: mingle.saas@thoughtworks.com
|
23
16
|
executables: []
|
24
|
-
|
25
17
|
extensions: []
|
26
|
-
|
27
18
|
extra_rdoc_files: []
|
28
|
-
|
29
|
-
files:
|
19
|
+
files:
|
30
20
|
- lib/feature_toggle/features.rb
|
31
21
|
- lib/feature_toggle.rb
|
32
22
|
- test/feature_toggle_test.rb
|
@@ -36,36 +26,26 @@ files:
|
|
36
26
|
- CHANGELOG.md
|
37
27
|
homepage: https://github.com/ThoughtWorksStudios/feature_toggle
|
38
28
|
licenses: []
|
39
|
-
|
40
29
|
post_install_message:
|
41
30
|
rdoc_options: []
|
42
|
-
|
43
|
-
require_paths:
|
31
|
+
require_paths:
|
44
32
|
- lib
|
45
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
33
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
46
34
|
none: false
|
47
|
-
requirements:
|
48
|
-
- -
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
|
51
|
-
|
52
|
-
- 0
|
53
|
-
version: "0"
|
54
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
55
40
|
none: false
|
56
|
-
requirements:
|
57
|
-
- -
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
segments:
|
61
|
-
- 0
|
62
|
-
version: "0"
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
63
45
|
requirements: []
|
64
|
-
|
65
46
|
rubyforge_project:
|
66
47
|
rubygems_version: 1.8.24
|
67
48
|
signing_key:
|
68
49
|
specification_version: 3
|
69
50
|
summary: Feature Toggle library for ruby
|
70
51
|
test_files: []
|
71
|
-
|