Мне нужно создать класс Ruby на лету, то есть динамически, который происходит от ActiveRecord::Base
. Я использую eval
до поры до времени:Создание класса Ruby на лету без eval
eval %Q{
class ::#{klass} < ActiveRecord::Base
self.table_name = "#{table_name}"
end
}
Есть ли эквивалент, и по крайней мере, столь же кратким способом сделать это без использования eval
?
Это он, спасибо. Я знаю, что классы тоже объекты; но я не знал, что можно дать базовый класс в качестве аргумента и, в частности, о блоке (оглядываясь назад, я должен был догадаться). – DrTom