Sha256: fc20af958a2de7415f417b92604a5854e5290aab1014091581e02f315857a18c
Contents?: true
Size: 1.3 KB
Versions: 5
Compression:
Stored size: 1.3 KB
Contents
# coding: utf-8 # frozen_string_literal: true module Stealth class Logger COLORS = ::Hash[ black: 30, red: 31, green: 32, yellow: 33, blue: 34, magenta: 35, cyan: 36, gray: 37, light_cyan: 96 ].freeze def self.color_code(code) COLORS.fetch(code) { raise(ArgumentError, "Color #{code} not supported.") } end def self.colorize(input, color:) "\e[#{color_code(color)}m#{input}\e[0m" end def self.log(topic:, message:) unless ENV['STEALTH_ENV'] == 'test' puts "#{print_topic(topic)} #{message}" end end def self.print_topic(topic) topic_string = "[#{topic}]" case topic.to_sym when :session colorize(topic_string, color: :green) when :previous_session colorize(topic_string, color: :yellow) when :facebook, :twilio colorize(topic_string, color: :blue) when :smooch colorize(topic_string, color: :magenta) when :alexa colorize(topic_string, color: :light_cyan) when :catch_all colorize(topic_string, color: :red) else colorize(topic_string, color: :gray) end end class << self alias_method :l, :log end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
stealth-1.1.6 | lib/stealth/logger.rb |
stealth-1.1.5 | lib/stealth/logger.rb |
stealth-1.1.4 | lib/stealth/logger.rb |
stealth-1.1.3 | lib/stealth/logger.rb |
stealth-1.1.2 | lib/stealth/logger.rb |