Files
dtic-DIIAA/adn/tools/proy/proy.rb
T

65 lines
1.5 KiB
Ruby

# 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