¿Cómo llamar a los métodos dinámicamente en función de su nombre? [duplicar
Esta pregunta ya tiene una respuesta aquí:
Llamando a un método desde una cadena con el nombre del método en Ruby 4 respuestas¿Cómo puedo llamar a un método dinámicamente cuando su nombre está contenido en una variable de cadena? Por ejemplo
class MyClass
def foo; end
def bar; end
end
obj = MyClass.new
str = get_data_from_user # e.g. `gets`, `params`, DB access, etc.
str #=> "foo"
# somehow call `foo` on `obj` using the value in `str`.
¿Cómo puedo hacer esto? ¿Esto es un riesgo de seguridad?