class YARD::CLI::YardoptsCommand
@since 0.8.3
@abstract
Abstract base class for command that reads .yardopts file
def initialize
def initialize super @options_file = DEFAULT_YARDOPTS_FILE @use_yardopts_file = true @use_document_file = true end
def parse_arguments(*args)
- Since: - 0.5.6
Returns:
-
(Boolean)
- whether or not arguments are valid
Parameters:
-
args
(Array
) -- the list of arguments
def parse_arguments(*args) parse_yardopts_options(*args) # Parse files and then command line arguments parse_rdoc_document_file parse_yardopts optparse(*args) end
def parse_rdoc_document_file(file = '.document')
def parse_rdoc_document_file(file = '.document') optparse(*support_rdoc_document_file!(file)) if use_document_file end
def parse_yardopts(file = options_file)
def parse_yardopts(file = options_file) optparse(*yardopts(file)) if use_yardopts_file end
def parse_yardopts_options(*args)
def parse_yardopts_options(*args) opts = OptionParser.new opts.base.long.clear # HACK: why are --help and --version defined? yardopts_options(opts) begin opts.parse(args) rescue OptionParser::ParseError => err idx = args.index(err.args.first) args = args[(idx + 1)..-1] args.shift while args.first && args.first[0, 1] != '-' retry end end
def support_rdoc_document_file!(file = '.document')
-
(Array
- an array of files parsed from .document)
def support_rdoc_document_file!(file = '.document') return [] unless use_document_file File.read(file).gsub(/^[ \t]*#.+/m, '').split(/\s+/) rescue Errno::ENOENT [] end
def yardopts(file = options_file)
-
(Array
- an array of options parsed from .yardopts)
def yardopts(file = options_file) return [] unless use_yardopts_file File.read_binary(file).shell_split rescue Errno::ENOENT [] end
def yardopts_options(opts)
def yardopts_options(opts) opts.on('--[no-]yardopts [FILE]', "If arguments should be read from FILE", " (defaults to yes, FILE defaults to .yardopts)") do |use_yardopts| if use_yardopts.is_a?(String) self.options_file = use_yardopts self.use_yardopts_file = true else self.use_yardopts_file = (use_yardopts != false) end end opts.on('--[no-]document', "If arguments should be read from .document file. ", " (defaults to yes)") do |use_document| self.use_document_file = use_document end end