Sha256: a03ec296553009c05c4774ad8b70b2ba3f134ce6ace9572ebf7a84e21a640f66
Contents?: true
Size: 1.98 KB
Versions: 1
Compression:
Stored size: 1.98 KB
Contents
require "tty-command" module Autowow module Executor class Pretty < TTY::Command::Printers::Pretty def print_command_out_data(cmd, *args); end def print_command_err_data(cmd, *args); end def print_command_exit(cmd, status, runtime, *args) super tty_version = Gem::Version.new(TTY::Command::VERSION) if tty_version < Gem::Version.new("0.8.0") write("") else write(TTY::Command::Cmd.new("dummy"), "") end end end class PrettyWithOutput < TTY::Command::Printers::Pretty def print_command_exit(cmd, status, runtime, *args) super tty_version = Gem::Version.new(TTY::Command::VERSION) if tty_version < Gem::Version.new("0.8.0") write("") else write(TTY::Command::Cmd.new("dummy"), "") end end end class RunWrapper def initialize(tty_command, fail_silently: false) @tty_command = tty_command @fail_silently = fail_silently end def run(array) begin @tty_command.run(*array) rescue TTY::Command::ExitError => e raise e unless @fail_silently exit 1 end end def run!(array) @tty_command.run!(*array) end end def pretty @pretty ||= RunWrapper.new(TTY::Command.new(tty_params.merge(printer: Pretty))) end def pretty_with_output @pretty_with_output ||= RunWrapper.new(TTY::Command.new(tty_params.merge(printer: PrettyWithOutput)), fail_silently: true) end def quiet @quiet ||= RunWrapper.new(TTY::Command.new(tty_params.merge(printer: :null))) end def tty_params tty_version = Gem::Version.new(TTY::Command::VERSION) if tty_version < Gem::Version.new("0.7.0") {} elsif tty_version < Gem::Version.new("0.8.0") { pty: true } else { pty: true, verbose: false } end end include ReflectionUtils::CreateModuleFunctions end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
autowow-0.9.1 | lib/autowow/executor.rb |