mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
a930f5ba06
### Summary There was an issues when using `safe_constantize` on a string that has the wrong case. File `em.rb` defines `EM`. `"Em".safe_constantize` causes a little confusion with the autoloader. The autoloader finds file "em.rb", expecting it to define `Em`, but `Em` is not defined. The autoloader raises a `LoadError`, which is good, But `safe_constantize` is defined to return `nil` when a class is not found. ### Before ``` "Em".safe_constantize LoadError: Unable to autoload constant Em, \ expected rails/activesupport/test/autoloading_fixtures/em.rb to define it ``` ### After ``` "Em".safe_constantize # => nil ```
4 lines
172 B
Ruby
4 lines
172 B
Ruby
# frozen_string_literal: true
|
|
|
|
# raises a load error typical of the dynamic code that manually raises load errors
|
|
raise LoadError, "required gem not present kind of error"
|