Sha256: d6840cae0f127aa1aeff090a091cff10e8ec00be81d844549fc0d938d4f34023

Contents?: true

Size: 916 Bytes

Versions: 22

Compression:

Stored size: 916 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|
            source_id_key = resource.key?(:group_id) ? :group_id : :project_id
            label_opts = {
              source_id_key => resource[source_id_key],
              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

22 entries across 22 versions & 2 rubygems

Version Path
gitlab-triage-1.42.2 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.42.1 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.42.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.41.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.40.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.30.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.29.0 lib/gitlab/triage/command_builders/label_command_builder.rb
payping-gitlab-triage-0.1.3 lib/gitlab/triage/command_builders/label_command_builder.rb
payping-gitlab-triage-0.1.2 lib/gitlab/triage/command_builders/label_command_builder.rb
payping-gitlab-triage-0.1.1 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.28.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.27.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.26.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.25.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.24.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.23.1 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.23.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.22.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.21.0 lib/gitlab/triage/command_builders/label_command_builder.rb
gitlab-triage-1.20.0 lib/gitlab/triage/command_builders/label_command_builder.rb