class TwitterCldr::Transforms::Filters::UnicodeFilter
Attributes
charset[R]
direction[R]
Public Class Methods
accepts?(rule_text)
click to toggle source
# File lib/twitter_cldr/transforms/filters/unicode_filter.rb, line 25 def accepts?(rule_text) !!(rule_text =~ /\A::[\s]*\(?[\s]*\[/) end
new(charset, direction)
click to toggle source
# File lib/twitter_cldr/transforms/filters/unicode_filter.rb, line 50 def initialize(charset, direction) @charset = charset @direction = direction end
parse(rule_text, symbol_table)
click to toggle source
# File lib/twitter_cldr/transforms/filters/unicode_filter.rb, line 12 def parse(rule_text, symbol_table) rule_text = Rule.remove_comment(rule_text).strip rule_text = rule_text[2..-2].strip if rule_text.start_with?('::') direction = direction_for(rule_text) re = TwitterCldr::Shared::UnicodeRegex.compile( clean_rule(rule_text, direction) ) # filters are always just a unicode set new(re.elements.first.to_set.to_set, direction) end
Private Class Methods
clean_rule(rule_text, direction)
click to toggle source
# File lib/twitter_cldr/transforms/filters/unicode_filter.rb, line 39 def clean_rule(rule_text, direction) if direction == :backward rule_text[1..-2].strip else rule_text end end
direction_for(rule_text)
click to toggle source
# File lib/twitter_cldr/transforms/filters/unicode_filter.rb, line 31 def direction_for(rule_text) if rule_text.start_with?('(') :backward else :forward end end
Public Instance Methods
backward?()
click to toggle source
# File lib/twitter_cldr/transforms/filters/unicode_filter.rb, line 67 def backward? direction == :backward end
forward?()
click to toggle source
# File lib/twitter_cldr/transforms/filters/unicode_filter.rb, line 63 def forward? direction == :forward end
matches?(cursor)
click to toggle source
# File lib/twitter_cldr/transforms/filters/unicode_filter.rb, line 59 def matches?(cursor) charset.include?(cursor.text[cursor.position].ord) end
resolve(symbol_table)
click to toggle source
# File lib/twitter_cldr/transforms/filters/unicode_filter.rb, line 55 def resolve(symbol_table) self end