В настоящее время у меня есть два класса, каждый из которых расширяет свой модуль:
class Example1
def initialize
extend TopModule:SubModule1
end
end
class Example2
def initialize
extend TopModule:SubModule2
end
end
Вместо того, чтобы иметь два класса, каждый из которых имеет свой собственный расширенный модуль, можно создать один класс, а затем расширить модуль науровень объекта?
Я добавил имя модуля и передал его конструктору объекта, но жалуюсь на код.
class Example
def initialize (module)
self.send("extend TopModule::#{module}"
end
end
object = Example.new('Submodule1')
NoMethodError:
undefined method `extend TopModule::SubModule1' for #<Example:0x00000000057c8198>
Общая проблема: скажем, у меня есть Nобъекты (все они должны быть из одного класса, но каждый объект должен иметь свой собственный модуль).Как лучше всего использовать эту возможность?