class Leg::Commands::Amend

Public Class Methods

name() click to toggle source
# File lib/leg/commands/amend.rb, line 4
def self.name
  "amend"
end
summary() click to toggle source
# File lib/leg/commands/amend.rb, line 8
def self.summary
  "Modify a step."
end
usage() click to toggle source
# File lib/leg/commands/amend.rb, line 12
def self.usage
   "[-s]"
end

Public Instance Methods

run() click to toggle source
# File lib/leg/commands/amend.rb, line 28
def run
  needs! :config, :repo

  commit_options = {
    amend: true,
    no_rebase: @opts[:stay],
    message: @opts[:message],
    use_default_message: @opts[:default_message]
  }

  if @git.commit!(commit_options)
    unless @opts[:stay]
      git_to_litdiff!
      output "Success!\n"
    end
  else
    output "Looks like you've got a conflict to resolve!\n"
  end
end
setopts!(o) click to toggle source
# File lib/leg/commands/amend.rb, line 16
def setopts!(o)
  o.on("-m", "--message MESSAGE", "Set the step summary to MESSAGE") do |m|
    @opts[:message] = m
  end
  o.on("-d", "--default-message", "Leave the step summary unchanged, or set it to a default if empty") do |d|
    @opts[:default_message] = d
  end
  o.on("-s", "--stay", "Don't resolve rest of steps yet") do |s|
    @opts[:stay] = s
  end
end