class TwitterCldr::Transforms::Transforms::TransformPair

Attributes

filter[R]
transform[R]

Public Class Methods

new(filter, transform) click to toggle source
# File lib/twitter_cldr/transforms/transforms/transform_pair.rb, line 13
def initialize(filter, transform)
  @filter = filter
  @transform = transform
end

Public Instance Methods

apply_to(cursor) click to toggle source
# File lib/twitter_cldr/transforms/transforms/transform_pair.rb, line 26
def apply_to(cursor)
  cursor.set_text(rule_set.transform(cursor.text))
  cursor.reset_position
end
blank?() click to toggle source
# File lib/twitter_cldr/transforms/transforms/transform_pair.rb, line 35
def blank?
  false
end
has_filter?() click to toggle source
# File lib/twitter_cldr/transforms/transforms/transform_pair.rb, line 22
def has_filter?
  filter && !filter.empty?
end
has_transform?() click to toggle source
# File lib/twitter_cldr/transforms/transforms/transform_pair.rb, line 18
def has_transform?
  transform && !transform.empty?
end
null?() click to toggle source
# File lib/twitter_cldr/transforms/transforms/transform_pair.rb, line 31
def null?
  false
end

Private Instance Methods

filter_rule() click to toggle source
# File lib/twitter_cldr/transforms/transforms/transform_pair.rb, line 53
def filter_rule
  @filter_rule ||= if has_filter?
    Filters::FilterRule.parse(filter, nil, nil)
  end
end
rule_set() click to toggle source
# File lib/twitter_cldr/transforms/transforms/transform_pair.rb, line 41
def rule_set
  @rule_set ||= if has_filter? && has_transform?
    FilteredRuleSet.new(filter_rule, transform)
  elsif has_transform?
    Transformer.get(transform)
  else
    raise NotImplementedError,
      'attempted to create a rule set with only a filter, which '\
      'has undefined behavior'
  end
end