class YARD::CLI::YardoptsCommand

@since 0.8.3
@abstract
Abstract base class for command that reads .yardopts file

def initialize

Creates a new command that reads .yardopts
def initialize
  super
  @options_file = DEFAULT_YARDOPTS_FILE
  @use_yardopts_file = true
  @use_document_file = true
end

def parse_arguments(*args)

Other tags:
    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)

Parses out the yardopts/document options
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')

Returns:
  • (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)

Returns:
  • (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)

Adds --[no-]yardopts / --[no-]document
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