class Abak::Flow::Commands::Done

Public Instance Methods

run(args, options) click to toggle source
# File lib/abak-flow/commands/done.rb, line 7
def run(args, options)
  Checkup.new.process(Array.new, ::Commander::Command::Options.new)

  branch = Branch.new(Manager.git.current_branch)

  if branch.develop? || branch.master?
    say red {
      Manager.locale.error(self,
        'branch.delete_now_allowed', branch: ANSI.bold { branch })
    }

    exit 105
  end

  delete_on_remote(branch)

  # TODO : Быть может стоит вынести это в настройки
  #        и позволить выбирать, куда отправлять
  #        при удалении ветки, а по умолчанию использовать master
  Manager.git.checkout(
    branch.extract_base_name(if_undef: Branch::MASTER))

  delete_on_local(branch)
end

Private Instance Methods

delete_on_local(branch) click to toggle source
# File lib/abak-flow/commands/done.rb, line 50
def delete_on_local(branch)
  print white {
    Manager.locale.word(self,
      "deleting", branch: bold { branch },
                  upstream: bold { "working tree" })
  }

  begin
    branch.delete_on_local
  rescue
    say_branch_missed(branch, "working tree")
  else
    say_done
  end
end
delete_on_remote(branch) click to toggle source
# File lib/abak-flow/commands/done.rb, line 34
def delete_on_remote(branch)
  print white {
    Manager.locale.word(self,
      "deleting", branch: bold { branch },
                  upstream: bold { "#{Manager.repository.origin}" })
  }

  begin
    branch.delete_on_remote
  rescue
    say_branch_missed(branch, "#{Manager.repository.origin}")
  else
    say_done
  end
end
say_branch_missed(branch, upstream) click to toggle source
# File lib/abak-flow/commands/done.rb, line 70
def say_branch_missed(branch, upstream)
  puts
  say yellow {
    Manager.locale.error(self,
      "branch.missed_on", branch: branch,
                          upstream: upstream)
  }
end
say_done() click to toggle source
# File lib/abak-flow/commands/done.rb, line 66
def say_done
  say green { " " << Manager.locale.word(self, "done") }
end