Migración dtic-DASUTEN a estándar A04: - A04_dtic-DASUTEN.md: Manifiesto creado - A04.P001 a A04.P005: Planes renombrados de P2601.* - _hist/_hist_P2601_dasuten.md: Legacy archivado Migración dtic-BKPs a estándar A03: - A03_dtic-BKPs.md: Manifiesto creado - A03.P001, A03.P002: Planes migrados - docs/ambito/dtic-BKPs/: Nueva estructura Herramientas ADN nuevas: - adn/tools/bkps/: BKPs migrado a tools ADN - adn/tools/cli/dron.rb: Vigía de tareas largas - adn/tools/cli/copiloto.rb: Asistente CLI - adn/tools/cli/novato.rb: CLI de aprendizaje Limpieza: - dtic-BKPs/ → _hist/dtic-BKPs/ (legacy archivado) - adn/tools/cli/backup.rb → _hist/ (migrado a bkps.rb) Otros: - nodos/pcv-dasu1.md, srvv-data.md, srvv-nginx-rm.md: Actualizados - adn/tools/core/conciliador.rb: Mejoras - adn/tools/w-zombi/data/cmd.json: Actualizado Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
51 lines
1.2 KiB
Ruby
51 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'yaml'
|
|
require 'fileutils'
|
|
|
|
module ADN
|
|
class Configurador
|
|
CONFIG_PATH = File.join(__dir__, '..', 'config', 'config.yml')
|
|
|
|
def self.leer
|
|
return {} unless File.exist?(CONFIG_PATH)
|
|
YAML.load_file(CONFIG_PATH) || {}
|
|
rescue StandardError => e
|
|
warn "Error leyendo configuración: #{e.message}"
|
|
{}
|
|
end
|
|
|
|
def self.guardar(config)
|
|
FileUtils.mkdir_p(File.dirname(CONFIG_PATH))
|
|
File.write(CONFIG_PATH, config.to_yaml)
|
|
true
|
|
rescue StandardError => e
|
|
warn "Error guardando configuración: #{e.message}"
|
|
false
|
|
end
|
|
|
|
def self.obtener(ruta_punto, default = nil)
|
|
config = leer
|
|
partes = ruta_punto.split('.')
|
|
valor = config
|
|
partes.each do |p|
|
|
valor = valor[p] if valor.is_a?(Hash)
|
|
return default if valor.nil?
|
|
end
|
|
valor
|
|
end
|
|
|
|
def self.establecer(ruta_punto, nuevo_valor)
|
|
config = leer
|
|
partes = ruta_punto.split('.')
|
|
temp = config
|
|
partes[0...-1].each do |p|
|
|
temp[p] ||= {}
|
|
temp = temp[p]
|
|
end
|
|
temp[partes.last] = nuevo_valor
|
|
guardar(config)
|
|
end
|
|
end
|
|
end
|