Sha256: 4db57bf71dbc236c1817f7d4fcd355c952219f2c060577b6f9fc2d4bac2374f9
Contents?: true
Size: 1.47 KB
Versions: 26
Compression:
Stored size: 1.47 KB
Contents
# encoding: UTF-8 # Copyright 2012 Twitter, Inc # http://www.apache.org/licenses/LICENSE-2.0 module TwitterCldr module Shared class UnicodeSet attr_reader :set def initialize(initial = []) @set = TwitterCldr::Utils::RangeSet.from_array(initial) end def apply_pattern(pattern) re = TwitterCldr::Shared::UnicodeRegex.compile(pattern) re.elements.each do |element| element.to_set.ranges.each do |range| set << range end end self end def apply_property(property_name, property_value = nil) set.union!( TwitterCldr::Shared::CodePoint.properties.code_points_for_property( property_name, property_value ) ) end def add(codepoint) add_range(codepoint..codepoint) end def add_range(range) set << range self end def add_set(unicode_set) set.union!(unicode_set.set) self end def add_list(list) set.union!(self.class.new(list).set) end def subtract(codepoint) subtract_range(codepoint..codepoint) end def subtract_range(range) set.subtract!(TwitterCldr::Utils::RangeSet.new([range])) self end def each(&block) set.each(&block) end def include?(codepoint) set.include?(codepoint) end def to_set set.to_set end end end end
Version data entries
26 entries across 26 versions & 1 rubygems