class SQLColor

Constants

BLACK
BLUE
CYAN
GREEN
MAGENTA
RED
WHITE
YELLOW

Public Class Methods

apply(color_code, text, bold=false) click to toggle source
# File lib/tasks/sql_color.rb, line 24
def self.apply(color_code, text, bold=false)
  bold = bold ? ";1" : ""
  "\e[#{color_code}#{bold}m#{text}\e[0m"
end
colorize(sql) click to toggle source
# File lib/tasks/sql_color.rb, line 14
def self.colorize(sql)
  if sql.strip.start_with?('--')
    return apply(CYAN, sql)
  end
  sql = sql.gsub(/(CREATE|ALTER|TABLE|COLUMN|ADD|TYPE|BEGIN|TRANSACTION|COMMIT|GRANT|REVOKE| ON |INDEX|UPDATE|SET|WHERE)/){|s|apply(GREEN, s)}
  sql = sql.gsub(/(DROP)/){|s|apply(RED, s)}
  sql = sql.gsub(/("[^"]*")/){|s|apply(WHITE, s, bold=true)}
  return sql
end