Вы можете использовать public_send
или (send
в зависимости от метода):
operator = :>
5.public_send(operator, 4)
# true
public_send
(как send
) может получить метод в виде строки или символа.
В случае, если используемый вами метод не определен в классе объектов, Ruby выдаст NoMethodError
.
Вы также можете сделать receiver.method(method_name).call(argument)
, но это еще больше:
5.method(operator).call(4)
# true