lib/unleash/feature_toggle.rb in unleash-4.2.0 vs lib/unleash/feature_toggle.rb in unleash-4.2.1
- old
+ new
@@ -21,12 +21,12 @@
def to_s
"<FeatureToggle: name=#{name},enabled=#{enabled},strategies=#{strategies},variant_definitions=#{variant_definitions}>"
end
- def is_enabled?(context, default_result)
- result = am_enabled?(context, default_result)
+ def is_enabled?(context)
+ result = am_enabled?(context)
choice = result ? :yes : :no
Unleash.toggle_metrics.increment(name, choice) unless Unleash.configuration.disable_metrics
result
@@ -35,11 +35,11 @@
def get_variant(context, fallback_variant = Unleash::FeatureToggle.disabled_variant)
raise ArgumentError, "Provided fallback_variant is not of type Unleash::Variant" if fallback_variant.class.name != 'Unleash::Variant'
context = ensure_valid_context(context)
- return Unleash::FeatureToggle.disabled_variant unless self.enabled && am_enabled?(context, true)
+ return Unleash::FeatureToggle.disabled_variant unless self.enabled && am_enabled?(context)
return Unleash::FeatureToggle.disabled_variant if sum_variant_defs_weights <= 0
variant = variant_from_override_match(context) || variant_from_weights(context, resolve_stickiness)
Unleash.toggle_metrics.increment_variant(self.name, variant.name) unless Unleash.configuration.disable_metrics
@@ -55,21 +55,21 @@
def resolve_stickiness
self.variant_definitions&.map(&:stickiness)&.compact&.first || "default"
end
# only check if it is enabled, do not do metrics
- def am_enabled?(context, default_result)
+ def am_enabled?(context)
result =
if self.enabled
self.strategies.empty? ||
self.strategies.any? do |s|
strategy_enabled?(s, context) && strategy_constraint_matches?(s, context)
end
else
- default_result
+ false
end
- Unleash.logger.debug "Unleash::FeatureToggle (enabled:#{self.enabled} default_result:#{default_result} " \
+ Unleash.logger.debug "Unleash::FeatureToggle (enabled:#{self.enabled} " \
"and Strategies combined with contraints returned #{result})"
result
end