Sha256: 48e42667c2f7c90bba40511a2b8a77ae57606058be7f0eaee1d506ac9b9413da

Contents?: true

Size: 790 Bytes

Versions: 10

Compression:

Stored size: 790 Bytes

Contents

require_relative 'base_command_builder'

module Gitlab
  module Triage
    module CommandBuilders
      class LabelCommandBuilder < BaseCommandBuilder
        def build_command
          ensure_labels_exist!

          super
        end

        private

        def ensure_labels_exist!
          items.each do |label|
            label_opts = { project_id: resource[:project_id], name: label }

            unless Resource::Label.new(label_opts, network: network).exist?
              raise Resource::Label::LabelDoesntExistError,
                    "Label `#{label}` doesn't exist!"
            end
          end
        end

        def slash_command_string
          "/label"
        end

        def format_item(item)
          "~\"#{item}\""
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
gitlab-triage-1.17.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.16.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.15.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.14.3 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.14.2 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.14.1 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.14.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.13.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.12.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.11.0 lib/gitlab/triage/command_builders/label_command_builder.rb