Method: YARD::Parser::SourceParser.parse
- Defined in:
- lib/yard/parser/source_parser.rb
.parse(paths = ["{lib,app}/**/*.rb", "ext/**/*.c"], excluded = [], level = log.level) ⇒ void
This method returns an undefined value.
Parses a path or set of paths
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/yard/parser/source_parser.rb', line 93 def parse(paths = ["{lib,app}/**/*.rb", "ext/**/*.c"], excluded = [], level = log.level) log.debug("Parsing #{paths.inspect} with `#{parser_type}` parser") excluded = excluded.map do |path| case path when Regexp; path else Regexp.new(path.to_s, Regexp::IGNORECASE) end end files = [paths].flatten. map {|p| File.directory?(p) ? "#{p}/**/*.{rb,c}" : p }. map {|p| p.include?("*") ? Dir[p] : p }.flatten. reject {|p| !File.file?(p) || excluded.any? {|re| p =~ re } } log.enter_level(level) do parse_in_order(*files.uniq) end end |