diff options
Diffstat (limited to 'lib/feature.rb')
-rw-r--r-- | lib/feature.rb | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/lib/feature.rb b/lib/feature.rb index 5650a1c1334..4bd29aed687 100644 --- a/lib/feature.rb +++ b/lib/feature.rb @@ -12,6 +12,8 @@ class Feature end class << self + delegate :group, to: :flipper + def all flipper.features.to_a end @@ -27,19 +29,25 @@ class Feature all.map(&:name).include?(feature.name) end - def enabled?(key) - get(key).enabled? + def enabled?(key, thing = nil) + get(key).enabled?(thing) + end + + def enable(key, thing = true) + get(key).enable(thing) end - def enable(key) - get(key).enable + def disable(key, thing = false) + get(key).disable(thing) end - def disable(key) - get(key).disable + def enable_group(key, group) + get(key).enable_group(group) end - private + def disable_group(key, group) + get(key).disable_group(group) + end def flipper @flipper ||= begin @@ -49,5 +57,11 @@ class Feature Flipper.new(adapter) end end + + # This method is called from config/initializers/flipper.rb and can be used + # to register Flipper groups. + # See https://docs.gitlab.com/ee/development/feature_flags.html#feature-groups + def register_feature_groups + end end end |