Ruby method_missing
Cuando envías un mensaje a un objeto, el objeto ejecuta el primer método
que encuentra con el mismo nombre que el mensaje. Si no puede encontrar
dicho método, genera una excepción NoMethodError, a menos que hayas
provisto al objeto con un método llamado method_missing.
A este método es pasado el símbolo que corresponde al método no existente y todos los argumentos que fueron pasados.
method_missing es en parte una red de seguridad: Te proporciona una
manera de interceptar mensajes que no pueden ser ejecutados y de manejarlos
con elegancia. Observa el ejemplo p012zmm.rb (vamos a hablar acerca de
cómo crear nuestras propias clases más adelante).
1 class Prueba 2 3 def method_missing(m, *args) 4 puts "No hay un mensaje llamado #{m} aqui -- por favor intentalo de nuevo." 5 end 6 end 7 8 Prueba.new.baila
El resultado de ejecutar este programa es:

