stevefolder/vendor/bundle/ruby/3.1.0/gems/unf-0.1.4/lib/unf.rb

39 lines
659 B
Ruby
Raw Normal View History

2022-02-04 18:48:09 -05:00
require 'unf/version'
module UNF
autoload :Normalizer, 'unf/normalizer'
end
class String
ascii_only =
if method_defined?(:ascii_only?)
'ascii_only?'
else
'/[^\x00-\x7f]/ !~ self'
end
# :method: to_nfc
# Converts the string to NFC.
# :method: to_nfd
# Converts the string to NFD.
# :method: to_nfkc
# Converts the string to NFKC.
# :method: to_nfkd
# Converts the string to NFKD.
[:nfc, :nfd, :nfkc, :nfkd].each { |form|
eval %{
def to_#{form.to_s}
if #{ascii_only}
self
else
UNF::Normalizer.normalize(self, #{form.inspect})
end
end
}
}
end