class Slacken::Filters::ElimLineBreaks
Public: Remove line breaks from texts.
Public Instance Methods
call(component)
click to toggle source
# File lib/slacken/filters/elim_line_breaks.rb, line 4 def call(component) case component.type.name when :pre component when :text new_content = component.attrs[:content].gsub(/[\r\n]/, '') component.derive( component.children, attrs: component.attrs.merge(content: new_content) ) else component.derive( component.children.map(&method(:call)) ) end end
has_no_line_breaks?(component)
click to toggle source
# File lib/slacken/filters/elim_line_breaks.rb, line 25 def has_no_line_breaks?(component) case component.type.name when :pre true when :text !component.attrs[:content].match(/[\r\n]/) else component.children.all?(&method(:has_no_line_breaks?)) end end
valid?(component)
click to toggle source
# File lib/slacken/filters/elim_line_breaks.rb, line 21 def valid?(component) has_no_line_breaks?(component) end