updated self, class_eval, and instance_eval in Ruby