maxima (Thor)

    # File lib/thor.rb, line 60
      def self.maxima
        @maxima ||= begin
          max_usage = tasks.map {|_, t| t.usage}.max {|x,y| x.to_s.size <=> y.to_s.size}.size
          max_desc  = tasks.map {|_, t| t.description}.max {|x,y| x.to_s.size <=> y.to_s.size}.size
          max_opts  = tasks.map {|_, t| t.opts ? t.opts.formatted_usage : ""}.max {|x,y| x.to_s.size <=> y.to_s.size}.size
          Struct.new(:description, :usage, :opt).new(max_desc, max_usage, max_opts)
        end
      end