La guia de platanus
Buscar…
⌃K

Ejemplo: Módulo para variables de entorno

# lib/my_module.rb
module MyModule
MY_NUMBER = ENV.fetch("MY_NUMBER", 10)
MY_BOOLEAN = ENV["MY_BOOLEAN"]
def self.my_number
MY_NUMBER.to_i
end
def self.my_boolean?
MY_BOOLEAN == "true"
end
end
# se acceden así:
MyModule.my_number
MyModule.my_boolean?
Definimos un módulo en donde los fetch de las variables de entorno están fuera de los métodos (de esta manera si una variable de entorno no está definida fallará el build). Dentro de los métodos sólo se encuentra el formateo de las variables
Para que el módulo esté disponible en la aplicación, se debe agregar el require en el archivo application.rb
# application.rb
config.before_configuration do
require Rails.root.join("lib/my_module.rb")
end