Module: Philiprehberger::FeatureFlag::Dependencies
- Included in:
- Philiprehberger::FeatureFlag
- Defined in:
- lib/philiprehberger/feature_flag/dependencies.rb
Instance Method Summary collapse
- #dependencies_met?(flag) ⇒ Boolean
- #dependency_for(flag) ⇒ Object
- #depends_on(flag, requires:) ⇒ Object
- #reset_dependencies! ⇒ Object
Instance Method Details
#dependencies_met?(flag) ⇒ Boolean
15 16 17 18 19 20 21 |
# File 'lib/philiprehberger/feature_flag/dependencies.rb', line 15 def dependencies_met?(flag) dep = dependency_for(flag) return true if dep.nil? return false unless enabled?(dep) dependencies_met?(dep) end |
#dependency_for(flag) ⇒ Object
11 12 13 |
# File 'lib/philiprehberger/feature_flag/dependencies.rb', line 11 def dependency_for(flag) @dependencies&.dig(flag.to_sym) end |
#depends_on(flag, requires:) ⇒ Object
6 7 8 9 |
# File 'lib/philiprehberger/feature_flag/dependencies.rb', line 6 def depends_on(flag, requires:) @dependencies ||= {} @dependencies[flag.to_sym] = requires.to_sym end |
#reset_dependencies! ⇒ Object
23 24 25 |
# File 'lib/philiprehberger/feature_flag/dependencies.rb', line 23 def reset_dependencies! @dependencies = nil end |