module RegexpPropertyValues::Value::RubyFallback
Public Instance Methods
Source
# File lib/regexp_property_values/value/ruby_fallback.rb, line 4 def matched_characters matched_codepoints.map { |cp| cp.chr('utf-8') } end
Source
# File lib/regexp_property_values/value/ruby_fallback.rb, line 8 def matched_codepoints # turns out scanning one big string is the least slow way to do this @@test_str ||= (0..0xD7FF).map { |cp| cp.chr('utf-8') }.join << (0xE000..0x10FFFF).map { |cp| cp.chr('utf-8') }.join @@test_str.scan(regexp).flat_map(&:codepoints) end
Source
# File lib/regexp_property_values/value/ruby_fallback.rb, line 15 def matched_ranges require 'range_compressor' RangeCompressor.compress(matched_codepoints) end