class Qiita::Markdown::Transformers::StripInvalidNode
Wraps a node env to transform invalid node.
Public Class Methods
Source
# File lib/qiita/markdown/transformers/strip_invalid_node.rb, line 6 def self.call(**args) new(**args).transform end
Source
# File lib/qiita/markdown/transformers/strip_invalid_node.rb, line 10 def initialize(env) @env = env end
Public Instance Methods
Source
# File lib/qiita/markdown/transformers/strip_invalid_node.rb, line 14 def transform node.replace(node.children) if has_invalid_list_node? || has_invalid_table_node? end
Private Instance Methods
Source
# File lib/qiita/markdown/transformers/strip_invalid_node.rb, line 20 def has_invalid_list_node? name == "li" && node.ancestors.none? do |ancestor| %w[ol ul].include?(ancestor.name) end end
Source
# File lib/qiita/markdown/transformers/strip_invalid_node.rb, line 26 def has_invalid_table_node? %w[thead tbody tfoot tr td th].include?(name) && node.ancestors.none? do |ancestor| ancestor.name == "table" end end
Source
# File lib/qiita/markdown/transformers/strip_invalid_node.rb, line 32 def name @env[:node_name] end
Source
# File lib/qiita/markdown/transformers/strip_invalid_node.rb, line 36 def node @env[:node] end