Sha256: 9425f95f46ab877f846725ed0a78357ef3041ee286baa6aa13b2a634ab706872

Contents?: true

Size: 855 Bytes

Versions: 4

Compression:

Stored size: 855 Bytes

Contents

module FixTSVConflict
  module Logging
    using Module.new {
      refine String do
        def red;    "\e[31m#{self}\e[0m"; end
        def green;  "\e[32m#{self}\e[0m"; end
        def yellow; "\e[33m#{self}\e[0m"; end
      end
    }

    def log(message, **options)
      if options[:no_newline]
        stderr.print message.chomp
      else
        stderr.puts message
      end
    end

    def info(message, **options)
      log message, options
    end

    def error(message, **options)
      log message.to_s.red
    end

    def warn(message, **options)
      log message.to_s.yellow
    end

    def notice(message, **options)
      log message.to_s.green
    end

    def dump(lines, **options)
      Array(lines).each do |line|
        log line.gsub(/^/, "  "), options
      end
    end

    def blank
      stderr.puts
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
fix_tsv_conflict-0.2.1 lib/fix_tsv_conflict/logging.rb
fix_tsv_conflict-0.2.0 lib/fix_tsv_conflict/logging.rb
fix_tsv_conflict-0.1.2 lib/fix_tsv_conflict/logging.rb
fix_tsv_conflict-0.1.1 lib/fix_tsv_conflict/logging.rb