October 8th, 2009 por CaDs

Cualquiera que haya programado en Rails conocerá algo de YAML ya que se usa, entre muchas otras cosas, para la configuración de la base de datos.

YAML en breve, es un lenguaje para la serialización de datos bastante fácil de entender y cómodo de usar (podéis ver ejemplos aquí).

No sería genial poder definir nuestros archivos de configuración usando YAML como los properties en Java?

Pues es muy sencillo.

Paso1: Crear el archivo de configuración dentro de la carpeta /config. Para este ejemplo yo he creado un archivo llamado config.yml con el siguiente contenido:

/config/config.yml


:attribute1:
  :param1: my config stuff
  :param2: more config stuff
  :param3: yet another param

:attribute2:
  :param1: more config 
  :param2: blahblahbla
  :param3: another thing

Paso 2: Cargar el archivo de configuración al levantar nuestra app. Para ello crearemos un inicializador dentro de la carpeta /initializers.
En mi caso yo he creado un archivo llamado config_loader.rb con el siguiente contenido:

/initializers/config_loader.rb


config_file = File.read(RAILS_ROOT + "/config/config.yml")
CONFIG = YAML.load(config_file)

Y eso es todo, tras reiniciar vuestra aplicación podréis acceder a vuestros parámetros dentro de vuestro código llamándolos con: CONFIG[:attribute1][:param1]

Enjoy! :)

  • Share/Bookmark