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