lib/cutter/inspection.rb in cutter-0.8.5 vs lib/cutter/inspection.rb in cutter-0.8.6
- old
+ new
@@ -41,11 +41,18 @@
self_inspection = eval('self.inspect', _binding) if options.include? :self
# Basic info
method_name = eval('__method__', _binding)
class_name = eval('self.class', _binding)
-
+
+ if (meth = method(method_name.to_sym)).respond_to? :source_location
+ source_path, source_number = meth.source_location
+ end
+
puts "\n%s `%s' %s" % ['method:'.to_colorized_string(:method), method_name.to_colorized_string(:method_name), ('(maximal tracing)' if max)]
+
+ puts " %s %s:%s" % ['source:'.to_colorized_string(:source), source_path.dup.to_colorized_string(:source_path), source_number.to_s.to_colorized_string(:source_number)] if source_path && source_number
+
puts " %s %s" % ['called from class:'.to_colorized_string(:called_from), class_name.to_colorized_string(:class_name)]
# Local Variables
lvb = eval('local_variables',_binding)
puts " %s %s" % ['local_variables:'.to_colorized_string(:lv), ("[]" if lvb.empty?)]