Классы могут быть определены во многих файлах, поэтому нет реального ответа на ваш вопрос.С другой стороны, вы можете сказать, из какого файла был сделан include Foo
:
# ./modules/foo.rb
module Foo
def self.included(obj)
path, = caller[0].partition(":")
puts "the module Foo was included from this file: #{path}"
end
end
Это будет путь, который вы ищете, если только не существует MyClass.send :include, Foo
где-то еще, где был MyClassопределены ...
Примечание : для Ruby 1.8.6: require 'backports'
или изменить partition
на что-то другое.