En este post quiero comentar un plugin interesante para la configuración de un entorno específico en un proyecto Rails.
Se añade al GemFile la siguiente línea: gem "rails_config". RailsConfig ayuda a administrar la configuración del entorno específico. Lo único que tenemos que hacer es bundle install. Una vez que hagamos esto ejecutamos la siguiente instrucción: rails g rails_config:install
En nuestra aplicación vamos a tener las siguientes carpetas:
config/settings.yml
config/settings/development.yml
config/settings/production.yml
config/settings/test.yml
Es decir vamos a tener un archivo YAML por cada uno de los entornos de nuestra aplicación y un archivo común para todos los entornos que es el settings.yml; es decir será visible por todos los entornos. Dependiendo del entorno en el que tengamos levantada la aplicación leerá de un fichero u otro.
La instrucción que ejecutamos antes creará un archivo en config/initializers, rails_config.rb, donde se define el nombre de la constante a través de la cual vamos a acceder a los parámetros definidos para cada entorno. Por defecto se llama Settings. Esta constante se puede cambiar por la que consideremos oportuna.
Ejemplo
Imaginemos que tenemos definido lo siguiente en cualquiera de los archivos mencionados:
size: 2 section: size: <%= 1 + 2 + 3 %> servers: [ {name: yahoo.com}, {name: amazon.com} ]
Para poder acceder a estas variables desde cualquier parte de nuestra aplicación haríamos lo siguiente:
Settings.size # => 2 Settings.server # => google.com Settings.section.size # => 6
Settings.section.servers[0].name # => yahoo.com Settings.section.servers[1].name # => amazon.com
No comments:
Post a Comment