diff --git a/lib/unicode_normalize.rb b/lib/unicode_normalize.rb index e71f1e8139..cf99a13572 100644 --- a/lib/unicode_normalize.rb +++ b/lib/unicode_normalize.rb @@ -31,12 +31,7 @@ class String # def unicode_normalize(form = :nfc) require 'unicode_normalize/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) + unicode_normalize form # no recursion, because redefined in unicode_normalize/normalize.rb end # :call-seq: diff --git a/lib/unicode_normalize/normalize.rb b/lib/unicode_normalize/normalize.rb index e87327a9fe..759197d02c 100644 --- a/lib/unicode_normalize/normalize.rb +++ b/lib/unicode_normalize/normalize.rb @@ -159,3 +159,9 @@ module UnicodeNormalize # :nodoc: end end # module + +class String # :nodoc: + def unicode_normalize(form = :nfc) + UnicodeNormalize.normalize(self, form) + end +end