class Jira::Command::Delete
Attributes
force[RW]
ticket[RW]
Public Class Methods
new(ticket, force)
click to toggle source
# File lib/jira/commands/delete.rb, line 17 def initialize(ticket, force) self.ticket = ticket self.force = force end
Public Instance Methods
run()
click to toggle source
# File lib/jira/commands/delete.rb, line 22 def run return if ticket.empty? return if metadata.empty? return if metadata['fields'].nil? return if subtasks_failure? api.delete "issue/#{ticket}?deleteSubtasks=#{force}", success: ->{ puts "Ticket #{ticket} has been deleted." }, failure: ->{ puts "No change made to ticket #{ticket}." } end
Private Instance Methods
metadata()
click to toggle source
# File lib/jira/commands/delete.rb, line 48 def metadata @metadata ||= api.get("issue/#{ticket}") end
subtask?()
click to toggle source
# File lib/jira/commands/delete.rb, line 44 def subtask? metadata['fields']['issuetype']['subtask'] end
subtasks_failure?()
click to toggle source
# File lib/jira/commands/delete.rb, line 35 def subtasks_failure? return false unless subtask? if !metadata['fields']['subtasks'].empty? && !force self.force = io.yes?("Delete all sub-tasks for ticket #{ticket}?") return true unless force end false end