Sha256: 0e0b143d9500a95f17ef1f214ef533c5f19a6f3084c6a6274d8d394e44f76da6
Contents?: true
Size: 1.34 KB
Versions: 26
Compression:
Stored size: 1.34 KB
Contents
# Adapted from CRuby unless String.method_defined? :unicode_normalize if (Regexp.compile("[\u{11100}-\u{11102}]") rescue false) class String def unicode_normalize(form = :nfc) require 'backports/tools/normalize.rb' unless defined? UnicodeNormalize ## The following line can be uncommented to avoid repeated checking for ## UnicodeNormalize. However, tests didn't show any noticeable speedup ## when doing this. This comment also applies to the commented out lines ## in String#unicode_normalize! and String#unicode_normalized?. # String.send(:define_method, :unicode_normalize, ->(form = :nfc) { UnicodeNormalize.normalize(self, form) } ) UnicodeNormalize.normalize(self, form) end def unicode_normalize!(form = :nfc) require 'backports/tools/normalize.rb' unless defined? UnicodeNormalize # String.send(:define_method, :unicode_normalize!, ->(form = :nfc) { replace(unicode_normalize(form)) } ) replace(unicode_normalize(form)) end def unicode_normalized?(form = :nfc) require 'backports/tools/normalize.rb' unless defined? UnicodeNormalize # String.send(:define_method, :unicode_normalized?, ->(form = :nfc) { UnicodeNormalize.normalized?(self, form) } ) UnicodeNormalize.normalized?(self, form) end end end end
Version data entries
26 entries across 26 versions & 3 rubygems