Sha256: 70456b246646771bbdd972f057f507d62265650c4dc8761676284f3fc17a9df3

Contents?: true

Size: 556 Bytes

Versions: 1

Compression:

Stored size: 556 Bytes

Contents

module SplitIoClient
  class MatchesStringMatcher
    def self.matcher_type
      'MATCHES_STRING'.freeze
    end

    def initialize(attribute, regexp_string)
      @attribute = attribute
      @regexp_string = regexp_string
    end

    def match?(_matching_key, _bucketing_key, _evaluator, data)
      value = data.fetch(@attribute) { |attr| data[attr.to_s] || data[attr.to_sym] }

      if @regexp_string.is_a? Regexp
        (value =~ @regexp_string) != nil
      else
        # String here
        value == @regexp_string
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
splitclient-rb-4.2.0 lib/splitclient-rb/engine/matchers/matches_string_matcher.rb