Exception: Console::Command::UnknownOptionError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/quality_extensions/console/command.rb

Overview

# We include a module here so you can define your own help

# command and call #super to utilize this one.

module Help

  def help
    opts = help_options
    s = ""
    s << "#{File.basename($0)}\n\n"
    unless opts.empty?
      s << "OPTIONS\n"
      s << help_options
      s << "\n"
    end
    s << "COMMANDS\n"
    s << help_commands
    puts s
  end

  private

  def help_commands
    help = self.class.help
    bufs = help.keys.collect{ |a| a.to_s.size }.max + 3
    lines = []
    help.each { |cmd, str|
      cmd = cmd.to_s
      if cmd !~ /^_/
        lines << "  " + cmd + (" " * (bufs - cmd.size)) + str
      end
    }
    lines.join("\n")
  end

  def help_options
    help = self.class.help
    bufs = help.keys.collect{ |a| a.to_s.size }.max + 3
    lines = []
    help.each { |cmd, str|
      cmd = cmd.to_s
      if cmd =~ /^_/
        lines << "  " + cmd.gsub(/_/,'-') + (" " * (bufs - cmd.size)) + str
      end
    }
    lines.join("\n")
  end

  module ClassMethods

    def help( str=nil )
      return (@help ||= {}) unless str
      @current_help = str
    end

    def method_added( meth )
      if @current_help
        @help ||= {}
        @help[meth] = @current_help
        @current_help = nil
      end
    end

  end

end

include Help
extend Help::ClassMethods

Instance Method Summary collapse

Constructor Details

#initialize(option_name) ⇒ UnknownOptionError

Returns a new instance of UnknownOptionError.



595
596
597
# File 'lib/quality_extensions/console/command.rb', line 595

def initialize(option_name)
  @option_name = option_name
end

Instance Method Details

#messageObject



598
599
600
# File 'lib/quality_extensions/console/command.rb', line 598

def message
  "Unknown option '#{@option_name}'."
end