Sha256: 09bffc63c80832425ebb1449dbb623025848fa0709b270677217a9ee3ae4a97c
Contents?: true
Size: 1.57 KB
Versions: 4
Compression:
Stored size: 1.57 KB
Contents
# frozen_string_literal: true require_relative '../label' require_relative '../label_event' require_relative '../milestone' module Gitlab module Triage module Resource module Shared module Issuable def milestone @milestone ||= resource[:milestone] && Milestone.new(resource[:milestone], parent: self) end # This will be more useful when we have: # https://gitlab.com/gitlab-org/gitlab-ce/issues/51011 def labels @labels ||= resource[:labels] # an array of label names .map { |label| Label.new({ name: label }, parent: self) } end # Make this an alias of `labels` when we have: # https://gitlab.com/gitlab-org/gitlab-ce/issues/51011 def labels_with_details @labels_with_details ||= label_events .select { |event| event.action == 'add' } .map(&:label) .uniq(&:name) .select { |label| resource[:labels].include?(label.name) } end def label_events @label_events ||= query_label_events .map { |label_event| LabelEvent.new(label_event, parent: self) } end def labels_chronologically @labels_chronologically ||= labels_with_details.sort_by(&:added_at) end private def query_label_events network.query_api_cached( resource_url(sub_resource_type: 'resource_label_events')) end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems