Files

31 lines
860 B
Ruby

# frozen_string_literal: true
require_relative '../candados/candados'
module ADN
class SubcomandoCandados
def initialize(args, logger)
@args = args
@logger = logger
end
def ejecutar
if @args.empty?
# Llamamos al help interno de candados.rb
system("ruby #{File.join(File.dirname(__FILE__), '../candados/candados.rb')} help")
return
end
# Ejecutamos el script de candados pasando los argumentos
# Nota: candados.rb maneja internamente la seguridad y auditoría
script_path = File.join(File.dirname(__FILE__), '../candados/candados.rb')
system("ruby #{script_path} #{@args.join(' ')}")
# Propagamos el exit status si es un comando de ejecución (run/sudo)
if ['run', 'sudo'].include?(@args[0])
exit $?.exitstatus || 0
end
end
end
end