From 148c43fe2951143ef5a88eb325a280a05198fe19 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 23 Jan 2023 10:37:19 +0100 Subject: [PATCH] Extract make_directory_for --- lib/mrsk/cli/accessory.rb | 8 ++------ lib/mrsk/commands/accessory.rb | 8 ++++++++ lib/mrsk/configuration/accessory.rb | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/mrsk/cli/accessory.rb b/lib/mrsk/cli/accessory.rb index 85c92785..c198779e 100644 --- a/lib/mrsk/cli/accessory.rb +++ b/lib/mrsk/cli/accessory.rb @@ -14,12 +14,8 @@ class Mrsk::Cli::Accessory < Mrsk::Cli::Base accessory = MRSK.accessory(name) on(accessory.host) do accessory.files.each do |(local, remote)| - if Pathname.new(local).exist? - execute :mkdir, "-p", Pathname.new(remote).dirname.to_s - upload! local.to_s, remote.to_s - else - raise "Missing file: #{local}" - end + execute *accessory.make_directory_for(local, remote) + upload! local, remote end end end diff --git a/lib/mrsk/commands/accessory.rb b/lib/mrsk/commands/accessory.rb index 8bbeb363..b7ee5670 100644 --- a/lib/mrsk/commands/accessory.rb +++ b/lib/mrsk/commands/accessory.rb @@ -46,6 +46,14 @@ class Mrsk::Commands::Accessory < Mrsk::Commands::Base ).join(" "), host: host end + def make_directory_for(local, remote) + if Pathname.new(local).exist? + [ :mkdir, "-p", Pathname.new(remote).dirname.to_s ] + else + raise "Missing file: #{local}" + end + end + def remove_files [ :rm, "-rf", service_name ] end diff --git a/lib/mrsk/configuration/accessory.rb b/lib/mrsk/configuration/accessory.rb index f5df1216..163742cd 100644 --- a/lib/mrsk/configuration/accessory.rb +++ b/lib/mrsk/configuration/accessory.rb @@ -66,7 +66,7 @@ class Mrsk::Configuration::Assessory end def expand_local_file_path(local_file) - Pathname.new(File.expand_path(local_file)) + Pathname.new(File.expand_path(local_file)).to_s end def expand_remote_file_path(remote_file)