class Gitlab::Triage::Resource::Milestone

Constants

DATE_FIELDS
FIELDS
TIME_FIELDS

Public Instance Methods

active?() click to toggle source
# File lib/gitlab/triage/resource/milestone.rb, line 57
def active?
  state == 'active'
end
closed?() click to toggle source
# File lib/gitlab/triage/resource/milestone.rb, line 61
def closed?
  state == 'closed'
end
expired?(today = Date.today) click to toggle source
# File lib/gitlab/triage/resource/milestone.rb, line 69
def expired?(today = Date.today)
  due_date && due_date < today
end
in_progress?(today = Date.today) click to toggle source
# File lib/gitlab/triage/resource/milestone.rb, line 73
def in_progress?(today = Date.today)
  started?(today) && !expired?(today)
end
started?(today = Date.today) click to toggle source
# File lib/gitlab/triage/resource/milestone.rb, line 65
def started?(today = Date.today)
  start_date && start_date <= today
end
succ() click to toggle source
# File lib/gitlab/triage/resource/milestone.rb, line 51
def succ
  index = current_index

  all_active_with_start_date[index.succ] if index
end

Private Instance Methods

all_active() click to toggle source
# File lib/gitlab/triage/resource/milestone.rb, line 89
def all_active
  @all_active ||=
    network
      .query_api_cached(url(state: 'active'))
      .map { |milestone| self.class.new(milestone, parent: self) }
end
all_active_with_start_date() click to toggle source
# File lib/gitlab/triage/resource/milestone.rb, line 84
def all_active_with_start_date
  @all_active_with_start_date ||=
    all_active.select(&:start_date).sort_by(&:start_date)
end
current_index() click to toggle source
# File lib/gitlab/triage/resource/milestone.rb, line 79
def current_index
  all_active_with_start_date
    .index { |milestone| milestone.id == id }
end