Sha256: 495daf32bcefdb4d598922612a4075bc374de12618093092a93c43b6f336d34f

Contents?: true

Size: 733 Bytes

Versions: 8

Compression:

Stored size: 733 Bytes

Contents

require_relative 'base'

module WhirledPeas
  module Command
    class Help < Base
      def self.description
        'Show detailed help for a command'
      end

      def start
        class_name = cmd.split('_').map(&:capitalize).join
        klass = Command.const_get(class_name)
        klass.print_usage
      rescue NameError
        puts "Unrecognized command: #{cmd}"
        exit(1)
      end

      private

      attr_reader :cmd

      def validate!
        super
        cmd = args.shift
        if cmd.nil?
          @error_text = "#{command_name} requires a command"
        else
          @cmd = cmd
        end
      end

      def options_usage
        [*super, '<command>'].join(' ')
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
whirled_peas-0.13.0 lib/whirled_peas/command/help.rb
whirled_peas-0.12.0 lib/whirled_peas/command/help.rb
whirled_peas-0.11.1 lib/whirled_peas/command/help.rb
whirled_peas-0.11.0 lib/whirled_peas/command/help.rb
whirled_peas-0.10.0 lib/whirled_peas/command/help.rb
whirled_peas-0.9.1 lib/whirled_peas/command/help.rb
whirled_peas-0.9.0 lib/whirled_peas/command/help.rb
whirled_peas-0.8.0 lib/whirled_peas/command/help.rb