class Really::Logger

Attributes

quiet[RW]
verbose[RW]

Public Class Methods

new() click to toggle source
# File lib/really/logger.rb, line 5
def initialize
  $stdout.sync = true
  @verbose = false
  @quiet = false
end

Public Instance Methods

debug(message, options = {}) click to toggle source
# File lib/really/logger.rb, line 27
def debug(message, options = {})
  default_options = { header: 'debug:', header_color: :pink }
  options = default_options.merge options
  log message, options if @verbose
end
error(message, options = {}) click to toggle source
# File lib/really/logger.rb, line 15
def error(message, options = {})
  default_options = { header: 'error:', header_color: :red, override_quiet: true }
  options = default_options.merge options
  log message, options
end
status(message, options = {}) click to toggle source
# File lib/really/logger.rb, line 11
def status(message, options = {})
  log message, options
end
warning(message, options = {}) click to toggle source
# File lib/really/logger.rb, line 21
def warning(message, options = {})
  default_options = { header: 'warning:', header_color: :yellow }
  options = default_options.merge options
  log message, options
end

Private Instance Methods

color_str(str, color_code) click to toggle source
# File lib/really/logger.rb, line 61
def color_str(str, color_code)
  return nil if str.nil? || str.empty?
  "\e[#{color_code}m#{str}\e[0m"
end
green(str) click to toggle source
# File lib/really/logger.rb, line 49
def green(str)
  color_str(str, 32)
end
log(message, options = {}) click to toggle source
# File lib/really/logger.rb, line 35
def log(message, options = {})
  default_options = { header: nil, header_color: :yellow, override_quiet: false }
  options = default_options.merge options

  options[:header] = '    -->' if options[:header] == :arrow
  options[:header] = self.send options[:header_color], options[:header] if options[:header_color]

  puts "#{"#{options[:header]} " if options[:header]}#{message}" unless @quiet && !options[:override_quiet]
end
pink(str) click to toggle source
# File lib/really/logger.rb, line 57
def pink(str)
  color_str(str, 35)
end
red(str) click to toggle source
# File lib/really/logger.rb, line 45
def red(str)
  color_str(str, 31)
end
yellow(str) click to toggle source
# File lib/really/logger.rb, line 53
def yellow(str)
  color_str(str, 33)
end