Class: Qiita::Markdown::Filters::UserInputSanitizer::AttributeFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/qiita/markdown/filters/user_input_sanitizer.rb

Constant Summary collapse

FILTERS =
{
  "a" => {
    "class" => %w[autolink],
    "rel" => %w[footnote url],
    "rev" => %w[footnote],
  },
  "sup" => {
    "id" => /\Afnref\d+\z/,
  },
  "li" => {
    "id" => /\Afn\d+\z/,
  },
}.freeze
DELIMITER =
" ".freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ AttributeFilter



27
28
29
# File 'lib/qiita/markdown/filters/user_input_sanitizer.rb', line 27

def initialize(env)
  @env = env
end

Class Method Details

.call(*args) ⇒ Object



23
24
25
# File 'lib/qiita/markdown/filters/user_input_sanitizer.rb', line 23

def self.call(*args)
  new(*args).transform
end

Instance Method Details

#transformObject



31
32
33
34
35
36
# File 'lib/qiita/markdown/filters/user_input_sanitizer.rb', line 31

def transform
  return unless FILTERS.key?(name)
  FILTERS[name].each_pair do |attr, pattern|
    filter_attribute(attr, pattern) if node.attributes.key?(attr)
  end
end