summaryrefslogtreecommitdiff
path: root/lib/banzai/reference_parser/merge_request_parser.rb
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2016-05-26 13:16:43 +0200
committerYorick Peterse <yorickpeterse@gmail.com>2016-05-26 17:14:00 +0200
commit86166d28029d5fcc729f7b7f5a41635c2e783a9e (patch)
treed4e9354a4daafc7b298bc7a73980166e41d55bf7 /lib/banzai/reference_parser/merge_request_parser.rb
parent94d5416db6415b06706204fb4a4df0100bcab7be (diff)
downloadgitlab-ce-86166d28029d5fcc729f7b7f5a41635c2e783a9e.tar.gz
Split Markdown rendering & reference gathering
This splits the Markdown rendering and reference extraction phases into two distinct code bases. The reference extraction phase no longer relies on the html-pipeline Gem (and any related code) and allows for extracting of references from multiple HTML nodes in a single pass. This means that if you want to extract user references from 200 comments you no longer need to run 200 times N number of queries, instead only a handful of queries may be needed.
Diffstat (limited to 'lib/banzai/reference_parser/merge_request_parser.rb')
-rw-r--r--lib/banzai/reference_parser/merge_request_parser.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/banzai/reference_parser/merge_request_parser.rb b/lib/banzai/reference_parser/merge_request_parser.rb
new file mode 100644
index 00000000000..c9a9ca79c09
--- /dev/null
+++ b/lib/banzai/reference_parser/merge_request_parser.rb
@@ -0,0 +1,11 @@
+module Banzai
+ module ReferenceParser
+ class MergeRequestParser < BaseParser
+ self.reference_type = :merge_request
+
+ def references_relation
+ MergeRequest.includes(:author, :assignee, :target_project)
+ end
+ end
+ end
+end