Skip to content

Move Markdown/reference logic from `Gitlab::Markdown` to `Banzai`

Douwe Maan requested to merge lazy-reference-extractor into master
  • Moves from Gitlab::Markdown to Banzai
  • Moves filters and pipelines into their own namespace: Banzai::Filter and Banzai::Pipeline
  • No more autoload!
  • Split up Gitlab::ReferenceExtractor into Banzai::ReferenceExtractor and Gitlab::ReferenceExtractor
  • Replace something(load_lazy_references: true) by Gitlab::ReferenceExtractor.lazily { something }

Goes from:

def referenced_merge_requests
  references = [self, *notes].flat_map do |note|
    note.all_references(load_lazy_references: false).merge_requests
  end.uniq!

  Gitlab::Markdown::ReferenceFilter::LazyReference.load(references).uniq.sort_by(&:iid)
end

to

def referenced_merge_requests
  Gitlab::ReferenceExtractor.lazily do
    [self, *notes].flat_map do |note|
      note.all_references.merge_requests
    end
  end.sort_by(&:iid)
end

Merge request reports