Module: Philiprehberger::FeatureFlag::Dependencies

Included in:
Philiprehberger::FeatureFlag
Defined in:
lib/philiprehberger/feature_flag/dependencies.rb

Instance Method Summary collapse

Instance Method Details

#dependencies_met?(flag) ⇒ Boolean

Returns:

  • (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