Class: YARD::CLI::Command Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/yard/cli/command.rb

Overview

This class is abstract.

Abstract base class for CLI utilities. Provides some helper methods for the option parser

Since:

  • 0.6.0

Direct Known Subclasses

Diff, Gems, Graph, Help, Server, YRI, Yardoc

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.run(*args) ⇒ Object

Helper method to run the utility on an instance.

See Also:

  • #run

Since:

  • 0.6.0



13
# File 'lib/yard/cli/command.rb', line 13

def self.run(*args) new.run(*args) end

Instance Method Details

#common_options(opts) ⇒ void (protected)

This method returns an undefined value.

Adds a set of common options to the tail of the OptionParser

Parameters:

  • opts (OptionParser)

    the option parser object

Since:

  • 0.6.0



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/yard/cli/command.rb', line 23

def common_options(opts)
  opts.separator ""
  opts.separator "Other options:"
  opts.on('-e', '--load FILE', 'A Ruby script to load before the source tree is parsed.') do |file|
    begin
      require(file.gsub(/\.rb$/, ''))
    rescue LoadError
      log.error "The file `#{file}' could not be loaded, check the path and try again."
      exit
    end
  end
  opts.on('--legacy', 'Use old style Ruby parser and handlers. Always on in 1.8.x.') do
    YARD::Parser::SourceParser.parser_type = :ruby18
  end
  opts.on_tail('-q', '--quiet', 'Show no warnings.') { log.level = Logger::ERROR }
  opts.on_tail('--verbose', 'Show more information.') { log.level = Logger::INFO }
  opts.on_tail('--debug', 'Show debugging information.') { log.level = Logger::DEBUG }
  opts.on_tail('--backtrace', 'Show stack traces') { log.show_backtraces = true }
  opts.on_tail('-v', '--version', 'Show version.') { puts "yard #{YARD::VERSION}"; exit }
  opts.on_tail('-h', '--help', 'Show this help.')  { puts opts; exit }
end

#descriptionObject

Since:

  • 0.6.0



15
# File 'lib/yard/cli/command.rb', line 15

def description; '' end

#parse_options(opts, args) ⇒ void (protected)

This method returns an undefined value.

Parses the option and gracefully handles invalid switches

Parameters:

  • opts (OptionParser)

    the option parser object

  • args (Array<String>)

    the arguments passed from input. This array will be modified.

Since:

  • 0.6.0



51
52
53
54
55
# File 'lib/yard/cli/command.rb', line 51

def parse_options(opts, args)
  opts.parse!(args)
rescue OptionParser::InvalidOption => e
  log.warn "Unrecognized/#{e.message}"
end