Module: Philiprehberger::FeatureFlag::Groups
- Included in:
- Philiprehberger::FeatureFlag
- Defined in:
- lib/philiprehberger/feature_flag/groups.rb
Instance Method Summary collapse
- #disable_group(name) ⇒ Object
- #enable_group(name) ⇒ Object
-
#group(name, flags) ⇒ Array<Symbol>
Define a named group of flags for bulk enable/disable operations.
- #group_flags(name) ⇒ Object
- #reset_groups! ⇒ Object
Instance Method Details
#disable_group(name) ⇒ Object
25 26 27 |
# File 'lib/philiprehberger/feature_flag/groups.rb', line 25 def disable_group(name) set_group_flags(name, false) end |
#enable_group(name) ⇒ Object
21 22 23 |
# File 'lib/philiprehberger/feature_flag/groups.rb', line 21 def enable_group(name) set_group_flags(name, true) end |
#group(name, flags) ⇒ Array<Symbol>
Define a named group of flags for bulk enable/disable operations. Redefining a group overwrites it.
12 13 14 15 |
# File 'lib/philiprehberger/feature_flag/groups.rb', line 12 def group(name, flags) @groups ||= {} @groups[name.to_sym] = flags.map(&:to_sym) end |
#group_flags(name) ⇒ Object
17 18 19 |
# File 'lib/philiprehberger/feature_flag/groups.rb', line 17 def group_flags(name) @groups&.dig(name.to_sym) || [] end |
#reset_groups! ⇒ Object
29 30 31 |
# File 'lib/philiprehberger/feature_flag/groups.rb', line 29 def reset_groups! @groups = nil end |