Я использую ruby 1.8.5, и я хотел бы использовать вспомогательный метод, чтобы помочь отфильтровать предпочтения пользователя следующим образом:
def send_email(user, notification_method_name, *args)
# determine if the user wants this email
return if !user.send("wants_#{notification_method_name}?")
# different email methods have different argument lengths
Notification.send("deliver_#{notification_method_name}", user, *args)
end
Это работает в ruby 1.8.6, однако, когда я пытаюсь сделать это в 1.8.5 и пытаюсь отправить более одного аргумента, я получаю сообщение об ошибке:
неверное количество аргументов (2 для X)
где X - количество аргументов, которое требуется конкретному методу. Я бы предпочел не переписывать все мои методы уведомлений - может ли Ruby 1.8.5 справиться с этим?