INNER CODE UNIT · Ruby

self

busyloop/lolcat · lib/lolcat/lol.rb:69

  def self.println(str, defaults={}, opts={})
    opts.merge!(defaults)
    chomped = str.sub!(/\n$/, "")
    str.gsub! "\t", "        "
    opts[:animate] ? println_ani(str, opts, chomped) : println_plain(str, opts, chomped)
    puts if chomped
  end

  private

  def self.println_plain(str, defaults={}, opts={}, chomped)
    opts.merge!(defaults)
    set_mode(opts[:truecolor]) unless @paint_init
    filtered = str.scan(ANSI_ESCAPE)
    filtered.each_with_index do |c, i|
      color = rainbow(opts[:freq], @os+i/opts[:spread])
      if opts[:invert] then
        print c[0], Paint.color(nil, color), c[1], "\e[49m"

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…