class Slacken::Filters::SanitizeTable

Public: Sanitize not allowed tags in table.

Public Instance Methods

call(component) click to toggle source
# File lib/slacken/filters/sanitize_table.rb, line 4
def call(component)
  if component.type.member_of?(:table)
    component.derive(component.children.map(&method(:sanitize_table)))
  else
    component.derive(component.children.map(&method(:call)))
  end
end
valid?(component) click to toggle source
# File lib/slacken/filters/sanitize_table.rb, line 12
def valid?(component)
  if component.type.member_of?(:table)
    component.children.all?(&method(:table_sanitized?))
  else
    component.children.all?(&method(:valid?))
  end
end

Private Instance Methods

sanitize_table(component) click to toggle source
# File lib/slacken/filters/sanitize_table.rb, line 22
def sanitize_table(component)
  if component.type.allowed_in_table?
    component.derive(
      component.children.map(&method(:sanitize_table))
    )
  else
    # No block tags are allowed.
    component.derive(
      component.children.map(&method(:sanitize_table)),
      type: :span
    )
  end
end
table_sanitized?(component) click to toggle source
# File lib/slacken/filters/sanitize_table.rb, line 36
def table_sanitized?(component)
  if component.type.allowed_in_table?
    component.children.all?(&method(:table_sanitized?))
  else
    false
  end
end