Object#instance_eval
irb(main):008:0> template = %{ say "It works!" } => " say \"It works!\" " irb(main):009:0> template.instance_eval "def read; self; end" => nil irb(main):010:0> template.read => " say \"It works!\" "
irb(main):008:0> template = %{ say "It works!" } => " say \"It works!\" " irb(main):009:0> template.instance_eval "def read; self; end" => nil irb(main):010:0> template.read => " say \"It works!\" "