Module: Bovem::ConsoleMethods::Logging
Overview
Methods for logging activities to the user.
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- DEFAULT_STATUSES =
Available statuses for tasks.
{ ok: {label: " OK ", color: "bright green"}, pass: {label: "PASS", color: "bright cyan"}, warn: {label: "WARN", color: "bright yellow"}, fail: {label: "FAIL", color: "bright red"}, skip: {label: "SKIP", color: "gray"} }.freeze
Instance Method Summary collapse
-
#begin(message, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true) ⇒ Object
Writes a message prepending a green banner.
-
#debug(message, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true) ⇒ Object
Writes a message prepending a magenta banner.
-
#error(message, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true) ⇒ Object
Writes a message prepending a red banner.
-
#fatal(message, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, return_code: -1,, print: true) ⇒ Object
Writes a message prepending a red banner and then quits the application.
-
#get_banner(label, base_color, full_colored: false, bracket_color: "blue", brackets: ["[", "]"]) ⇒ String
Gets a banner for the messages.
-
#info(message, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true, banner: []) ⇒ Object
Writes a message prepending a cyan banner.
-
#progress(current, total, type: :list, precision: 0) ⇒ String
Formats a progress for pretty printing.
-
#status(status, plain: false, go_up: true, right: true, print: true) ⇒ Array
Writes a status to the output.
-
#warn(message, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true) ⇒ Object
Writes a message prepending a yellow banner.
-
#write(message, suffix: "\n", indented: true, wrap: false, plain: false, print: true) ⇒ String
Writes a message.
-
#write_banner_aligned(message, suffix: "\n", indented: true, wrap: false, plain: false, print: true) ⇒ String
Writes a message, aligning to a call with an empty banner.
Instance Method Details
#begin(message, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true) ⇒ Object
Writes a message prepending a green banner.
405 406 407 408 409 |
# File 'lib/bovem/console.rb', line 405 def begin(, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true) = ("*", "bright green", full_colored: full_colored) = indent(, ? 0 : indented) write( + " " + , suffix: suffix, indented: ? indented : 0, wrap: wrap, plain: plain, print: print) end |
#debug(message, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true) ⇒ Object
Writes a message prepending a magenta banner.
465 466 467 468 469 470 471 472 473 474 475 476 477 |
# File 'lib/bovem/console.rb', line 465 def debug(, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true) info( , suffix: suffix, indented: indented, wrap: wrap, plain: plain, indented_banner: , full_colored: full_colored, print: print, banner: ["D", "bright magenta"] ) end |
#error(message, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true) ⇒ Object
Writes a message prepending a red banner.
519 520 521 522 523 524 525 526 527 528 529 530 531 |
# File 'lib/bovem/console.rb', line 519 def error(, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true) info( , suffix: suffix, indented: indented, wrap: wrap, plain: plain, indented_banner: , full_colored: full_colored, print: print, banner: ["E", "bright red"] ) end |
#fatal(message, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, return_code: -1,, print: true) ⇒ Object
Writes a message prepending a red banner and then quits the application.
425 426 427 428 |
# File 'lib/bovem/console.rb', line 425 def fatal(, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, return_code: -1, print: true) error(, suffix: suffix, indented: indented, wrap: wrap, plain: plain, indented_banner: , full_colored: full_colored, print: print) Kernel.exit(return_code.to_integer(-1)) end |
#get_banner(label, base_color, full_colored: false, bracket_color: "blue", brackets: ["[", "]"]) ⇒ String
Gets a banner for the messages.
368 369 370 371 372 373 |
# File 'lib/bovem/console.rb', line 368 def (label, base_color, full_colored: false, bracket_color: "blue", brackets: ["[", "]"]) label = label.rjust(Bovem::Console., " ") brackets = brackets.ensure_array bracket_color = base_color if full_colored sprintf("{mark=%s}%s{mark=%s}%s{/mark}%s{/mark}", bracket_color.parameterize, brackets[0], base_color.parameterize, label, brackets[1]) end |
#info(message, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true, banner: []) ⇒ Object
Writes a message prepending a cyan banner.
444 445 446 447 448 449 450 |
# File 'lib/bovem/console.rb', line 444 def info(, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true, banner: []) = .ensure_array(no_duplicates: true, compact: true, flatten: true) = ["I", "bright cyan"] if .blank? = ([0], [1], full_colored: full_colored) = indent(, ? 0 : indented) write( + " " + , suffix: suffix, indented: ? indented : 0, wrap: wrap, plain: plain, print: print) end |
#progress(current, total, type: :list, precision: 0) ⇒ String
Formats a progress for pretty printing.
382 383 384 385 386 387 388 389 390 |
# File 'lib/bovem/console.rb', line 382 def progress(current, total, type: :list, precision: 0) if type == :list compute_list_progress(current, total) else precision = [0, precision].max result = total == 0 ? 100 : (100 * (current.to_f / total)) sprintf("%0.#{precision}f %%", result.round(precision)).rjust(5 + (precision > 0 ? precision + 1 : 0)) end end |
#status(status, plain: false, go_up: true, right: true, print: true) ⇒ Array
Writes a status to the output. Valid values are :ok
, :pass
, :fail
, :warn
, skip
.
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 |
# File 'lib/bovem/console.rb', line 340 def status(status, plain: false, go_up: true, right: true, print: true) statuses = DEFAULT_STATUSES.dup statuses.default = statuses[:ok] rv = statuses[status] if print = (rv[:label], rv[:color]) if right Kernel.puts(format_right( + " ", width: true, go_up: go_up, plain: plain)) else Kernel.puts(format( + " ", suffix: "\n", indent: true, wrap: true, plain: plain)) end end rv end |
#warn(message, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true) ⇒ Object
Writes a message prepending a yellow banner.
492 493 494 495 496 497 498 499 500 501 502 503 504 |
# File 'lib/bovem/console.rb', line 492 def warn(, suffix: "\n", indented: true, wrap: false, plain: false, indented_banner: false, full_colored: false, print: true) info( , suffix: suffix, indented: indented, wrap: wrap, plain: plain, indented_banner: , full_colored: full_colored, print: print, banner: ["W", "bright yellow"] ) end |
#write(message, suffix: "\n", indented: true, wrap: false, plain: false, print: true) ⇒ String
Writes a message.
303 304 305 306 307 |
# File 'lib/bovem/console.rb', line 303 def write(, suffix: "\n", indented: true, wrap: false, plain: false, print: true) rv = format(, suffix: suffix, indented: indented, wrap: wrap, plain: plain) Kernel.puts(rv) if print rv end |
#write_banner_aligned(message, suffix: "\n", indented: true, wrap: false, plain: false, print: true) ⇒ String
Writes a message, aligning to a call with an empty banner.
321 322 323 324 325 326 327 328 329 330 |
# File 'lib/bovem/console.rb', line 321 def (, suffix: "\n", indented: true, wrap: false, plain: false, print: true) write( (" " * (Bovem::Console. + 3)) + .ensure_string, suffix: suffix, indented: indented, wrap: wrap, plain: plain, print: print ) end |