123456789101112131415161718192021222324252627282930 |
- # frozen_string_literal: true
- class PlainTextFormatter
- include ActionView::Helpers::TextHelper
- NEWLINE_TAGS_RE = /(<br \/>|<br>|<\/p>)+/.freeze
- attr_reader :text, :local
- alias local? local
- def initialize(text, local)
- @text = text
- @local = local
- end
- def to_s
- if local?
- text
- else
- strip_tags(insert_newlines).chomp
- end
- end
- private
- def insert_newlines
- text.gsub(NEWLINE_TAGS_RE) { |match| "#{match}\n" }
- end
- end
|