merge_arrays

in lib/gitlab/qa/runtime/omnibus_configuration.rb [111:134]


        def merge_arrays(arr)
          entries_with_array = {}

          arr.reject! do |item|
            key, value = item.split("=", 2)

            array_content_match = value&.match(/^\s?\[([\s\S]+)\][\s;]?$/)

            if array_content_match
              if entries_with_array[key]
                entries_with_array[key] << array_content_match[1]
              else
                entries_with_array[key] = [array_content_match[1]]
              end
            end
          end

          entries_with_array.each do |k, v|
            arr << "#{k}= [#{v.map(&:chomp).join(', ')}]".strip
          end

          arr
        end