Sha256: c2b12042f341e49a08e72043f903901b71940da95333139ccd58f5dd097b3ea5
Contents?: true
Size: 1.72 KB
Versions: 1
Compression:
Stored size: 1.72 KB
Contents
require "pretty_console_output/version" require "pretty_console_output/color" require "pretty_console_output/theme" module PrettyConsoleOutput class Console def initialize(options={}) options[:theme] = {} if options[:theme].nil? options[:stdout] = $stdout if options[:stdout].nil? @color = Color.new(options[:stdout]) @theme = Theme.new(options[:theme]) end def puts(obj) $stdout.puts obj end def info(obj) icon = @color.colorize(" ☞ ", @theme.info_color) string = @color.colorize(obj.to_s, @theme.info_color) puts "#{icon} #{string}" end def log(obj) puts " #{@color.colorize(obj.to_s, @theme.log_color)}" end def data(obj) puts @color.colorize(" #{obj.to_s}".gsub(/\n/, "\n "), @theme.log_color) end def error(obj) icon = @color.colorize(" ✘ ", @theme.error_color) string = @color.colorize(obj.to_s, @theme.error_color) puts "#{icon} #{string}" end def done(obj) icon = @color.colorize(" √ ", @theme.done_color) string = @color.colorize(obj.to_s, @theme.done_color) puts "#{icon} #{string}" end def tag(obj) start_tag_time time = @color.colorize(elapsed_time_tag, @theme.tag_date_color) string = @color.colorize(obj, @theme.tag_text_color, bold: @theme.tag_bold, underscore: @theme.tag_underscore) puts "\n#{time} #{string}\n\n" end private def start_tag_time @start_tag_time ||= Time.now.to_i end def elapsed_time_tag elapsed_seconds = Time.now.to_i - start_tag_time ( elapsed_seconds / 60 ).to_s.rjust(2, '0') + ":" + ( elapsed_seconds % 60 ).to_s.rjust(2, '0') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pretty_console_output-0.9.0 | lib/pretty_console_output.rb |