Switch to proper standalone executable with Thor

This commit is contained in:
David Heinemeier Hansson
2023-01-14 11:31:37 +01:00
parent bf98a0308c
commit fed64ef244
28 changed files with 387 additions and 307 deletions

27
lib/mrsk/cli/base.rb Normal file
View File

@@ -0,0 +1,27 @@
require "thor"
require "sshkit"
require "sshkit/dsl"
module Mrsk::Cli
class Base < Thor
include SSHKit::DSL
def self.exit_on_failure?() true end
class_option :verbose, type: :boolean, aliases: "-v", desc: "Detailed logging"
def initialize(*)
super
MRSK.verbose = options[:verbose]
end
private
def print_runtime
started_at = Time.now
yield
ensure
runtime = Time.now - started_at
puts " Finished all in #{sprintf("%.1f seconds", runtime)}"
end
end
end