gottfrois/link_thumbnailer

View on GitHub
lib/link_thumbnailer/model.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

module LinkThumbnailer
  class Model

    def to_json(*args)
      as_json.to_json(*args)
    end

    private

    def sanitize(str)
      return unless str

      str = str.encode("UTF-16", "UTF-8", invalid: :replace, undef: :replace, replace: "")
      str = str.encode("UTF-8", "UTF-16").strip.gsub(/[\r\n\f]+/, "\n")
      str
    end

    def squish(str)
      return unless str
      str.gsub!(/\A[[:space:]]+/, '')
      str.gsub!(/[[:space:]]+\z/, '')
      str.gsub!(/[[:space:]]+/, ' ')
      str
    end
  end
end