Class: Jirify::Subcommands::Issues
- Inherits:
-
Thor
- Object
- Thor
- Jirify::Subcommands::Issues
- Defined in:
- lib/jirify/cli/issue.rb
Instance Method Summary collapse
- #assignee(issue_id) ⇒ Object
- #block(issue_id) ⇒ Object
- #close(issue_id) ⇒ Object
- #mine ⇒ Object
- #review(issue_id) ⇒ Object
- #start(issue_id) ⇒ Object
- #status(issue_id) ⇒ Object
- #take(issue_id) ⇒ Object
- #todo(issue_id) ⇒ Object
- #transition(issue_id, transition_name) ⇒ Object
- #transitions(issue_id) ⇒ Object
- #unassign(issue_id) ⇒ Object
- #unblock(issue_id) ⇒ Object
Instance Method Details
#assignee(issue_id) ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/jirify/cli/issue.rb', line 32 def assignee(issue_id) issue = get_issue_or_exit issue_id if issue.assignee.nil? puts 'Unassigned'.yellow else puts issue.assignee.name end end |
#block(issue_id) ⇒ Object
93 94 95 96 97 98 99 100 |
# File 'lib/jirify/cli/issue.rb', line 93 def block(issue_id) issue = get_issue_or_exit issue_id check_assigned_to_self issue issue.reopen! if issue.done? issue.stop_review! if issue.in_review? issue.block! end |
#close(issue_id) ⇒ Object
166 167 168 169 170 171 172 |
# File 'lib/jirify/cli/issue.rb', line 166 def close(issue_id) issue = get_issue_or_exit issue_id check_assigned_to_self issue issue.unblock! if issue.blocked? issue.close! end |
#mine ⇒ Object
25 26 27 28 29 |
# File 'lib/jirify/cli/issue.rb', line 25 def mine statuses = build_issue_statuses() issues = Jirify::Issue.list_mine(statuses, [:all]) issues.each { |issue| issue.print Config.always_verbose || [:verbose] } end |
#review(issue_id) ⇒ Object
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/jirify/cli/issue.rb', line 148 def review(issue_id) issue = get_issue_or_exit issue_id check_assigned_to_self issue if issue.blocked? issue.unblock! issue.start! elsif issue.todo? issue.start! elsif issue.done? issue.reopen! issue.start! end issue.start_review! end |
#start(issue_id) ⇒ Object
133 134 135 136 137 138 139 140 141 142 143 144 145 |
# File 'lib/jirify/cli/issue.rb', line 133 def start(issue_id) issue = get_issue_or_exit issue_id check_assigned_to_self issue issue.unblock! if issue.blocked? issue.reopen! if issue.done? if issue.in_review? issue.stop_review! else issue.start! end end |
#status(issue_id) ⇒ Object
64 65 66 67 68 |
# File 'lib/jirify/cli/issue.rb', line 64 def status(issue_id) issue = get_issue_or_exit issue_id puts issue.status.name end |
#take(issue_id) ⇒ Object
56 57 58 59 60 61 |
# File 'lib/jirify/cli/issue.rb', line 56 def take(issue_id) issue = get_issue_or_exit issue_id puts "Assigning #{issue.key} to #{Config.username}..." issue.assign_to_me! end |
#todo(issue_id) ⇒ Object
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/jirify/cli/issue.rb', line 116 def todo(issue_id) issue = get_issue_or_exit issue_id check_assigned_to_self issue if issue.blocked? issue.unblock! elsif issue.in_progress? issue.stop! elsif issue.in_review? issue.stop_review! issue.stop! elsif issue.done? issue.reopen! end end |
#transition(issue_id, transition_name) ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/jirify/cli/issue.rb', line 79 def transition(issue_id, transition_name) issue = get_issue_or_exit issue_id transition = issue.transitions.list.find { |t| t.name == transition_name } if transition.nil? puts "ERROR: Issue can't transition to #{transition_name}".red exit(0) end puts "Transitioning #{issue.key} with #{transition_name}...".green issue.transition! transition end |
#transitions(issue_id) ⇒ Object
71 72 73 74 75 76 |
# File 'lib/jirify/cli/issue.rb', line 71 def transitions(issue_id) issue = get_issue_or_exit issue_id puts 'Available transitions:' puts issue.transitions.names end |
#unassign(issue_id) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/jirify/cli/issue.rb', line 43 def unassign(issue_id) issue = get_issue_or_exit issue_id if issue.assignee.nil? puts 'Issue already unassigned'.yellow exit(0) end puts "Previous assignee: #{issue.assignee.name}. Unassigning..." issue.unassign! end |
#unblock(issue_id) ⇒ Object
103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/jirify/cli/issue.rb', line 103 def unblock(issue_id) issue = get_issue_or_exit issue_id check_assigned_to_self issue if issue.blocked? puts 'Unblocking issue...' issue.unblock! else puts 'Issue wasn\'t blocked anyway :)'.green end end |