Current section

Files

Jump to
bc_utils lib banner.ex
Raw

lib/banner.ex

defmodule BCUtils.Banner do
@moduledoc """
Provides functionality to display a startup banner.
"""
@spec display_banner(
service_name :: String.t(),
service_description :: String.t(),
shoutout :: String.t()
) :: :ok
def display_banner(service_name, service_description, shoutout) do
beam_section = beam_ascii_art()
campus_section = campus_ascii_art()
description_section = """
#{service_name}
#{service_description}
#{shoutout}
"""
show_banner(beam_section, campus_section, description_section)
end
defp beam_ascii_art do
"""
██████╗ ███████╗ █████╗ ███╗ ███╗
██╔══██╗██╔════╝██╔══██╗████╗ ████║
██████╔╝█████╗ ███████║██╔████╔██║
██╔══██╗██╔══╝ ██╔══██║██║╚██╔╝██║
██████╔╝███████╗██║ ██║██║ ╚═╝ ██║
╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝
"""
end
defp campus_ascii_art do
"""
██████╗ █████╗ ███╗ ███╗██████╗ ██╗ ██╗███████╗
██╔════╝██╔══██╗████╗ ████║██╔══██╗██║ ██║██╔════╝
██║ ███████║██╔████╔██║██████╔╝██║ ██║███████╗
██║ ██╔══██║██║╚██╔╝██║██╔═══╝ ██║ ██║╚════██║
╚██████╗██║ ██║██║ ╚═╝ ██║██║ ╚██████╔╝███████║
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝
"""
end
defp show_banner(beam_section, campus_section, description_section) do
IO.puts(beam_section)
IO.puts(campus_section)
IO.puts(description_section)
end
end