class TwitterCldr::Shared::UnicodeSet

Attributes

set[R]

Public Class Methods

new(initial = []) click to toggle source
# File lib/twitter_cldr/shared/unicode_set.rb, line 12
def initialize(initial = [])
  @set = TwitterCldr::Utils::RangeSet.from_array(initial)
end

Public Instance Methods

add(codepoint) click to toggle source
# File lib/twitter_cldr/shared/unicode_set.rb, line 36
def add(codepoint)
  add_range(codepoint..codepoint)
end
add_list(list) click to toggle source
# File lib/twitter_cldr/shared/unicode_set.rb, line 50
def add_list(list)
  set.union!(self.class.new(list).set)
end
add_range(range) click to toggle source
# File lib/twitter_cldr/shared/unicode_set.rb, line 40
def add_range(range)
  set << range
  self
end
add_set(unicode_set) click to toggle source
# File lib/twitter_cldr/shared/unicode_set.rb, line 45
def add_set(unicode_set)
  set.union!(unicode_set.set)
  self
end
apply_pattern(pattern) click to toggle source
# File lib/twitter_cldr/shared/unicode_set.rb, line 16
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
apply_property(property_name, property_value = nil) click to toggle source
# File lib/twitter_cldr/shared/unicode_set.rb, line 28
def apply_property(property_name, property_value = nil)
  set.union!(
    TwitterCldr::Shared::CodePoint.properties.code_points_for_property(
      property_name, property_value
    )
  )
end
each(&block) click to toggle source
# File lib/twitter_cldr/shared/unicode_set.rb, line 63
def each(&block)
  set.each(&block)
end
include?(codepoint) click to toggle source
# File lib/twitter_cldr/shared/unicode_set.rb, line 67
def include?(codepoint)
  set.include?(codepoint)
end
subtract(codepoint) click to toggle source
# File lib/twitter_cldr/shared/unicode_set.rb, line 54
def subtract(codepoint)
  subtract_range(codepoint..codepoint)
end
subtract_range(range) click to toggle source
# File lib/twitter_cldr/shared/unicode_set.rb, line 58
def subtract_range(range)
  set.subtract!(TwitterCldr::Utils::RangeSet.new([range]))
  self
end
to_set() click to toggle source
# File lib/twitter_cldr/shared/unicode_set.rb, line 71
def to_set
  set.to_set
end