class Jira::Command::Log::Add

Attributes

options[RW]
ticket[RW]

Public Class Methods

new(ticket, options) click to toggle source
# File lib/jira/commands/log/add.rb, line 18
def initialize(ticket, options)
  self.ticket = ticket
  self.options = options
end

Public Instance Methods

run() click to toggle source
# File lib/jira/commands/log/add.rb, line 23
def run
  return if time_spent.empty?
  api.post "issue/#{ticket}/worklog",
    params:  params,
    success: on_success,
    failure: on_failure
end

Private Instance Methods

on_failure() click to toggle source
# File lib/jira/commands/log/add.rb, line 45
def on_failure
  ->{ puts "No work was logged on ticket #{ticket}." }
end
on_success() click to toggle source
# File lib/jira/commands/log/add.rb, line 41
def on_success
  ->{ puts "Successfully logged #{time_spent} on ticket #{ticket}." }
end
params() click to toggle source
# File lib/jira/commands/log/add.rb, line 33
def params
  { timeSpent: time_spent }
end
time_spent() click to toggle source
# File lib/jira/commands/log/add.rb, line 37
def time_spent
  @time_spent ||= options['time'] || io.ask("Time spent on ticket #{ticket}:")
end