module Procore::Util

Collection of utility methods used within the gem.

Constants

COLOR_CODES

Public Class Methods

log_error(message, meta = {}) click to toggle source
# File lib/procore/util.rb, line 17
def self.log_error(message, meta = {})
  return if Procore.configuration.logger.nil?

  meta_string = meta.map do |key, value|
    "#{colorize(key, :red)}: #{colorize(value, :red, bold: true)};"
  end.join(" ")

  Procore.configuration.logger.info(
    "#{colorize('Procore', :red)} <<- " \
    "#{colorize(message.ljust(22), :red)} <<- #{meta_string}",
  )
end
log_info(message, meta = {}) click to toggle source
# File lib/procore/util.rb, line 4
def self.log_info(message, meta = {})
  return if Procore.configuration.logger.nil?

  meta_string = meta.map do |key, value|
    "#{colorize(key, :cyan)}: #{colorize(value, :cyan, bold: true)};"
  end.join(" ")

  Procore.configuration.logger.info(
    "#{colorize('Procore', :yellow)} <<- " \
    "#{colorize(message.ljust(22), :cyan)} <<- #{meta_string}",
  )
end

Private Class Methods

colorize(text, color, bold: false) click to toggle source
# File lib/procore/util.rb, line 30
def self.colorize(text, color, bold: false)
  mode = bold ? 1 : 0
  foreground = 30 + COLOR_CODES.fetch(color)
  background = 40 + COLOR_CODES.fetch(:default)

  "\033[#{mode};#{foreground};#{background}m#{text}\033[0m"
end