class SplitIoClient::StartsWithMatcher
def get_value(args)
def get_value(args) args[:value] || args[:attributes].fetch(@attribute) do |a| args[:attributes][a.to_s] || args[:attributes][a.to_sym] end end
def initialize(attribute, prefix_list, logger)
def initialize(attribute, prefix_list, logger) @attribute = attribute @prefix_list = prefix_list @logger = logger end
def match?(args)
def match?(args) if @prefix_list.empty? @logger.log_if_debug('[StartsWithMatcher] Prefix List is empty.') return false end value = get_value(args) matches = @prefix_list.any? { |prefix| value.to_s.start_with? prefix } @logger.log_if_debug("[StartsWithMatcher] #{value} matches any of #{@prefix_list} -> #{matches}") matches end
def string_type?
def string_type? true end