From ea9a50ec95a0d565820bfcbf20804ea8ffeb7bf2 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 13 Jan 2023 10:00:11 +0100 Subject: [PATCH] Extract command #combine --- lib/mrsk/commands/base.rb | 6 ++++++ lib/mrsk/commands/builder/native.rb | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/mrsk/commands/base.rb b/lib/mrsk/commands/base.rb index 8cf0879a..f9404368 100644 --- a/lib/mrsk/commands/base.rb +++ b/lib/mrsk/commands/base.rb @@ -9,6 +9,12 @@ module Mrsk::Commands end private + def combine(*commands) + commands + .collect { |command| command + [ "&&" ] }.flatten # Join commands with && + .tap { |commands| commands.pop } # Remove trailing && + end + def docker(*args) args.compact.unshift :docker end diff --git a/lib/mrsk/commands/builder/native.rb b/lib/mrsk/commands/builder/native.rb index bb41ec78..c2234f78 100644 --- a/lib/mrsk/commands/builder/native.rb +++ b/lib/mrsk/commands/builder/native.rb @@ -10,7 +10,9 @@ class Mrsk::Commands::Builder::Native < Mrsk::Commands::Base end def push - docker :build, "--push", "-t", config.absolute_image, "." + combine \ + docker(:build, "-t", config.absolute_image, "."), + docker(:push, config.absolute_image) end def pull