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/progress.rb,
lib/cli/ui/terminal.rb,
lib/cli/ui/formatter.rb,
lib/cli/ui/truncater.rb,
lib/cli/ui/spinner/async.rb,
lib/cli/ui/stdout_router.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 Classes: Color, Formatter, Glyph, Progress
Constant Summary collapse
- SpinGroup =
Convenience accessor to
CLI::UI::Spinner::SpinGroup
Spinner::SpinGroup
- VERSION =
"1.2.3"
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
62 63 64 |
# File 'lib/cli/ui.rb', line 62 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
51 52 53 |
# File 'lib/cli/ui.rb', line 51 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.
179 180 181 |
# File 'lib/cli/ui.rb', line 179 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.
169 170 171 |
# File 'lib/cli/ui.rb', line 169 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.
95 96 97 |
# File 'lib/cli/ui.rb', line 95 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
106 107 108 |
# File 'lib/cli/ui.rb', line 106 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
25 26 27 |
# File 'lib/cli/ui.rb', line 25 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
138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/cli/ui.rb', line 138 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
157 158 159 160 161 162 163 |
# File 'lib/cli/ui.rb', line 157 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
36 37 38 39 40 41 42 43 |
# File 'lib/cli/ui.rb', line 36 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)
74 75 76 77 78 79 |
# File 'lib/cli/ui.rb', line 74 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
117 118 119 |
# File 'lib/cli/ui.rb', line 117 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
128 129 130 |
# File 'lib/cli/ui.rb', line 128 def self.with_frame_color(color, &block) CLI::UI::Frame.with_frame_color_override(color, &block) end |