Module: Sevgi::Function::UI

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

Overview

Small terminal status helpers used by build and release tasks.

Instance Method Summary collapse

Instance Method Details

#do(message) ⇒ nil

Reports an in-progress status message.

Parameters:

  • message (Object)

    status message

Returns:

  • (nil)


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

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)


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

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)


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

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

#ok(message) ⇒ nil

Reports a success status message.

Parameters:

  • message (Object)

    status message

Returns:

  • (nil)


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

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



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

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