Если вы заранее точно знаете, какие классы необходимо определить, вам, вероятно, следует сгенерировать код, который явно определяет их с ключевым словом class
для ясности.
Однако, если вам действительно нужно определить их динамически, вы можете использовать Object.const_set
в сочетании с Class.new
. Чтобы определить пару дочерних классов ActiveRecord::Base
:
%w{A B C D}.each do |name|
Object.const_set name, Class.new(ActiveRecord::Base)
end
Результатом вышеупомянутого является четыре новых класса с именем A..D
, все дети ActiveRecord::Base
.