Extract pipe pattern

This commit is contained in:
David Heinemeier Hansson
2023-01-20 14:38:27 +01:00
parent ef9259fdd8
commit 435b558260
2 changed files with 13 additions and 7 deletions

View File

@@ -11,10 +11,15 @@ module Mrsk::Commands
end
private
def combine(*commands)
def combine(*commands, by: "&&")
commands
.collect { |command| command + [ "&&" ] }.flatten # Join commands with &&
.tap { |commands| commands.pop } # Remove trailing &&
.compact
.collect { |command| Array(command) + [ by ] }.flatten # Join commands
.tap { |commands| commands.pop } # Remove trailing combiner
end
def pipe(*commands)
combine *commands, by: "|"
end
def docker(*args)