# 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