Метод send
принимает те же параметры, что и вызываемый метод:
User.send("create_#{obj}", data)
Независимо от того, является ли это наиболее элегантным решением, зависит: я бы оставил процесс принятия решения до класса User
, что может происходить различными способами (например, такая посылка, хеш Proc
с и т. Д.) Еще одна альтернатива - заводское обслуживание.
User.create(how, data) # "how" is a, b, c
Где бы он ни жил, сделайте это очевидным - это позволяет легко расширять, исправлять и рассуждать о.