Sha256: deea5a4392f115dd1ac906ad253f3871439691d91943472f7f006b83d704b055

Contents?: true

Size: 436 Bytes

Versions: 5

Compression:

Stored size: 436 Bytes

Contents

module SplitIoClient
  class DependencyMatcher
    def self.matcher_type
      'IN_SPLIT_TREATMENT'.freeze
    end

    def initialize(split, treatments)
      @split = split
      @treatments = treatments
    end

    def match?(matching_key, bucketing_key, evaluator, attributes)
      @treatments.include? evaluator.call({ matching_key: matching_key, bucketing_key: bucketing_key }, @split, attributes)[:treatment]
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
splitclient-rb-4.3.0.canary.2 lib/splitclient-rb/engine/matchers/dependency_matcher.rb
splitclient-rb-4.3.0.canary.1 lib/splitclient-rb/engine/matchers/dependency_matcher.rb
splitclient-rb-4.2.2 lib/splitclient-rb/engine/matchers/dependency_matcher.rb
splitclient-rb-4.2.1 lib/splitclient-rb/engine/matchers/dependency_matcher.rb
splitclient-rb-4.2.0 lib/splitclient-rb/engine/matchers/dependency_matcher.rb