Skip to content

abstract class Athena::Console::Helper
inherits Reference #

Contains ACON::Helper::Interface implementations that can be used to help with various tasks. Such as asking questions, customizing the output format, or generating tables.

This class also acts as a base type that implements common functionality between each helper.

Included modules

Athena::Console::Helper::Interface

Direct known subclasses

Athena::Console::Helper::Formatter Athena::Console::Helper::Question

Class methods#

.format_time(span : Time::Span) : String#

Formats the provided span of time as a human readable string.

ACON::Helper.format_time 10.seconds # => "10 secs"
ACON::Helper.format_time 4.minutes  # => "4 mins"
ACON::Helper.format_time 74.minutes # => "1 hr"

.format_time(seconds : Number) : String#

Formats the provided seconds as a human readable string.

ACON::Helper.format_time 10   # => "10 secs"
ACON::Helper.format_time 240  # => "4 mins"
ACON::Helper.format_time 4400 # => "1 hr"

.remove_decoration(formatter : ACON::Formatter::Interface, string : String) : String#

Returns a new string with all of its ANSI formatting removed.

.width(string : String) : Int32#

Returns the width of a string; where the width is how many character positions the string will use.

Todo

Support double width chars.

Methods#

#helper_set : ACON::Helper::HelperSet | ::Nil#

Returns the ACON::Helper::HelperSet related to self, if any.

#helper_set=(helper_set : ACON::Helper::HelperSet | Nil)#

Sets the ACON::Helper::HelperSet related to self.