lib/lll.rb in lll-1.13.1 vs lib/lll.rb in lll-1.13.2

- old
+ new

@@ -7,48 +7,50 @@ def lll msg = nil, &block Lll.lll msg, block end +$using_dumb_terminal = ENV['TERM'] == 'dumb' + module Lll def self.lll msg, block = nil - using_dumb_terminal = ENV['TERM'] == 'dumb' output_string = " " expression_value = 0 if block output_string << msg + ': ' if msg expression_string = block.call expression_value = eval(expression_string, block.binding) output_string << expression_string + ' = ' - if defined?(AwesomePrint) && !using_dumb_terminal + if defined?(AwesomePrint) && !$using_dumb_terminal output_string << expression_value.awesome_inspect << " \n" - elsif enumerable? expression_value + elsif display_on_separate_lines? expression_value output_string << " \n" expression_value.each { |e| output_string << ' ' << e.inspect << " \n" } else output_string << expression_value.inspect << " \n" end else output_string << msg if msg output_string << " \n" end - $stderr.puts format(output_string, !using_dumb_terminal) + $stderr.puts format(output_string, !$using_dumb_terminal) Rails.logger.debug(format(output_string)) if defined?(Rails) && Rails.logger expression_value end def self.format output_string, colorize = true string = output_string string = "\e[7m" + string + "\e[0m" if colorize - string + "lll: #{caller[2].to_s} #{Time.now.strftime('%X')}" + string + "lll: #{caller[2].to_s} #{Time.now.strftime('%X')} #{$using_dumb_terminal}" end - def self.enumerable? value - value.respond_to?(:each) && - !value.is_a?(String) && - (!defined? Nokogiri || - (!value.is_a?(Nokogiri::HTML::Document) && - !value.is_a?(Nokogiri::XML::Element))) + def self.display_on_separate_lines? value + value.respond_to?(:each) && !value.is_a?(String) && !nokogiri?(value) + end + + def self.nokogiri? value + return false unless defined? Nokogiri + return value.is_a?(Nokogiri::HTML::Document) || value.is_a?(Nokogiri::XML::Element) end end