Hmm seems a little confusing with the $1 in the evals and $2 is
outright wrong you mean args.first

def method_missing sym, *args
   name = sym.to_s
   aname = name.sub("=","")

   super unless aname =~ /whatever/

   self.class.module_eval do # just a matter of taste
      attr_accessor aname
   end
  send name, args.first unless aname == name
end


HTH
Robert