Sha256: a5709209c299c7785c5a8aaa8918aee105ba4e2a329632c294b4c3c194f7f88c

Contents?: true

Size: 546 Bytes

Versions: 12

Compression:

Stored size: 546 Bytes

Contents

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

12 entries across 12 versions & 1 rubygems

Version Path
gitlab-triage-1.3.0 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-1.2.0 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-1.1.1 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-1.1.0 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-1.0.1 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-1.0.0 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-0.17.0 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-0.16.0 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-0.15.0 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-0.14.1 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-0.14.0 lib/gitlab/triage/expand_condition/list.rb
gitlab-triage-0.13.0 lib/gitlab/triage/expand_condition/list.rb