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