@m_seki の

I like ruby tooから引っ越し

どうやってそのHashを作ったのか

そのHashを作った経緯を考えたら、こういうのは本当は要らないと信じてる。
信じるっていうのは、とても信じられないようなことを信じるときに使うんだけどさ。

class YourEnv
  def initialize(env)
    @env = env
  end

  def method_missing(name)
    @env[name] || @env[name.to_s]
  end

  def apply(&blk)
    instance_eval(&blk)
  end
  
  def apply_erb(erb)
    erb.result(binding)
  end
end

require 'erb'

s = <<EOS
<%= title %>
<%= body %>
EOS

erb = ERB.new(s)

hash = {
  'title' => 'goro',
  :body => '2ndlife'
}

puts YourEnv.new(hash).apply_erb(erb)

ところで、Hashのキーはどれも変数やメソッド名に使えるんだっけ?