instiki/vendor/rails/activesupport/lib/active_support/core_ext/name_error.rb

20 lines
552 B
Ruby
Raw Normal View History

2007-02-10 00:12:31 +01:00
# Add a +missing_name+ method to NameError instances.
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
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
end