Я использую библиотеку, которая выкладывает свою библиотеку так:
module Lib
class A; end
class B; end
...
end
Я знаю, что могу использовать send
для объекта, чтобы "вызвать" метод, известный только во время выполнения (например, foo.send(:bar, :baz_param=>42
). Как я могу сделать это на уровне класса?
Другими словами, я подозреваю, что есть способ написать что-то вроде этого:
label = :Klass
MyModule.some_method(label).new
, который выполняется, по сути, как:
MyModule::Klass.new
Я прав?