Class: Captive::UI::Banner

Inherits:
Object
  • Object
show all
Defined in:
lib/captive/ui/banner.rb

Overview

L'enseigne posée en haut d'une session interactive — console ou shell.

Elle ne sert à rien d'autre qu'à dire où l'on vient d'atterrir : une console distante ressemble à s'y méprendre à un terminal local, et on s'y croit chez soi. Le nom de l'app à côté de l'enseigne est le seul vrai renseignement de l'affichage.

Constant Summary collapse

ART =

Chaque lettre est tracée sur une grille de cinq lignes, pleins uniquement : les caractères de filet donnaient des angles bricolés à cette taille, là où un pixel plein n'a pas de forme à rater. Les deux signes du logo y sont — le / à la place du I, et le A sans barre, qui est le V retourné.

<<~ART
  ████   █   ████ █████     █ █   █ ████
  █     █ █  █  █   █      █  █   █ █
  █     █ █  ████   █     █   █   █ ███
  █    █   █ █      █    █     █ █  █
  ████ █   █ █      █   █       █   ████
ART

Instance Method Summary collapse

Constructor Details

#initialize(output: $stdout, paint: Pastel.new) ⇒ Banner

Returns a new instance of Banner.



25
26
27
28
# File 'lib/captive/ui/banner.rb', line 25

def initialize(output: $stdout, paint: Pastel.new)
  @output = output
  @paint  = paint
end

Instance Method Details

#show(app) ⇒ Object



30
31
32
33
34
# File 'lib/captive/ui/banner.rb', line 30

def show(app)
  @output.puts(@paint.cyan(ART))
  @output.puts(@paint.dim("  #{app}"))
  @output.puts
end