class Rox::Core::InternalFlags

Public Class Methods

new(experiment_repository, parser, rox_options) click to toggle source
# File lib/rox/core/client/internal_flags.rb, line 12
def initialize(experiment_repository, parser, rox_options)
  @experiment_repository = experiment_repository
  @parser = parser
  @rox_options = rox_options
end

Public Instance Methods

enabled?(flag_name) click to toggle source
# File lib/rox/core/client/internal_flags.rb, line 18
def enabled?(flag_name)
  if @rox_options.self_managed?
    value = @@defaults_self_managed[flag_name]
    return value unless value.nil?
  end

  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