class Rox::Core::Flag

Constants

FLAG_FALSE_VALUE
FLAG_TRUE_VALUE

Public Class Methods

new(default_value = DefaultFlagValues::BOOLEAN) click to toggle source
Calls superclass method
# File lib/rox/core/entities/flag.rb, line 10
def initialize(default_value = DefaultFlagValues::BOOLEAN)
  super(default_value ? Flag::FLAG_TRUE_VALUE : Flag::FLAG_FALSE_VALUE, [Flag::FLAG_FALSE_VALUE,
                                                                         Flag::FLAG_TRUE_VALUE])
end

Public Instance Methods

disabled(context) { || ... } click to toggle source
# File lib/rox/core/entities/flag.rb, line 41
def disabled(context)
  yield unless enabled?(context)
end
enabled(context) { || ... } click to toggle source
# File lib/rox/core/entities/flag.rb, line 37
def enabled(context)
  yield if enabled?(context)
end
enabled?(context) click to toggle source
# File lib/rox/core/entities/flag.rb, line 15
def enabled?(context)
  merged_context = MergedContext.new(@parser&.global_context, context)
  value = internal_enabled?(merged_context)
  if [true, false].include? value
    send_impressions(value, merged_context)
    return value
  end

  send_impressions(DefaultFlagValues::BOOLEAN, merged_context)
  DefaultFlagValues.BOOLEAN
end
internal_enabled?(context, nil_instead_of_default = false) click to toggle source
# File lib/rox/core/entities/flag.rb, line 32
def internal_enabled?(context, nil_instead_of_default = false)
  val = internal_value(context, nil_instead_of_default)
  nil_instead_of_default && val.nil? ? nil : (val == Flag::FLAG_TRUE_VALUE)
end
value(context = nil) click to toggle source
# File lib/rox/core/entities/flag.rb, line 27
def value(context = nil)
  merged_context = MergedContext.new(@parser&.global_context, context)
  internal_value(merged_context, false)
end