В ruby, если я действительно "требую foo", есть ли способ впоследствии определить имя модуля или модулей, определенных в foo.rb?
Например, скажем, у меня есть файл ruby с именем foo.rb, который выглядит следующим образом:
# foo.rb
module MyModule
def self.summary
"this does something useful"
end
...
end
В другом скрипте, после того как я "требуемый foo", как я могу определить, что у меня теперь есть модуль с именем MyModule?
В конечном итоге я хочу сделать что-то вроде этого:
file = someComputedFileName()
require file
puts "summary of #{file}: #{???::summary}
Хотя я мог заставить себя сделать имена модулей и имена файлов идентичными, я бы не стал. Я хочу немного больше свободы в создании коротких имен файлов, но более выразительных имен модулей. Тем не менее, я гарантирую себе, что каждый файл будет определять только один модуль (подумайте: плагины).