Class: Banzai::Filter::SuggestionFilter

Inherits:
HTML::Pipeline::Filter
  • Object
show all
Includes:
Concerns::PipelineTimingCheck
Defined in:
lib/banzai/filter/suggestion_filter.rb

Constant Summary collapse

TAG_CLASS =

Class used for tagging elements that should be rendered

'js-render-suggestion'
CSS =
'pre.language-suggestion > code'
XPATH =
Gitlab::Utils::Nokogiri.css_to_xpath(CSS).freeze

Constants included from Concerns::PipelineTimingCheck

Concerns::PipelineTimingCheck::MAX_PIPELINE_SECONDS

Instance Method Summary collapse

Methods included from Concerns::PipelineTimingCheck

#exceeded_pipeline_max?

Instance Method Details

#callObject



15
16
17
18
19
20
21
22
23
# File 'lib/banzai/filter/suggestion_filter.rb', line 15

def call
  return doc unless suggestions_filter_enabled?

  doc.xpath(XPATH).each do |node|
    node.add_class(TAG_CLASS)
  end

  doc
end

#suggestions_filter_enabled?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/banzai/filter/suggestion_filter.rb', line 25

def suggestions_filter_enabled?
  context[:suggestions_filter_enabled]
end