Sha256: ddd8edb9a6e959b07e3c4d4336bbf96d02162a137adc02f6666c4a1a4a9f1ebc

Contents?: true

Size: 577 Bytes

Versions: 7

Compression:

Stored size: 577 Bytes

Contents

# frozen_string_literal: true

require_relative 'expansion'

module Gitlab
  module Triage
    module ExpandCondition
      module List
        PATTERN = /\{.+?,.+?\}/m

        def self.expand(conditions)
          labels = conditions[:labels]

          return conditions unless labels

          expansion = Expansion.new(PATTERN) do |list|
            list.gsub(/\{|\}/, '').split(',').map(&:strip)
          end

          expansion.perform(labels).map do |new_labels|
            conditions.merge(labels: new_labels)
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
gitlab-triage-1.44.3 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-1.44.2 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-1.44.1 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-1.44.0 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-1.43.2 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-1.43.1 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-1.43.0 lib/gitlab/triage/expand_condition/list.rb