diff --git a/lib/splitclient-rb/cache/repositories/rule_based_segments_repository.rb b/lib/splitclient-rb/cache/repositories/rule_based_segments_repository.rb index 79264b8f..7f45e343 100644 --- a/lib/splitclient-rb/cache/repositories/rule_based_segments_repository.rb +++ b/lib/splitclient-rb/cache/repositories/rule_based_segments_repository.rb @@ -85,7 +85,8 @@ def clear def contains?(segment_names) return false if rule_based_segment_names.empty? - return set(segment_names).subset?(rule_based_segment_names) + + return segment_names.to_set.subset?(rule_based_segment_names.to_set) end private diff --git a/spec/cache/repositories/rule_based_segments_repository_spec.rb b/spec/cache/repositories/rule_based_segments_repository_spec.rb index a4e2b9ba..3fdd89ed 100644 --- a/spec/cache/repositories/rule_based_segments_repository_spec.rb +++ b/spec/cache/repositories/rule_based_segments_repository_spec.rb @@ -40,6 +40,11 @@ ) end + it 'contains' do + expect(repository.contains?(['foo', 'bar'].to_set)).to eq(true) + expect(repository.contains?(['foo', 'oof'].to_set)).to eq(false) + end + it 'remove undefined matcher with template condition' do rule_based_segment = { name: 'corge', trafficTypeName: 'tt_name_5', conditions: [ {