Class: Rox::Core::InternalFlags

Inherits:
Object
  • Object
show all
Defined in:
lib/rox/core/client/internal_flags.rb

Instance Method Summary collapse

Constructor Details

#initialize(experiment_repository, parser) ⇒ InternalFlags

Returns a new instance of InternalFlags.



6
7
8
9
# File 'lib/rox/core/client/internal_flags.rb', line 6

def initialize(experiment_repository, parser)
  @experiment_repository = experiment_repository
  @parser = parser
end

Instance Method Details

#enabled?(flag_name) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
14
15
16
17
# File 'lib/rox/core/client/internal_flags.rb', line 11

def enabled?(flag_name)
  internal_experiment = @experiment_repository.experiment_by_flag(flag_name)
  return false if internal_experiment.nil?

  value = @parser.evaluate_expression(internal_experiment.condition, nil).string_value
  value == Flag::FLAG_TRUE_VALUE
end