Sha256: 74cbca8d67d3309a562572101777cfc6a787cb518147ba225fb16481f6de3ac8
Contents?: true
Size: 1.37 KB
Versions: 10
Compression:
Stored size: 1.37 KB
Contents
require 'term/ansicolor' module Jenkins class CLI < Thor module Formatting module ClassMethods def task_help(shell, task_name) meth = normalize_task_name(task_name) task = all_tasks[meth] handle_no_task_error(meth) unless task shell.say "usage: #{banner(task)}" shell.say class_options_help(shell, nil => task.options.map { |_, o| o }) # shell.say task.description # shell.say end def print_options(shell, options, grp = nil) return if options.empty? table = options.map do |option| prototype = if option.default " [#{option.default}]" elsif option.boolean? "" elsif option.required? " #{option.banner}" else " [#{option.banner}]" end aliases = option.aliases.empty? ? "" : option.aliases.join(" ") + "," [aliases, "--#{option.name}#{prototype}", "\t",option.description] end shell.print_table(table, :ident => 2) shell.say end end module InstanceMethods def c Term::ANSIColor end end def self.included(receiver) receiver.extend ClassMethods receiver.send :include, InstanceMethods end end end end
Version data entries
10 entries across 10 versions & 3 rubygems