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

Version Path
jenkins-maestrodev-0.6.9 lib/jenkins/cli/formatting.rb
jenkins-0.6.8 lib/jenkins/cli/formatting.rb
jenkins-0.6.6 lib/jenkins/cli/formatting.rb
jenkins-0.6.5 lib/jenkins/cli/formatting.rb
akqa-jenkins-0.6.4.1 lib/jenkins/cli/formatting.rb
jenkins-0.6.4 lib/jenkins/cli/formatting.rb
jenkins-0.6.3 lib/jenkins/cli/formatting.rb
jenkins-0.6.2 lib/jenkins/cli/formatting.rb
jenkins-0.6.1 lib/jenkins/cli/formatting.rb
jenkins-0.6.0 lib/jenkins/cli/formatting.rb