require "launchy" require_relative "../lib/crys" module Crys class ServerRunner SPLASH_1 = <<-HEREDOC ▄████▄ ██▀███ ▓██ ██▓ ██████ ██████ ██▓▄▄▄█████▓▓█████ ▒██▀ ▀█ ▓██ ▒ ██▒ ▒██ ██▒▒██ ▒ ▒██ ▒ ▓██▒▓ ██▒ ▓▒▓█ ▀ ▒▓█ ▄ ▓██ ░▄█ ▒ ▒██ ██░░ ▓██▄ ░ ▓██▄ ▒██▒▒ ▓██░ ▒░▒███ ▒▓▓▄ ▄██▒▒██▀▀█▄ ░ ▐██▓░ ▒ ██▒ ▒ ██▒░██░░ ▓██▓ ░ ▒▓█ ▄ ▒ ▓███▀ ░░██▓ ▒██▒ ░ ██▒▓░▒██████▒▒▒██████▒▒░██░ ▒██▒ ░ ░▒████▒ ░ ░▒ ▒ ░░ ▒▓ ░▒▓░ ██▒▒▒ ▒ ▒▓▒ ▒ ░▒ ▒▓▒ ▒ ░░▓ ▒ ░░ ░░ ▒░ ░ ░ ▒ ░▒ ░ ▒░ ▓██ ░▒░ ░ ░▒ ░ ░░ ░▒ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░░ ░ ▒ ▒ ░░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ HEREDOC SPLASH_2 = <<-HEREDOC _/_/_/ _/_/_/ _/ _/ _/ _/ _/_/ _/ _/ _/_/_/ _/ _/_/_/_/ _/_/ _/ _/_/ _/ _/ _/_/ _/_/ _/ _/ _/_/_/_/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/_/_/ _/ _/_/_/ _/_/_/ _/_/_/ _/ _/_/ _/_/_/ _/ _/_/ HEREDOC SPLASH_3 = <<-HEREDOC @@@@@@@ @@@@@@@ @@@ @@@ @@@@@@ @@@@@@ @@@ @@@@@@@ @@@@@@@@ @@@@@@@@ @@@@@@@@ @@@ @@@ @@@@@@@ @@@@@@@ @@@ @@@@@@@ @@@@@@@@ !@@ @@! @@@ @@! !@@ !@@ !@@ @@! @@! @@! !@! !@! @!@ !@! @!! !@! !@! !@! !@! !@! !@! @!@!!@! !@!@! !!@@!! !!@@!! !!@ @!! @!!!:! !!! !!@!@! @!!! !!@!!! !!@!!! !!! !!! !!!!!: :!! !!: :!! !!: !:! !:! !!: !!: !!: :!: :!: !:! :!: !:! !:! :!: :!: :!: ::: ::: :: ::: :: :::: :: :::: :: :: :: :: :::: :: :: : : : : : :: : : :: : : : : : :: :: HEREDOC SPLASH = [SPLASH_1, SPLASH_2, SPLASH_3] def initialize(server_class:, root:, section:) @root = File.expand_path root @server = server_class.new(root: root) @section = section end def serve puts "" puts SPLASH.sample puts "Hello mms to \e[1m" + section + "\e[22m" puts "Serving from: " + root puts "" server.start end private attr_reader :root, :server, :section end end