class SplitIoClient::Helpers::Util
def self.segment_names_by_object(object, matcher_type)
def self.segment_names_by_object(object, matcher_type) object[:conditions].each_with_object(Set.new) do |condition, names| condition[:matcherGroup][:matchers].each do |matcher| next if matcher[:userDefinedSegmentMatcherData].nil? || matcher[:matcherType] != matcher_type names << matcher[:userDefinedSegmentMatcherData][:segmentName] end end end
def self.segment_names_in_rb_segment(object, matcher_type)
def self.segment_names_in_rb_segment(object, matcher_type) names = Set.new names.merge segment_names_by_object(object, matcher_type) object[:excluded][:segments].each do |segment| names.add(segment[:name]) if segment[:type] == SplitIoClient::Engine::Models::SegmentType::STANDARD end names end