Sha256: f2ecefe243504670df2d1a5eb887b73517d9d6587b168716695955fd14e624d3
Contents?: true
Size: 853 Bytes
Versions: 28
Compression:
Stored size: 853 Bytes
Contents
# frozen_string_literal: true module SplitIoClient class DependencyMatcher MATCHER_TYPE = 'IN_SPLIT_TREATMENT' def initialize(feature_flag, treatments, logger) @feature_flag = feature_flag @treatments = treatments @logger = logger end def match?(args) keys = { matching_key: args[:matching_key], bucketing_key: args[:bucketing_key] } evaluate = args[:evaluator].evaluate_feature_flag(keys, @feature_flag, args[:attributes]) matches = @treatments.include?(evaluate[:treatment]) @logger.log_if_debug("[dependencyMatcher] Parent feature flag #{@feature_flag} evaluated to #{evaluate[:treatment]} \ with label #{evaluate[:label]}. #{@feature_flag} evaluated treatment is part of [#{@treatments}] ? #{matches}.") matches end def string_type? false end end end
Version data entries
28 entries across 28 versions & 1 rubygems