class Dude::ProjectManagement::Jira::MoveTaskToList
Attributes
client[R]
id[R]
list_name[R]
Public Class Methods
new(client, id:, list_name:)
click to toggle source
# File lib/dude/project_management/jira/move_task_to_list.rb, line 7 def initialize(client, id:, list_name:) @client = client @id = id @list_name = list_name end
Public Instance Methods
call()
click to toggle source
# File lib/dude/project_management/jira/move_task_to_list.rb, line 13 def call issue = client.Issue.find(id) available_transitions = client.Transition.all(issue: issue) transition_id = generate_transition_id(issue, available_transitions) transition = issue.transitions.build transition.save!(transition: { id: transition_id }) end
Private Instance Methods
generate_transition_id(issue, available_transitions)
click to toggle source
# File lib/dude/project_management/jira/move_task_to_list.rb, line 25 def generate_transition_id(issue, available_transitions) if list_name available_transitions.find { |transition| transition.name == list_name }.id else select_list_for_moving(issue, available_transitions).id end end
select_list_for_moving(_issue, available_transitions)
click to toggle source
# File lib/dude/project_management/jira/move_task_to_list.rb, line 33 def select_list_for_moving(_issue, available_transitions) puts 'Please, select list for moving:'.green.bold available_transitions.each_with_index do |ea, index| puts "#{index + 1}: #{ea.name.bold}" end print "\nList index: ".bold list_index = $stdin.gets.chomp available_transitions[list_index.to_i - 1] end