feature_gate 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/gated_feature.rb +10 -0
- data/lib/feature_gate.rb +17 -0
- data/lib/feature_gate/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6185eca27fa85dcd189393c552a18406692e6b29
|
4
|
+
data.tar.gz: f781afb28fedc00e244aa27942634efdcff84072
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2a2f446101714d40edc315736e9ac659fa00f8af885e12f6c79dc040911f26aa96fd505277e9530bc5def0bfd876c67c5605570aaec990c5fe470b4970e2051
|
7
|
+
data.tar.gz: 8dd76bd9844de3280bd086ae1947b4f54d03384ff8c0ddd127b120afa9c12720dd14c13fab1f748d36a71540b43468c40b956e0646264708ae968287ade7a653
|
data/app/models/gated_feature.rb
CHANGED
data/lib/feature_gate.rb
CHANGED
@@ -10,12 +10,29 @@ module FeatureGate
|
|
10
10
|
yield self
|
11
11
|
end
|
12
12
|
|
13
|
+
def self.gate_page(name)
|
14
|
+
gated_feature = GatedFeature.where(name: name).first_or_create
|
15
|
+
if gated_feature.gated?
|
16
|
+
raise ActiveRecord::RecordNotFound
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
13
20
|
def self.gate(name)
|
14
21
|
gated_feature = GatedFeature.where(name: name).first_or_create
|
15
22
|
if !gated_feature.gated?
|
16
23
|
yield
|
17
24
|
end
|
18
25
|
end
|
26
|
+
|
27
|
+
def self.turn_on!(name)
|
28
|
+
gated_feature = GatedFeature.find_by_name!(name)
|
29
|
+
gated_feature.turn_on!
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.turn_off!(name)
|
33
|
+
gated_feature = GatedFeature.find_by_name!(name)
|
34
|
+
gated_feature.turn_on!
|
35
|
+
end
|
19
36
|
end
|
20
37
|
|
21
38
|
require 'feature_gate/engine'
|
data/lib/feature_gate/version.rb
CHANGED