Class: MGit::ForEachCommand
Instance Method Summary
collapse
Methods inherited from Command
#check_arity, create, execute, instance_each, list, load_commands, register_alias, register_command, require_commands_from_directory
Methods included from Output
#perror, #pinfo, #psystem, #ptable, #pwarn
Instance Method Details
#arity ⇒ Object
18
19
20
|
# File 'lib/mgit/commands/foreach.rb', line 18
def arity
[1, nil]
end
|
#description ⇒ Object
26
27
28
|
# File 'lib/mgit/commands/foreach.rb', line 26
def description
'execute a command for each repository'
end
|
#execute(args) ⇒ Object
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/mgit/commands/foreach.rb', line 3
def execute(args)
command = args.join(' ')
Registry.each do |repo|
pinfo "Executing command in repository #{repo.name}..."
sc = System.run(command, chdir: repo.path, print_stdout: true, print_stderr: true)
next if sc.success?
unless agree("Executing command '#{command}' in repository '#{repo.name}' failed. Would you like to continue anyway?".red)
break
end
end
end
|
#usage ⇒ Object
22
23
24
|
# File 'lib/mgit/commands/foreach.rb', line 22
def usage
'foreach <command...>'
end
|