lib/rubikon/command.rb in rubikon-0.5.2 vs lib/rubikon/command.rb in rubikon-0.5.3

- old
+ new

@@ -56,69 +56,9 @@ code = open(@file_name).read @block = Proc.new { instance_eval(code) } end end - # Generate help for this command - # - # @param [Boolean] show_usage If +true+, the returned String will also - # include usage information - # @return [String] The contents of the help screen for this command - # @since 0.6.0 - def help(show_usage = true) - help = '' - - if show_usage - help << " #{name}" if name != :__default - - @params.values.uniq.sort_by {|a| a.name.to_s }.each do |param| - help << ' [' - ([param.name] + param.aliases).each_with_index do |name, index| - name = name.to_s - help << '|' if index > 0 - help << '-' if name.size > 1 - help << "-#{name}" - end - help << ' ...' if param.is_a?(Option) - help << ']' - end - end - - help << "\n\n#{description}" unless description.nil? - - help_flags = {} - help_options = {} - params.each_value do |param| - if param.is_a? Flag - help_flags[param.name.to_s] = param - else - help_options[param.name.to_s] = param - end - end - - param_name = lambda { |name| "#{name.size > 1 ? '-' : ' '}-#{name}" } - unless help_flags.empty? && help_options.empty? - max_param_length = (help_flags.keys + help_options.keys). - max_by { |a| a.size }.size + 2 - end - - unless help_flags.empty? - help << "\n\nFlags:" - help_flags.sort_by { |name, param| name }.each do |name, param| - help << "\n #{param_name.call(name).ljust(max_param_length)}" - end - end - - unless help_options.empty? - help << "\n\nOptions:\n" - help_options.sort_by { |name, param| name }.each do |name, param| - help << " #{param_name.call(name).ljust(max_param_length)} ...\n" - end - end - - help - end - private # Add a new parameter for this command # # @param [Parameter, Hash] parameter The parameter to add to this