[P2604] Fase 15: Optimización IA e integración de herramienta candados. Sincronización de bitácoras y actualización de planes de proyecto.
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative '../core/help_formatter'
|
||||
require_relative 'generador'
|
||||
|
||||
module ADN
|
||||
class SubcomandoProy
|
||||
def initialize(args, logger)
|
||||
@args = args
|
||||
@logger = logger
|
||||
end
|
||||
|
||||
def ejecutar
|
||||
if @args.empty?
|
||||
mostrar_ayuda
|
||||
return
|
||||
end
|
||||
|
||||
accion = @args.shift
|
||||
|
||||
case accion
|
||||
when 'nuevo'
|
||||
tipo = @args.shift
|
||||
titulo = nil
|
||||
opciones = {}
|
||||
|
||||
while (arg = @args.shift)
|
||||
if arg =~ /^--(\w+)[:=](.+)$/
|
||||
opciones[$1.to_sym] = $2.gsub(/^['"]|['"]$/, '')
|
||||
elsif arg =~ /^--(\w+)$/
|
||||
opciones[$1.to_sym] = true
|
||||
else
|
||||
titulo = arg unless titulo
|
||||
end
|
||||
end
|
||||
|
||||
GeneradorProy.nuevo(tipo, titulo, opciones)
|
||||
when 'ayuda', 'help', '-h', '--help'
|
||||
mostrar_ayuda
|
||||
else
|
||||
puts "✗ Acción desconocida: #{accion}"
|
||||
mostrar_ayuda
|
||||
exit 1
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def mostrar_ayuda
|
||||
puts ADN::HelpFormatter.generar_help(
|
||||
titulo: "Gestión de Proyectos",
|
||||
descripcion: "Creación de estructuras basadas en plantillas",
|
||||
uso: "./adn/tools/run proy nuevo [tipo]",
|
||||
opciones: [
|
||||
{ names: ['nuevo [plan|subplan|mejora|incidente|tarea]'], desc: "Crear estructura desde plantilla" }
|
||||
],
|
||||
ejemplos: [
|
||||
{ cmd: "./adn/tools/run proy nuevo plan", desc: "Crear un plan nuevo" },
|
||||
{ cmd: "./adn/tools/run proy nuevo mejora", desc: "Crear mejora" }
|
||||
]
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user