Module: Sevgi::Function::UI

Included in:
Sevgi::Function
Defined in:
lib/sevgi/function/ui.rb

Overview

Terminal status methods promoted to Sevgi::F. This module organizes the facade implementation; it is not a consumer mixin contract.

Instance Method Summary collapse

Instance Method Details

#do(message) ⇒ nil

Reports an in-progress status message.

Parameters:

  • message (Object)

    status message

Returns:

  • (nil)


11
# File 'lib/sevgi/function/ui.rb', line 11

def do(message) = warn("#{cyan("···")} #{bold(message)}")

#mayok(message) ⇒ nil

Reports an optional neutral status message unless SILENT is set.

Parameters:

  • message (Object)

    status message

Returns:

  • (nil)


16
# File 'lib/sevgi/function/ui.rb', line 16

def mayok(message) = (warn("  #{dim("·")} #{dim(message)}") unless ENV["SILENT"])

#notok(message) ⇒ nil

Reports a failure status message.

Parameters:

  • message (Object)

    status message

Returns:

  • (nil)


21
# File 'lib/sevgi/function/ui.rb', line 21

def notok(message) = warn("  #{red("")} #{bold(message)}")

#ok(message) ⇒ nil

Reports a success status message.

Parameters:

  • message (Object)

    status message

Returns:

  • (nil)


26
# File 'lib/sevgi/function/ui.rb', line 26

def ok(message) = warn("  #{cyan("")} #{bold(message)}")

#ui(message) { ... } ⇒ Object

Reports a status message according to the yielded value.

Parameters:

  • message (Object)

    status message

Yields:

  • computes the status value

Yield Returns:

  • (Object)

Returns:

  • (Object)

    yielded value



33
# File 'lib/sevgi/function/ui.rb', line 33

def ui(message) = yield.tap { it ? ok(message) : notok(message) }