Module: ActiveSupport::Testing::ConstantLookup::ClassMethods

Defined in:
lib/active_support/testing/constant_lookup.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#determine_constant_from_test_name(test_name) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/active_support/testing/constant_lookup.rb', line 34

def determine_constant_from_test_name(test_name)
  names = test_name.split "::"
  while names.size > 0 do
    names.last.sub!(/Test$/, "")
    begin
      constant = names.join("::").constantize
      break(constant) if yield(constant)
    rescue NoMethodError # subclass of NameError
      raise
    rescue NameError
      # Constant wasn't found, move on
    ensure
      names.pop
    end
  end
end