lib/yard/cli/command.rb in yard-0.9.18 vs lib/yard/cli/command.rb in yard-0.9.19
- old
+ new
@@ -1,85 +1,85 @@
-# frozen_string_literal: true
-require 'optparse'
-
-module YARD
- module CLI
- # Abstract base class for CLI utilities. Provides some helper methods for
- # the option parser
- #
- # @abstract
- # @since 0.6.0
- class Command
- # Helper method to run the utility on an instance.
- # @see #run
- def self.run(*args) new.run(*args) end
-
- def description; '' end
-
- protected
-
- # Adds a set of common options to the tail of the OptionParser
- #
- # @param [OptionParser] opts the option parser object
- # @return [void]
- def common_options(opts)
- opts.separator ""
- opts.separator "Other options:"
- opts.on('-e', '--load FILE', 'A Ruby script to load before running command.') do |file|
- load_script(file)
- end
- opts.on('--plugin PLUGIN', 'Load a YARD plugin (gem with `yard-\' prefix)') do |name|
- # Not actually necessary to load here, this is done at boot in YARD::Config.load_plugins
- # YARD::Config.load_plugin(name)
- 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('--safe', 'Enable safe mode for this instance') do
- # Parsed in YARD::Config.load
- 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.') { log.puts "yard #{YARD::VERSION}"; exit }
- opts.on_tail('-h', '--help', 'Show this help.') { log.puts opts; exit }
- end
-
- # Parses the option and gracefully handles invalid switches
- #
- # @param [OptionParser] opts the option parser object
- # @param [Array<String>] args the arguments passed from input. This
- # array will be modified.
- # @return [void]
- def parse_options(opts, args)
- opts.parse!(args)
- rescue OptionParser::ParseError => err
- unrecognized_option(err)
- args.shift if args.first && args.first[0, 1] != '-'
- retry
- end
-
- # Loads a Ruby script. If <tt>Config.options[:safe_mode]</tt> is enabled,
- # this method will do nothing.
- #
- # @param [String] file the path to the script to load
- # @since 0.6.2
- def load_script(file)
- return if YARD::Config.options[:safe_mode]
- load(file)
- rescue LoadError => load_exception
- log.error "The file `#{file}' could not be loaded:\n#{load_exception}"
- exit
- end
-
- # Callback when an unrecognize option is parsed
- #
- # @param [OptionParser::ParseError] err the exception raised by the
- # option parser
- def unrecognized_option(err)
- log.warn "Unrecognized/#{err.message}"
- end
- end
- end
-end
+# frozen_string_literal: true
+require 'optparse'
+
+module YARD
+ module CLI
+ # Abstract base class for CLI utilities. Provides some helper methods for
+ # the option parser
+ #
+ # @abstract
+ # @since 0.6.0
+ class Command
+ # Helper method to run the utility on an instance.
+ # @see #run
+ def self.run(*args) new.run(*args) end
+
+ def description; '' end
+
+ protected
+
+ # Adds a set of common options to the tail of the OptionParser
+ #
+ # @param [OptionParser] opts the option parser object
+ # @return [void]
+ def common_options(opts)
+ opts.separator ""
+ opts.separator "Other options:"
+ opts.on('-e', '--load FILE', 'A Ruby script to load before running command.') do |file|
+ load_script(file)
+ end
+ opts.on('--plugin PLUGIN', 'Load a YARD plugin (gem with `yard-\' prefix)') do |name|
+ # Not actually necessary to load here, this is done at boot in YARD::Config.load_plugins
+ # YARD::Config.load_plugin(name)
+ 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('--safe', 'Enable safe mode for this instance') do
+ # Parsed in YARD::Config.load
+ 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.') { log.puts "yard #{YARD::VERSION}"; exit }
+ opts.on_tail('-h', '--help', 'Show this help.') { log.puts opts; exit }
+ end
+
+ # Parses the option and gracefully handles invalid switches
+ #
+ # @param [OptionParser] opts the option parser object
+ # @param [Array<String>] args the arguments passed from input. This
+ # array will be modified.
+ # @return [void]
+ def parse_options(opts, args)
+ opts.parse!(args)
+ rescue OptionParser::ParseError => err
+ unrecognized_option(err)
+ args.shift if args.first && args.first[0, 1] != '-'
+ retry
+ end
+
+ # Loads a Ruby script. If <tt>Config.options[:safe_mode]</tt> is enabled,
+ # this method will do nothing.
+ #
+ # @param [String] file the path to the script to load
+ # @since 0.6.2
+ def load_script(file)
+ return if YARD::Config.options[:safe_mode]
+ load(file)
+ rescue LoadError => load_exception
+ log.error "The file `#{file}' could not be loaded:\n#{load_exception}"
+ exit
+ end
+
+ # Callback when an unrecognize option is parsed
+ #
+ # @param [OptionParser::ParseError] err the exception raised by the
+ # option parser
+ def unrecognized_option(err)
+ log.warn "Unrecognized/#{err.message}"
+ end
+ end
+ end
+end