Это невозможно. Метод, который изменяет любой объект, может знать только, как манипулировать состоянием, которое является общим для всех объектов, а это не так.
Метод, который может заменить любой объект в Ruby новым, невозможен, поскольку ссылки на объекты не могут изменить свой класс в Ruby.
Похоже, вы программист на Smalltalk, и вы ищете эквивалент become:
? Это невозможно в Ruby.