Module: Everywhere::UI
- Defined in:
- lib/everywhere/ui.rb
Overview
Terminal output helpers. Colors follow the informal standard: on when stdout is a TTY or CLICOLOR_FORCE=1, always off when NO_COLOR is set.
Class Method Summary collapse
- .bad(msg) ⇒ Object
- .bold(t) ⇒ Object
- .color? ⇒ Boolean
- .cyan(t) ⇒ Object
- .die!(msg) ⇒ Object
- .dim(t) ⇒ Object
- .green(t) ⇒ Object
- .ok(msg) ⇒ Object
- .paint(text, *codes) ⇒ Object
- .red(t) ⇒ Object
- .step(msg) ⇒ Object
- .success(msg) ⇒ Object
- .warn(msg) ⇒ Object
- .yellow(t) ⇒ Object
Class Method Details
.bad(msg) ⇒ Object
29 |
# File 'lib/everywhere/ui.rb', line 29 def bad(msg) = puts("#{red("✗")} #{msg}") |
.bold(t) ⇒ Object
20 |
# File 'lib/everywhere/ui.rb', line 20 def bold(t) = paint(t, 1) |
.color? ⇒ Boolean
9 10 11 12 13 14 |
# File 'lib/everywhere/ui.rb', line 9 def color? return false if ENV["NO_COLOR"] return true if ENV["CLICOLOR_FORCE"] == "1" $stdout.tty? end |
.cyan(t) ⇒ Object
25 |
# File 'lib/everywhere/ui.rb', line 25 def cyan(t) = paint(t, 36) |
.die!(msg) ⇒ Object
33 34 35 |
# File 'lib/everywhere/ui.rb', line 33 def die!(msg) abort "#{red("✗")} #{red(msg)}" end |
.dim(t) ⇒ Object
21 |
# File 'lib/everywhere/ui.rb', line 21 def dim(t) = paint(t, 2) |
.green(t) ⇒ Object
23 |
# File 'lib/everywhere/ui.rb', line 23 def green(t) = paint(t, 32) |
.ok(msg) ⇒ Object
28 |
# File 'lib/everywhere/ui.rb', line 28 def ok(msg) = puts("#{green("✓")} #{msg}") |
.paint(text, *codes) ⇒ Object
16 17 18 |
# File 'lib/everywhere/ui.rb', line 16 def paint(text, *codes) color? ? "\e[#{codes.join(";")}m#{text}\e[0m" : text.to_s end |
.red(t) ⇒ Object
22 |
# File 'lib/everywhere/ui.rb', line 22 def red(t) = paint(t, 31) |
.step(msg) ⇒ Object
27 |
# File 'lib/everywhere/ui.rb', line 27 def step(msg) = puts("#{cyan("→")} #{msg}") |
.success(msg) ⇒ Object
31 |
# File 'lib/everywhere/ui.rb', line 31 def success(msg) = puts("#{green("✓")} #{bold(msg)}") |
.warn(msg) ⇒ Object
30 |
# File 'lib/everywhere/ui.rb', line 30 def warn(msg) = puts("#{yellow("!")} #{msg}") |
.yellow(t) ⇒ Object
24 |
# File 'lib/everywhere/ui.rb', line 24 def yellow(t) = paint(t, 33) |