Sha256: 837cb22fa5df4496ba89ca03552bec74623a79bc7ab2fefde186566c84aabf85

Contents?: true

Size: 689 Bytes

Versions: 1

Compression:

Stored size: 689 Bytes

Contents

# encoding: utf-8

module ActiveCleaner
  class TextCleaner < BaseCleaner

    def clean_value(old_value, record=nil)
      case old_value
      when String
        value = old_value.dup

        value.strip!

        # clean the new lines mess among OS
        value.gsub!(/\r\n|\r/, "\n")

        # protect stuff to keep with a markup
        value.gsub!(/\n/, "__NEW_LINE__")

        value.gsub!(/\s+/, " ")
        value.gsub!(/ ?__NEW_LINE__ ?/, "__NEW_LINE__")
        value.gsub!(/(__NEW_LINE__){3,}/, "__NEW_LINE____NEW_LINE__")

        # reverse the safe markup
        value.gsub!(/__NEW_LINE__/, "\n")

        value
      else
        old_value
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activecleaner-0.3.1 lib/active_cleaner/text_cleaner.rb