module AwesomePrint::Colorize

Public Instance Methods

colorize(str, type) click to toggle source

Pick the color and apply it to the given string as necessary.

# File lib/awesome_print/colorize.rb, line 8
def colorize(str, type)
  str = CGI.escapeHTML(str) if options[:html]
  if options[:plain] || !options[:color][type] || !inspector.colorize?
    str
  #
  # Check if the string color method is defined by awesome_print and accepts
  # html parameter or it has been overriden by some gem such as colorize.
  #
  elsif str.method(options[:color][type]).arity == -1 # Accepts html parameter.
    str.send(options[:color][type], options[:html])
  else
    str = %Q|<kbd style="color:#{options[:color][type]}">#{str}</kbd>| if options[:html]
    str.send(options[:color][type])
  end
end