class Qiita::Markdown::Transformers::StripInvalidNode
Wraps a node env to transform invalid node.
Public Class Methods
call(**args)
click to toggle source
# File lib/qiita/markdown/transformers/strip_invalid_node.rb, line 6 def self.call(**args) new(**args).transform end
new(env)
click to toggle source
# File lib/qiita/markdown/transformers/strip_invalid_node.rb, line 10 def initialize(env) @env = env end
Public Instance Methods
transform()
click to toggle 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
has_invalid_list_node?()
click to toggle 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
has_invalid_table_node?()
click to toggle 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
name()
click to toggle source
# File lib/qiita/markdown/transformers/strip_invalid_node.rb, line 32 def name @env[:node_name] end
node()
click to toggle source
# File lib/qiita/markdown/transformers/strip_invalid_node.rb, line 36 def node @env[:node] end