Sha256: d49703e72ea15980fbf10128a9effe68a0b8e88ec072150ccc0d0a8687fdb369
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
# Used in debugging to display an expression and its value. Examples: # x = 1 # lll{'x'} #=> x = 1 # lll("a message"){'x'} #=> a message: x = 1 # lll "a message" #=> a message # Enumerable members are output on separate lines def lll msg = nil, &block s = " " expression_string = '' expression_value = 0 if block_given? s << msg + ': ' if msg expression_string = block.call expression_value = eval(expression_string, block) s << expression_string + ' = ' if expression_value.respond_to?(:each) && !expression_value.is_a?(String) s << " \n" expression_value.each { |e| s << ' ' << e.inspect << " \n" } else s << expression_value.inspect << " \n" end else s << msg if msg s << " \n" end color_code_for_value = "\e[7m" color_code_for_location = "" stop_color_code = "\e[0m" s = color_code_for_value + s + stop_color_code s << color_code_for_location + ' ' + caller.first.to_s + ' ' + Time.now.strftime('%X') + ' ' + stop_color_code Kernel.puts s Rails.logger.debug s if defined?(Rails) && Rails.logger end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
mwilden-lll-1.0.0 | lib/lll.rb |
lll-1.0.0 | lib/lll.rb |