Module: Utf8AttributeSanitiser

Defined in:
lib/utf8_attribute_sanitiser.rb,
lib/utf8_attribute_sanitiser/version.rb

Constant Summary collapse

VERSION =
"0.1.0"

Instance Method Summary collapse

Instance Method Details

#utf8_attribute_sanitiser(*attributes) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/utf8_attribute_sanitiser.rb', line 4

def utf8_attribute_sanitiser(*attributes)
  attributes.each do |attribute|
    before_validation do |record|
      value = record[attribute]
      sanitised_value = value.respond_to?(:encode) ? value.encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: "") : value
      record[attribute] = sanitised_value
    end
  end
end