Rubyの文法チェックをRubyコードの中で

外から与えられたRubyコードの文法チェックはどうやってやるのだったかな。というか、あれだよ、あれ。akrさんのevalのあれ。

と、久々に記憶をひっかきまわして探したコード

def valid?(code)
  begin
    eval("BEGIN {return true}; #{code}")
  rescue SyntaxError
    return false
  end
  return false
end

2001年とか。