Class: Mirrors::PackageInference::ClassToFileResolver
- Inherits:
-
Object
- Object
- Mirrors::PackageInference::ClassToFileResolver
- Defined in:
- lib/mirrors/package_inference/class_to_file_resolver.rb
Instance Method Summary collapse
-
#initialize ⇒ ClassToFileResolver
constructor
A new instance of ClassToFileResolver.
- #resolve(klass) ⇒ Object
Constructor Details
#initialize ⇒ ClassToFileResolver
Returns a new instance of ClassToFileResolver.
6 7 8 |
# File 'lib/mirrors/package_inference/class_to_file_resolver.rb', line 6 def initialize @files = {} end |
Instance Method Details
#resolve(klass) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/mirrors/package_inference/class_to_file_resolver.rb', line 10 def resolve(klass) return nil if klass.nil? name = begin Mirrors.module_instance_invoke(klass, :name) rescue TypeError # klass is not a class/module, so we can't really determine its # origin. return nil end try_fast(klass, name) || try_fast(klass.singleton_class, name) || try_slow(klass) || try_slow(klass.singleton_class) end |