RUBY EVAL FUNCTION

Hi all,

I have the code below from "mechanize gem" [ the file is module.rb]. am a newbie in ruby. Could anyone help me redesign the code below to use either (a) block eval OR (b) not use eval at all.

Thoughts ?

class Module   def attr_finder(*syms)     syms.each do |sym|       class_eval %{ def #{sym.to_s}(hash = nil)                       if hash == nil                         @#{sym.to_s}                       else                         @#{sym.to_s}.find_all do |t|                           found = true                           hash.each_key \{ |key|                             found = false if t.send(key.to_sym) != hash[key]                           \}                           found                         end                       end                     end                   }     end   end end