Utiliser ERB avec ruby sans rails

ERB est le moteur de template utilisé par RubyOnRails. Il peut être intéressant de l'utiliser avec ruby seulement.

Je vous préviens ce n'est pas très compliqué, mais il y a une petite subtilité :

require 'erb'

ma_variable = "rivsc"

ERB.new("Hello <%= ma_variable %>").result

Si tout va bien ça devrait planter. Erb ne connait pas l'environnement (méconnaissance des variables déclarées à l'extérieur d'erb et utilisées à l'intérieur). Voici la subtilité il faut passer binding (https://www.ruby-doc.org/core/classes/Binding.html) à la méthode result :

require 'erb'

ma_variable = "rivsc"

ERB.new("Hello <%= ma_variable %>").result(binding)

Voilà ça marche !