lib/cutter/inspection.rb in cutter-0.5.3 vs lib/cutter/inspection.rb in cutter-0.5.4
- old
+ new
@@ -20,16 +20,17 @@
# For now inspect! method only may be used with two arguments (local_variables, binding)
# Binding is a Ruby class: http://www.ruby-doc.org/core/classes/Binding.html
def inspect! _binding = nil, &block
return true if Cutter::Inspection.quiet?
- raise ArgumentError, "Try inspect(binding) or inspect! {}", caller if (!block_given?&&!_binding)
+ raise ArgumentError, "Try inspect(binding) or inspect! {}", caller if (!block_given? && !_binding)
_binding ||= block.binding
- puts "method: `#{caller_method_name}'"
- puts %{ variables:}
- eval('local_variables',_binding).map do |lv|
- puts %{ #{lv}: #{eval(lv.to_s, _binding)} }
- end
+ puts %|method: `#{caller_method_name}'|
+ lvb = eval('local_variables',_binding)
+ puts %| variables: #{"[]" if lvb.empty?}|
+ lvb.map do |lv|
+ puts %| #{lv}: #{eval(lv.to_s, _binding)}|
+ end if lvb
yield if block_given?
end
def caller_method_name(level = 1)
caller[level][/`([^']*)'/,1].to_sym