diff --git a/benchmark/unicode_normalize.rb b/benchmark/unicode_normalize.rb index 760f249f..967f7bb5 100644 --- a/benchmark/unicode_normalize.rb +++ b/benchmark/unicode_normalize.rb @@ -2,7 +2,7 @@ # frozen_string_literal: true. require "benchmark" -require "addressable/idna/pure.rb" +require_relative "../lib/addressable/idna/pure.rb" require "idn" value = "fiᆵリ宠퐱卄.com" diff --git a/lib/addressable/idna/native.rb b/lib/addressable/idna/native.rb index b225e1c3..a718364f 100644 --- a/lib/addressable/idna/native.rb +++ b/lib/addressable/idna/native.rb @@ -29,6 +29,16 @@ def self.punycode_decode(value) IDN::Punycode.decode(value.to_s) end + class << self + # @deprecated Use {String#unicode_normalize(:nfkc)} instead + def unicode_normalize_kc(value) + value.to_s.unicode_normalize(:nfkc) + end + + extend Gem::Deprecate + deprecate :unicode_normalize_kc, "String#unicode_normalize(:nfkc)", 2023, 4 + end + def self.to_ascii(value) value.to_s.split('.', -1).map do |segment| if segment.size > 0 && segment.size < 64 diff --git a/lib/addressable/idna/pure.rb b/lib/addressable/idna/pure.rb index ae09ec66..3d6ffbad 100644 --- a/lib/addressable/idna/pure.rb +++ b/lib/addressable/idna/pure.rb @@ -112,6 +112,16 @@ def self.to_unicode(input) output end + class << self + # @deprecated Use {String#unicode_normalize(:nfkc)} instead + def unicode_normalize_kc(value) + value.to_s.unicode_normalize(:nfkc) + end + + extend Gem::Deprecate + deprecate :unicode_normalize_kc, "String#unicode_normalize(:nfkc)", 2023, 4 + end + ## # Unicode aware downcase method. #