class Module # Modifies attr_reader to return an array # of the names of the methods it has defined. def attr_reader(*args) made = [] args.each { |a| a = a.to_s.strip module_eval %Q{ def #{a}; @#{a} ; end } made << "#{a}".to_sym } return *made end end