Использование метода отправки ruby ​​для создания и создания нового класса - PullRequest
0 голосов
/ 29 октября 2019

У меня есть несколько классов, которые я хочу вызывать динамически:

 Sms::Message::TenMinutesBeforeReminderMessage.new(data).build
Sms::Message::OneHourAfterReminderMessage.new(data).build

Я хочу иметь возможность сделать что-то вроде этого:

send("Sms::Message::#{reminder}ReminderMessage.new(data).build")

Где reminderэто символЭто возможно? Если так, то я не могу понять синтаксис

1 Ответ

5 голосов
/ 29 октября 2019

Вы используете constantize из Rails, чтобы сделать это:

klass = "Sms::Message::#{reminder}ReminderMessage".constantize
klass.new(data).build
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...