Reputation: 1035
I have some classes that I want to call dynamiclly:
Sms::Message::TenMinutesBeforeReminderMessage.new(data).build
Sms::Message::OneHourAfterReminderMessage.new(data).build
I want to be able to do something like this:
send("Sms::Message::#{reminder}ReminderMessage.new(data).build")
Where reminder
is a symbol.
Is this possible? If so I can't seem to figure out the syntax
Upvotes: 0
Views: 77
Reputation: 17793
You use constantize from Rails to do it:
klass = "Sms::Message::#{reminder}ReminderMessage".constantize
klass.new(data).build
Upvotes: 5