instance method normalize

Ruby on Rails 2.2.3

Since v2.2.3 Last seen in v6.0.6

Available in: v2.2.3 v2.3.18 v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6

Signature

normalize(form=ActiveSupport::Multibyte.default_normalization_form)

Returns the KC normalization of the string by default. NFKC is considered the best normalization form for passing strings to databases and validations.

  • str - The string to perform normalization on.

  • form - The form you want to normalize in. Should be one of the following: :c, :kc, :d, or :kd. Default is ActiveSupport::Multibyte.default_normalization_form

Parameters

form opt = ActiveSupport::Multibyte.default_normalization_form
Source
# File activesupport/lib/active_support/multibyte/chars.rb, line 377
      def normalize(form=ActiveSupport::Multibyte.default_normalization_form)
        # See http://www.unicode.org/reports/tr15, Table 1
        codepoints = self.class.u_unpack(@wrapped_string)
        chars(case form
          when :d
            self.class.reorder_characters(self.class.decompose_codepoints(:canonical, codepoints))
          when :c
            self.class.compose_codepoints(self.class.reorder_characters(self.class.decompose_codepoints(:canonical, codepoints)))
          when :kd
            self.class.reorder_characters(self.class.decompose_codepoints(:compatability, codepoints))
          when :kc
            self.class.compose_codepoints(self.class.reorder_characters(self.class.decompose_codepoints(:compatability, codepoints)))
          else
            raise ArgumentError, "#{form} is not a valid normalization variant", caller
        end.pack('U*'))
      end

Defined in activesupport/lib/active_support/multibyte/chars.rb line 377 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveSupport::Multibyte::Chars

Type at least 2 characters to search.

↑↓ navigate · open · esc close