class Ditz::Issue

Public Instance Methods

claim(who, comment, force=false) click to toggle source
# File lib/plugins/issue-claiming.rb, line 24
def claim who, comment, force=false
  raise Error, "already claimed by #{claimer}" if claimer && !force
  log "issue claimed", who, comment
  self.claimer = who
end
claimed?() click to toggle source
# File lib/plugins/issue-claiming.rb, line 41
def claimed?; claimer end
git_commits() click to toggle source
# File lib/plugins/git.rb, line 35
def git_commits
  return @git_commits if @git_commits

  filters = ["--grep=\"Ditz-issue: #{id}\""]
  filters << "master..#{git_branch}" if git_branch

  output = filters.map do |f|
    %xgit log --pretty=format:\"%aD\t%an <%ae>\t%h\t%s\" #{f}`
  end.join

  @git_commits = output.split(/\n/).map { |l| l.split("\t") }.
    map { |date, email, hash, msg| [Time.parse(date).utc, email, hash, msg] }
end
unclaim(who, comment, force=false) click to toggle source
# File lib/plugins/issue-claiming.rb, line 30
def unclaim who, comment, force=false
  raise Error, "not claimed" unless claimer
  raise Error, "can only be unclaimed by #{claimer}" unless claimer == who || force
  if claimer == who
    log "issue unclaimed", who, comment
  else
    log "unassigned from #{claimer}", who, comment
  end
  self.claimer = nil
end
unclaimed?() click to toggle source
# File lib/plugins/issue-claiming.rb, line 42
def unclaimed?; !claimed? end