Class: Abak::Flow::Commands::Done

Inherits:
Object
  • Object
show all
Includes:
ANSI::Code
Defined in:
lib/abak-flow/commands/done.rb

Instance Method Summary collapse

Instance Method Details

#run(args, options) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 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