class Jirify::Models::Issue

Public Class Methods

find_by_id(issue_id) click to toggle source
# File lib/jirify/models/issue.rb, line 80
def find_by_id(issue_id)
  Issue.new client.Issue.find(issue_id)
rescue StandardError
  nil
end
find_mine(all) click to toggle source
# File lib/jirify/models/issue.rb, line 76
def find_mine(all)
  client.Issue.jql(my_issues_jql(all)).map { |issue| Issue.new issue }
end
list_mine(statuses = [], all = false) click to toggle source
# File lib/jirify/models/issue.rb, line 68
def list_mine(statuses = [], all = false)
  my_issues = find_mine(all).sort_by { |issue| issue.status.name }

  my_issues.select do |issue|
    statuses.empty? || statuses.any? { |status| issue.status? status }
  end
end

Protected Class Methods

my_issues_jql(all_issues) click to toggle source
# File lib/jirify/models/issue.rb, line 88
def my_issues_jql(all_issues)
  project_clause = "project in (#{Config.projects.join(', ')})"
  all_clause = 'AND sprint in openSprints()' unless all_issues
  "#{project_clause} #{all_clause} AND assignee='#{Config.username}'"
end

Public Instance Methods

assign_to_me!() click to toggle source
# File lib/jirify/models/issue.rb, line 10
def assign_to_me!
  @entity.assign_to!(Config.username.split('@')[0])
end
mine?() click to toggle source
# File lib/jirify/models/issue.rb, line 6
def mine?
  !assignee.nil? && assignee.emailAddress == Config.username
end
status() click to toggle source
# File lib/jirify/models/issue.rb, line 18
def status
  @status ||= Status.new @entity.status
end
status?(status_name) click to toggle source
# File lib/jirify/models/issue.rb, line 22
def status?(status_name)
  status_name = status_name.to_s if status_name.is_a? Symbol
  status.name == status_name
end
to_s(verbose) click to toggle source
# File lib/jirify/models/issue.rb, line 56
def to_s(verbose)
  url = ColorizedString["#{Config.issue_browse_url}#{key}"].blue.underline
  bold_key = ColorizedString["#{key.ljust(7)}:"].bold

  if verbose
    "#{status.pretty_name} #{bold_key} #{summary} (#{url})"
  else
    "#{bold_key} #{url}"
  end
end
transitions(reload = false) click to toggle source
# File lib/jirify/models/issue.rb, line 33
def transitions(reload = false)
  if reload
    @transitions = TransitionList.all @entity
  else
    @transitions ||= TransitionList.all @entity
  end
end
unassign!() click to toggle source
# File lib/jirify/models/issue.rb, line 14
def unassign!
  @entity.assign_to!(nil)
end