Exception: LoadError

Inherits:
Exception show all
Defined in:
lib/active_support/core_ext/load_error.rb

Constant Summary collapse

REGEXPS =
[
  /^no such file to load -- (.+)$/i,
  /^Missing \w+ (?:file\s*)?([^\s]+.rb)$/i,
  /^Missing API definition file in (.+)$/i,
  /^cannot load such file -- (.+)$/i,
]

Instance Method Summary collapse

Instance Method Details

#is_missing?(location) ⇒ Boolean

Returns true if the given path name (except perhaps for the “.rb” extension) is the missing file which caused the exception to be raised.

Returns:

  • (Boolean)


23
24
25
# File 'lib/active_support/core_ext/load_error.rb', line 23

def is_missing?(location)
  location.sub(/\.rb$/, '') == path.sub(/\.rb$/, '')
end

#pathObject

Returns the path which was unable to be loaded.



11
12
13
14
15
16
17
18
# File 'lib/active_support/core_ext/load_error.rb', line 11

def path
  @path ||= begin
    REGEXPS.find do |regex|
      message =~ regex
    end
    $1
  end
end