Class: SplitIoClient::PartOfSetMatcher

Inherits:
SetMatcher
  • Object
show all
Defined in:
lib/splitclient-rb/engine/matchers/part_of_set_matcher.rb

Constant Summary collapse

MATCHER_TYPE =
'PART_OF_SET'

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from SetMatcher

#string_type?

Instance Attribute Details

#attributeObject (readonly)

Returns the value of attribute attribute.



7
8
9
# File 'lib/splitclient-rb/engine/matchers/part_of_set_matcher.rb', line 7

def attribute
  @attribute
end

Instance Method Details

#match?(args) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/splitclient-rb/engine/matchers/part_of_set_matcher.rb', line 9

def match?(args)
  @local_set = local_set(args[:attributes], @attribute)

  if @local_set.empty?
    @logger.log_if_debug('[PartOfSetMatcher] Local Set is empty.')
    return false
  end

  matches = @local_set.subset? @remote_set
  @logger.log_if_debug("[PartOfSetMatcher] Local Set #{@local_set} is a subset of #{@remote_set} -> #{matches}")
  matches
end