Module: CLI::UI
- Defined in:
- lib/cli/ui.rb,
lib/cli/ui/box.rb,
lib/cli/ui/ansi.rb,
lib/cli/ui/color.rb,
lib/cli/ui/frame.rb,
lib/cli/ui/glyph.rb,
lib/cli/ui/prompt.rb,
lib/cli/ui/spinner.rb,
lib/cli/ui/version.rb,
lib/cli/ui/widgets.rb,
lib/cli/ui/progress.rb,
lib/cli/ui/terminal.rb,
lib/cli/ui/formatter.rb,
lib/cli/ui/truncater.rb,
lib/cli/ui/widgets/base.rb,
lib/cli/ui/spinner/async.rb,
lib/cli/ui/stdout_router.rb,
lib/cli/ui/widgets/status.rb,
lib/cli/ui/spinner/spin_group.rb,
lib/cli/ui/prompt/options_handler.rb,
lib/cli/ui/prompt/interactive_options.rb
Defined Under Namespace
Modules: ANSI, Box, Frame, Prompt, Spinner, StdoutRouter, Terminal, Truncater, Widgets Classes: Color, Formatter, Glyph, Progress
Constant Summary collapse
- SpinGroup =
Convenience accessor to
CLI::UI::Spinner::SpinGroup
Spinner::SpinGroup
- VERSION =
"1.3.0"
Class Method Summary collapse
-
.ask(question, **kwargs) ⇒ Object
Conviencence Method for
CLI::UI::Prompt.ask
. -
.confirm(question, **kwargs) ⇒ Object
Conviencence Method for
CLI::UI::Prompt.confirm
. -
.enable_color=(bool) ⇒ Object
Turn colour output in Formatter on or off.
-
.enable_color? ⇒ Boolean
Check whether colour is enabled in Formatter output.
-
.fmt(input, enable_color: enable_color?) ) ⇒ Object
Conviencence Method to format text using
CLI::UI::Formatter.format
CheckCLI::UI::Formatter::SGR_MAP
for available formatting options. -
.frame(*args, &block) ⇒ Object
Conviencence Method for
CLI::UI::Frame.open
. -
.glyph(handle) ⇒ Object
Glyph resolution using
CLI::UI::Glyph.lookup
Look at the method signature forGlyph.lookup
for more details. -
.log_output_to(path) ⇒ Object
Duplicate output to a file path.
-
.raw ⇒ Object
Disable all framing within a block.
-
.resolve_color(input) ⇒ Object
Color resolution using
CLI::UI::Color.lookup
Will lookup usingColor.lookup
if a symbol, otherwise we assume it is a valid color and return it. -
.resolve_text(input, truncate_to: nil) ⇒ Object
Conviencence Method to resolve text using
CLI::UI::Formatter.format
CheckCLI::UI::Formatter::SGR_MAP
for available formatting options. -
.spinner(*args, &block) ⇒ Object
Conviencence Method for
CLI::UI::Spinner.spin
. -
.with_frame_color(color, &block) ⇒ Object
Conviencence Method to override frame color using
CLI::UI::Frame.with_frame_color
.
Class Method Details
.ask(question, **kwargs) ⇒ Object
Conviencence Method for CLI::UI::Prompt.ask
Attributes
-
question
- question to ask -
kwargs
- arugments forPrompt.ask
63 64 65 |
# File 'lib/cli/ui.rb', line 63 def self.ask(question, **kwargs) CLI::UI::Prompt.ask(question, **kwargs) end |
.confirm(question, **kwargs) ⇒ Object
Conviencence Method for CLI::UI::Prompt.confirm
Attributes
-
question
- question to confirm
52 53 54 |
# File 'lib/cli/ui.rb', line 52 def self.confirm(question, **kwargs) CLI::UI::Prompt.confirm(question, **kwargs) end |
.enable_color=(bool) ⇒ Object
Turn colour output in Formatter on or off.
Attributes
-
bool
- true or false; enable or disable colour.
180 181 182 |
# File 'lib/cli/ui.rb', line 180 def self.enable_color=(bool) @enable_color = !!bool end |
.enable_color? ⇒ Boolean
Check whether colour is enabled in Formatter output. By default, colour is enabled when STDOUT is a TTY; that is, when output has not been redirected to another program or to a file.
170 171 172 |
# File 'lib/cli/ui.rb', line 170 def self.enable_color? @enable_color end |
.fmt(input, enable_color: enable_color?) ) ⇒ Object
Conviencence Method to format text using CLI::UI::Formatter.format
Check CLI::UI::Formatter::SGR_MAP
for available formatting options
Attributes
-
input
- input to format
Options
-
enable_color
- should color be used? default to true unless output is redirected.
96 97 98 |
# File 'lib/cli/ui.rb', line 96 def self.fmt(input, enable_color: enable_color?) CLI::UI::Formatter.new(input).format(enable_color: enable_color) end |
.frame(*args, &block) ⇒ Object
Conviencence Method for CLI::UI::Frame.open
Attributes
-
args
- arguments forFrame.open
-
block
- block forFrame.open
107 108 109 |
# File 'lib/cli/ui.rb', line 107 def self.frame(*args, &block) CLI::UI::Frame.open(*args, &block) end |
.glyph(handle) ⇒ Object
Glyph resolution using CLI::UI::Glyph.lookup
Look at the method signature for Glyph.lookup
for more details
Attributes
-
handle
- handle of the glyph to resolve
26 27 28 |
# File 'lib/cli/ui.rb', line 26 def self.glyph(handle) CLI::UI::Glyph.lookup(handle) end |
.log_output_to(path) ⇒ Object
Duplicate output to a file path
Attributes
-
path
- path to duplicate output to
139 140 141 142 143 144 145 146 147 148 149 150 |
# File 'lib/cli/ui.rb', line 139 def self.log_output_to(path) if CLI::UI::StdoutRouter.duplicate_output_to raise "multiple logs not allowed" end CLI::UI::StdoutRouter.duplicate_output_to = File.open(path, 'w') yield ensure if file_descriptor = CLI::UI::StdoutRouter.duplicate_output_to file_descriptor.close CLI::UI::StdoutRouter.duplicate_output_to = nil end end |
.raw ⇒ Object
Disable all framing within a block
Attributes
-
block
- block in which to disable frames
158 159 160 161 162 163 164 |
# File 'lib/cli/ui.rb', line 158 def self.raw prev = Thread.current[:no_cliui_frame_inset] Thread.current[:no_cliui_frame_inset] = true yield ensure Thread.current[:no_cliui_frame_inset] = prev end |
.resolve_color(input) ⇒ Object
Color resolution using CLI::UI::Color.lookup
Will lookup using Color.lookup
if a symbol, otherwise we assume it is a valid color and return it
Attributes
-
input
- color to resolve
37 38 39 40 41 42 43 44 |
# File 'lib/cli/ui.rb', line 37 def self.resolve_color(input) case input when Symbol CLI::UI::Color.lookup(input) else input end end |
.resolve_text(input, truncate_to: nil) ⇒ Object
Conviencence Method to resolve text using CLI::UI::Formatter.format
Check CLI::UI::Formatter::SGR_MAP
for available formatting options
Attributes
-
input
- input to format -
truncate_to
- number of characters to truncate the string to (or nil)
75 76 77 78 79 80 |
# File 'lib/cli/ui.rb', line 75 def self.resolve_text(input, truncate_to: nil) return input if input.nil? formatted = CLI::UI::Formatter.new(input).format return formatted unless truncate_to return CLI::UI::Truncater.call(formatted, truncate_to) end |
.spinner(*args, &block) ⇒ Object
Conviencence Method for CLI::UI::Spinner.spin
Attributes
-
args
- arguments forSpinner.open
-
block
- block forSpinner.open
118 119 120 |
# File 'lib/cli/ui.rb', line 118 def self.spinner(*args, &block) CLI::UI::Spinner.spin(*args, &block) end |
.with_frame_color(color, &block) ⇒ Object
Conviencence Method to override frame color using CLI::UI::Frame.with_frame_color
Attributes
-
color
- color to override to -
block
- block forFrame.with_frame_color_override
129 130 131 |
# File 'lib/cli/ui.rb', line 129 def self.with_frame_color(color, &block) CLI::UI::Frame.with_frame_color_override(color, &block) end |