Module: CharacterSet::Writer
- Defined in:
- lib/character_set/writer.rb
Class Method Summary collapse
- .write(codepoint_ranges, opts = {}, &block) ⇒ Object
- .write_codepoint(codepoint, opts = {}, &block) ⇒ Object
- .write_surrogate_alternation(bmp_ranges, astral_ranges) ⇒ Object
- .write_surrogate_ranges(bmp_ranges, astral_ranges) ⇒ Object
Class Method Details
.write(codepoint_ranges, opts = {}, &block) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/character_set/writer.rb', line 4 def write(codepoint_ranges, opts = {}, &block) content = codepoint_ranges.map do |range| if range.size > 2 && opts[:abbreviate] != false bounds = [range.min, range.max] bounds.map { |cp| write_codepoint(cp, opts, &block) }.join('-') else range.map { |cp| write_codepoint(cp, opts, &block) }.join end end.join opts[:in_brackets] ? "[#{content}]" : content end |
.write_codepoint(codepoint, opts = {}, &block) ⇒ Object
16 17 18 |
# File 'lib/character_set/writer.rb', line 16 def write_codepoint(codepoint, opts = {}, &block) Character.new(codepoint).escape(opts, &block) end |
.write_surrogate_alternation(bmp_ranges, astral_ranges) ⇒ Object
25 26 27 28 |
# File 'lib/character_set/writer.rb', line 25 def write_surrogate_alternation(bmp_ranges, astral_ranges) astral_branches = surrogate_pairs(astral_ranges) bmp_set_with_alternatives(bmp_ranges, astral_branches) end |
.write_surrogate_ranges(bmp_ranges, astral_ranges) ⇒ Object
20 21 22 23 |
# File 'lib/character_set/writer.rb', line 20 def write_surrogate_ranges(bmp_ranges, astral_ranges) astral_branches = surrogate_range_expressions(astral_ranges) bmp_set_with_alternatives(bmp_ranges, astral_branches) end |