#!/usr/bin/env ruby

require 'rainbow'

logo = <<EOF
███████╗ ██████╗██████╗ ██╗██████╗ ████████╗         
██╔════╝██╔════╝██╔══██╗██║██╔══██╗╚══██╔══╝         
███████╗██║     ██████╔╝██║██████╔╝   ██║   █████╗   
╚════██║██║     ██╔══██╗██║██╔═══╝    ██║   ╚════╝   
███████║╚██████╗██║  ██║██║██║        ██║            
╚══════╝ ╚═════╝╚═╝  ╚═╝╚═╝╚═╝        ╚═╝            
██████╗ ██╗   ██╗███╗   ██╗███╗   ██╗███████╗██████╗ 
██╔══██╗██║   ██║████╗  ██║████╗  ██║██╔════╝██╔══██╗
██████╔╝██║   ██║██╔██╗ ██║██╔██╗ ██║█████╗  ██████╔╝
██╔══██╗██║   ██║██║╚██╗██║██║╚██╗██║██╔══╝  ██╔══██╗
██║  ██║╚██████╔╝██║ ╚████║██║ ╚████║███████╗██║  ██║
╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═══╝╚═╝  ╚═══╝╚══════╝╚═╝  ╚═╝
EOF

def unikitty(i, frequency = 0.1)
	red = Math.sin(frequency*i + 0) * 127 + 128
	green = Math.sin(frequency*i + 2) * 100 + 128
	blue  = Math.sin(frequency*i + 4) * 127 + 128
	
	return [red, green, blue]
end

logo.each_char.with_index do |c, i|
	$stdout.write Rainbow(c).color(*unikitty(i % 55))
	sleep 0.005
end
