class Rails::SourceAnnotationExtractor::ParserExtractor
file’s comments.
Wraps a regular expression that will be tested against each of the source
def annotations(file)
def annotations(file) result = Prism.parse_file(file) return [] unless result.success? result.comments.filter_map do |comment| Annotation.new(comment.location.start_line, $1, $2) if comment.location.slice =~ pattern end end
def annotations(file)
def annotations(file) contents = File.read(file, encoding: Encoding::BINARY) parser = Parser.new(contents, pattern: pattern).tap(&:parse) parser.error? ? [] : parser.comments end