Problema al usar OpenStruct con ERB

EDITAR: olvidé incluir la información de mi entorno ... Win7x64, RubyInstaller Ruby v1.9.1-p378

EDITAR 2: acaba de actualizar a v1.9.1, parche 429, y sigue recibiendo este mismo error.

Edición 3: ejecutar este mismo código en Ruby v1.8.7, parche 249, funciona bien. entonces es v1.9.1 que lo rompió, aparentemente.

Soy nuevo en el uso de ERB y las muestras que pude encontrar son ... ummm ... menos que útiles ... después de haber jugado con ERB durante aproximadamente una hora, obtuve algunos ejemplos básicos que funcionan (finalmente), pero tengo No tengo idea de por qué esto no funciona ...

require 'ostruct'
require 'erb'

data = {:bar => "bar"}
vars = OpenStruct.new(data)

template = "foo "
erb = ERB.new(template)

vars_binding = vars.send(:binding)
puts erb.result(vars_binding)

Este código produce el siguiente error:

irb(main):007:0> puts erb.result(vars_binding)
NameError: undefined local variable or method `bar' for main:Object
        from (erb):1
        from C:/Ruby/v1.9.1/lib/ruby/1.9.1/erb.rb:753:in `eval'
        from C:/Ruby/v1.9.1/lib/ruby/1.9.1/erb.rb:753:in `result'
        from (irb):7
        from C:/Ruby/v1.9.1/bin/irb:12:in `'

¿Por qué está mirando elmain:Object ¿Unión? Le dije que usara el enlace de OpenStruct al pasarvars_binding

¿Puede alguien explicarme por qué no funciona y ayudarme a que funcione?