Class: SplitIoClient::Cache::Filter::FlagSetsFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/splitclient-rb/cache/filter/flag_set_filter.rb

Instance Method Summary collapse

Constructor Details

#initialize(flag_sets = []) ⇒ FlagSetsFilter

Returns a new instance of FlagSetsFilter.



9
10
11
12
# File 'lib/splitclient-rb/cache/filter/flag_set_filter.rb', line 9

def initialize(flag_sets = [])
  @flag_sets = Set.new(flag_sets)
  @should_filter = @flag_sets.any?
end

Instance Method Details

#flag_set_exist?(flag_set) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
21
22
23
24
25
26
# File 'lib/splitclient-rb/cache/filter/flag_set_filter.rb', line 18

def flag_set_exist?(flag_set)
  return true unless @should_filter

  if not flag_set.is_a?(String) or flag_set.empty?
    return false
  end

  @flag_sets.intersection([flag_set]).any?
end

#intersect?(flag_sets) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
31
32
33
34
35
36
# File 'lib/splitclient-rb/cache/filter/flag_set_filter.rb', line 28

def intersect?(flag_sets)
  return true unless @should_filter

  if not flag_sets.is_a?(Array) or flag_sets.empty?
    return false
  end

  @flag_sets.intersection(Set.new(flag_sets)).any?
end

#should_filter?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/splitclient-rb/cache/filter/flag_set_filter.rb', line 14

def should_filter?
  @should_filter
end