class TwitterCldr::Transforms::FilteredRuleSet

Attributes

filter_rule[R]
transform_id[R]

Public Class Methods

new(filter_rule, transform_id) click to toggle source
# File lib/twitter_cldr/transforms/filtered_rule_set.rb, line 15
def initialize(filter_rule, transform_id)
  @filter_rule = filter_rule
  @transform_id = transform_id
end

Public Instance Methods

backward?() click to toggle source
# File lib/twitter_cldr/transforms/filtered_rule_set.rb, line 24
def backward?
  false
end
foward?() click to toggle source
# File lib/twitter_cldr/transforms/filtered_rule_set.rb, line 20
def foward?
  true
end
invert() click to toggle source
# File lib/twitter_cldr/transforms/filtered_rule_set.rb, line 40
def invert
  raise NotInvertibleError,
    "cannot invert this #{self.class.name}"
end
is_conversion_rule?() click to toggle source
# File lib/twitter_cldr/transforms/filtered_rule_set.rb, line 36
def is_conversion_rule?
  false
end
is_filter_rule?() click to toggle source
# File lib/twitter_cldr/transforms/filtered_rule_set.rb, line 28
def is_filter_rule?
  false
end
is_transform_rule?() click to toggle source
# File lib/twitter_cldr/transforms/filtered_rule_set.rb, line 32
def is_transform_rule?
  false
end
rule_set() click to toggle source
# File lib/twitter_cldr/transforms/filtered_rule_set.rb, line 49
def rule_set
  @rule_set ||= begin
    rs = Transformer.get(transform_id)

    # replace any existing filters in all conversion rules and build
    # a new rule set
    new_rules = rs.rules.map do |rule|
      next rule unless rule.is_conversion_rule_set?
      ConversionRuleSet.new(filter_rule, nil, rule.rules)
    end

    RuleSet.new(new_rules, transform_id)
  end
end
transform(text) click to toggle source
# File lib/twitter_cldr/transforms/filtered_rule_set.rb, line 45
def transform(text)
  rule_set.transform(text)
end