31 lines
860 B
Ruby
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
|