blob: 2b617b0083f242aa08af3d2718d8b2d51c5e51be (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# Add a +missing_name+ method to NameError instances.
class NameError < StandardError
# Add a method to obtain the missing name from a NameError.
def missing_name
$1 if /((::)?([A-Z]\w*)(::[A-Z]\w*)*)$/ =~ message
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
end
|