Sha256: 8b5d63dedd23afff0d5652a7570babcffb1f52ff694633853a18cb3a14cbf738

Contents?: true

Size: 996 Bytes

Versions: 39

Compression:

Stored size: 996 Bytes

Contents

# frozen_string_literal: true

require_relative 'base'
require 'date'
require 'time'

module Gitlab
  module Triage
    module Resource
      class Label < Base
        LabelDoesntExistError = Class.new(StandardError)

        FIELDS = %i[
          id
          project_id
          group_id
          name
          description
          color
          priority
        ].freeze

        TIME_FIELDS = %i[
          added_at
        ].freeze

        FIELDS.each do |field|
          define_field(field) do
            resource[field]
          end
        end

        TIME_FIELDS.each do |field|
          define_field(field) do
            value = resource[field]

            Time.parse(value) if value
          end
        end

        def exist?
          label = network.query_api_cached(resource_url).first
          return false unless label

          label[:name] == name
        end

        private

        def resource_id
          name
        end
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 2 rubygems

Version Path
gitlab-triage-1.44.3 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.44.2 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.44.1 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.44.0 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.43.2 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.43.1 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.43.0 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.42.2 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.42.1 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.42.0 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.41.0 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.40.0 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.30.0 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.29.0 lib/gitlab/triage/resource/label.rb
payping-gitlab-triage-0.1.3 lib/gitlab/triage/resource/label.rb
payping-gitlab-triage-0.1.2 lib/gitlab/triage/resource/label.rb
payping-gitlab-triage-0.1.1 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.28.0 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.27.0 lib/gitlab/triage/resource/label.rb
gitlab-triage-1.26.0 lib/gitlab/triage/resource/label.rb