class GithubFlowCli::IssueCommands
Public Instance Methods
all()
click to toggle source
# File lib/commands/issue.rb, line 14 def all list_issues(assignee: '*', show_assignee: true) list_issues(assignee: 'none', show_assignee: true) end
create(title)
click to toggle source
# File lib/commands/issue.rb, line 9 def create(title) puts API.create_issue(title).html_url end
mine()
click to toggle source
# File lib/commands/issue.rb, line 20 def mine list_issues(assignee: Config.username) end
start(number)
click to toggle source
# File lib/commands/issue.rb, line 30 def start(number) # TODO: before filer unless Local.repo puts "not valid outside of a github repo." exit(4) end issue = API.issue(Local.repo, number) # TODO: create branch based on RepoRules # TODO: abstarct tag from issue title branch_name = "i_#{number}_#{issue.title.gsub(/[^_\w\d ]/, '').snakecase}" Local.git.branch(branch_name).checkout Config.link_branch_to_issue(branch_name, issue) rescue Octokit::NotFound puts "issue not found!" end
unassigned()
click to toggle source
# File lib/commands/issue.rb, line 25 def unassigned list_issues(assignee: 'none') end
Private Instance Methods
assignee_field(show_assignee, issue)
click to toggle source
# File lib/commands/issue.rb, line 58 def assignee_field(show_assignee, issue) show_assignee ? " (#{issue.assignee&.login || 'NONE'})" : '' end
list_issues(config)
click to toggle source
# File lib/commands/issue.rb, line 48 def list_issues(config) show_assignee = config.delete(:show_assignee) issues = API.list_issues(Local.repo, config) unless issues.empty? msgs = issues.sort_by(&:title).map { |i| "#{Local.repo ? '' : i.repository.name}##{i.number}#{assignee_field(show_assignee, i)}: #{i.title}" } msgs.sort_by!(&:itself) unless Local.repo puts msgs end end