module Castle::Utils::CleanInvalidChars

Public Class Methods

call(arg) click to toggle source
# File lib/castle/utils/clean_invalid_chars.rb, line 7
def call(arg)
  case arg
  when ::String
    arg.encode('UTF-8', invalid: :replace, undef: :replace)
  when ::Hash
    arg.transform_values { |v| Castle::Utils::CleanInvalidChars.call(v) }
  when ::Array
    arg.map { |el| Castle::Utils::CleanInvalidChars.call(el) }
  else
    arg
  end
end