Module: Arborist::CLI::Subcommand
- Defined in:
- lib/arborist/cli.rb
Overview
Convenience module for subcommand registration syntax sugar.
Class Method Summary collapse
-
.display_table(header, rows) ⇒ Object
Output a table with the given
header(an array) androws(an array of arrays). -
.error_string(string) ⇒ Object
Return the specified
stringin the ‘error’ ANSI color. -
.exit_now!(message, exit_code = 1) ⇒ Object
Exit with the specified
exit_codeafter printing the givenmessage. -
.extended(mod) ⇒ Object
Extension callback – register the extending object as a subcommand.
-
.headline_string(string) ⇒ Object
Return the specified
stringin the ‘headline’ ANSI color. -
.help_now!(message = nil) ⇒ Object
Exit with a helpful
messageand display the usage. -
.highlight_string(string) ⇒ Object
Return the specified
stringin the ‘highlight’ ANSI color. -
.hl ⇒ Object
Return the global Pastel object for convenient formatting, color, etc.
-
.prompt ⇒ Object
Get the prompt (a TTY::Prompt object).
-
.success_string(string) ⇒ Object
Return the specified
stringin the ‘success’ ANSI color. -
.unless_dryrun(description, return_value = true) ⇒ Object
(also: unless_dry_run)
In dry-run mode, output the description instead of running the provided block and return the
return_value. -
.visible_chars(string) ⇒ Object
Return the count of visible (i.e., non-control) characters in the given
string.
Class Method Details
.display_table(header, rows) ⇒ Object
Output a table with the given header (an array) and rows (an array of arrays).
319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 |
# File 'lib/arborist/cli.rb', line 319 def display_table( header, rows ) table = TTY::Table.new( header, rows ) renderer = nil if hl.enabled? renderer = TTY::Table::Renderer::Unicode.new( table, multiline: true, padding: [0,1,0,1] ) renderer.border.style = :dim else renderer = TTY::Table::Renderer::ASCII.new( table, multiline: true, padding: [0,1,0,1] ) end puts renderer.render end |
.error_string(string) ⇒ Object
Return the specified string in the ‘error’ ANSI color.
312 313 314 |
# File 'lib/arborist/cli.rb', line 312 def error_string( string ) return hl.error( string ) end |
.exit_now!(message, exit_code = 1) ⇒ Object
Exit with the specified exit_code after printing the given message.
267 268 269 |
# File 'lib/arborist/cli.rb', line 267 def exit_now!( , exit_code=1 ) raise GLI::CustomExit.new( , exit_code ) end |
.extended(mod) ⇒ Object
Extension callback – register the extending object as a subcommand.
256 257 258 259 |
# File 'lib/arborist/cli.rb', line 256 def self::extended( mod ) Arborist::CLI.log.debug "Registering subcommands from %p" % [ mod ] Arborist::CLI.register_subcommands( mod ) end |
.headline_string(string) ⇒ Object
Return the specified string in the ‘headline’ ANSI color.
294 295 296 |
# File 'lib/arborist/cli.rb', line 294 def headline_string( string ) return hl.headline( string ) end |
.help_now!(message = nil) ⇒ Object
Exit with a helpful message and display the usage.
273 274 275 276 277 278 |
# File 'lib/arborist/cli.rb', line 273 def help_now!( =nil ) exception = OptionParser::ParseError.new( ) def exception.exit_code; 64; end raise exception end |
.highlight_string(string) ⇒ Object
Return the specified string in the ‘highlight’ ANSI color.
300 301 302 |
# File 'lib/arborist/cli.rb', line 300 def highlight_string( string ) return hl.highlight( string ) end |
.hl ⇒ Object
Return the global Pastel object for convenient formatting, color, etc.
288 289 290 |
# File 'lib/arborist/cli.rb', line 288 def hl return Arborist::CLI.pastel end |
.prompt ⇒ Object
Get the prompt (a TTY::Prompt object)
282 283 284 |
# File 'lib/arborist/cli.rb', line 282 def prompt return Arborist::CLI.prompt end |
.success_string(string) ⇒ Object
Return the specified string in the ‘success’ ANSI color.
306 307 308 |
# File 'lib/arborist/cli.rb', line 306 def success_string( string ) return hl.success( string ) end |
.unless_dryrun(description, return_value = true) ⇒ Object Also known as: unless_dry_run
In dry-run mode, output the description instead of running the provided block and return the return_value. If dry-run mode is not enabled, yield to the block.
352 353 354 355 356 357 358 359 |
# File 'lib/arborist/cli.rb', line 352 def unless_dryrun( description, return_value=true ) if $DRYRUN self.log.warn( "DRYRUN> #{description}" ) return return_value else return yield end end |
.visible_chars(string) ⇒ Object
Return the count of visible (i.e., non-control) characters in the given string.
344 345 346 |
# File 'lib/arborist/cli.rb', line 344 def visible_chars( string ) return string.to_s.gsub(/\e\[.*?m/, '').scan( /\P{Cntrl}/ ).size end |