2007-02-10 00:12:31 +01:00
|
|
|
# Add a +missing_name+ method to NameError instances.
|
2007-12-21 08:48:59 +01:00
|
|
|
class NameError #:nodoc:
|
2007-02-10 00:12:31 +01:00
|
|
|
# Add a method to obtain the missing name from a NameError.
|
|
|
|
def missing_name
|
2009-12-01 02:38:34 +01:00
|
|
|
if /undefined local variable or method/ !~ message
|
|
|
|
$1 if /((::)?([A-Z]\w*)(::[A-Z]\w*)*)$/ =~ message
|
|
|
|
end
|
2007-02-10 00:12:31 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
# Was this exception raised because the given name was missing?
|
|
|
|
def missing_name?(name)
|
|
|
|
if name.is_a? Symbol
|
|
|
|
last_name = (missing_name || '').split('::').last
|
|
|
|
last_name == name.to_s
|
|
|
|
else
|
|
|
|
missing_name == name.to_s
|
|
|
|
end
|
|
|
|
end
|
2007-12-21 08:48:59 +01:00
|
|
|
end
|