class Do < Process class_property simulation = false def self.run(cmd : String, params = [] of String) if @@simulation puts "simulation, do: #{cmd} #{params.join(" ")}" Process::Status.new 0 else Process.run cmd, params end end def self.run(cmd : String, params = [] of String, &block : Process -> _) if @@simulation puts "simulation, do: #{cmd} #{params.join(" ")}" Process::Status.new 0 else Process.run cmd, params, &block end end def self.runsh(cmd : String) if @@simulation puts "simulation, do in a shell : #{cmd}" Process::Status.new 0 else r = Process.run "sh", ["-c", cmd], output: Process::Redirect::Inherit, error: Process::Redirect::Inherit end end end