Skip to content

Commit 146ac6a

Browse files
authored
Merge pull request jruby#9232 from headius/intern_unicode_normalize
Internalize and threadsafetify String#unicode_normalize
2 parents de4ee7e + 6d1b61f commit 146ac6a

5 files changed

Lines changed: 28 additions & 86 deletions

File tree

core/src/main/ruby/jruby/kernel.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,4 @@ module JRuby
2929
load 'jruby/kernel/thread.rb'
3030
load 'jruby/kernel/integer.rb'
3131
load 'jruby/kernel/time.rb'
32+
load 'jruby/kernel/string.rb'

core/src/main/ruby/jruby/kernel/enc_prelude.rb

Lines changed: 0 additions & 4 deletions
This file was deleted.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# coding: utf-8
2+
# frozen_string_literal: false
3+
4+
#--
5+
# additions to class String for Unicode normalization
6+
#++
7+
class String
8+
def unicode_normalize(form = :nfc)
9+
require 'unicode_normalize/normalize.rb'
10+
String.send(:define_method, :unicode_normalize, ->(form = :nfc) { UnicodeNormalize.normalize(self, form) } )
11+
UnicodeNormalize.normalize(self, form)
12+
end
13+
14+
def unicode_normalize!(form = :nfc)
15+
require 'unicode_normalize/normalize.rb'
16+
String.send(:define_method, :unicode_normalize!, ->(form = :nfc) { replace(unicode_normalize(form)) } )
17+
replace(unicode_normalize(form))
18+
end
19+
20+
21+
def unicode_normalized?(form = :nfc)
22+
require 'unicode_normalize/normalize.rb'
23+
String.send(:define_method, :unicode_normalized?, ->(form = :nfc) { UnicodeNormalize.normalized?(self, form) } )
24+
UnicodeNormalize.normalized?(self, form)
25+
end
26+
end
27+
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
# Load preludes
22
load 'jruby/kernel/prelude.rb'
3-
load 'jruby/kernel/enc_prelude.rb'
43
load 'jruby/kernel/gem_prelude.rb'

lib/ruby/stdlib/unicode_normalize.rb

Lines changed: 0 additions & 81 deletions
This file was deleted.

0 commit comments

Comments
 (0)