Class: TwitterCldr::Transforms::Transforms::TransformRule
- Inherits:
-
Rule
- Object
- Rule
- TwitterCldr::Transforms::Transforms::TransformRule
show all
- Defined in:
- lib/twitter_cldr/transforms/transforms/transform_rule.rb
Overview
Base class for transforms
Constant Summary
Constants inherited
from Rule
Rule::STRING_TYPES
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Rule
#is_comment?, #is_conversion_rule?, #is_conversion_rule_set?, #is_filter_rule?, #is_variable?, regexp_token_string, remove_comment, replace_symbols, #token_string, token_string, #token_value, token_value
Constructor Details
#initialize(forward_form, backward_form) ⇒ TransformRule
Returns a new instance of TransformRule.
70
71
72
73
74
|
# File 'lib/twitter_cldr/transforms/transforms/transform_rule.rb', line 70
def initialize(forward_form, backward_form)
@forward_form = forward_form
@backward_form = backward_form
after_initialize
end
|
Instance Attribute Details
Returns the value of attribute backward_form.
68
69
70
|
# File 'lib/twitter_cldr/transforms/transforms/transform_rule.rb', line 68
def backward_form
@backward_form
end
|
Returns the value of attribute forward_form.
68
69
70
|
# File 'lib/twitter_cldr/transforms/transforms/transform_rule.rb', line 68
def forward_form
@forward_form
end
|
Class Method Details
.accepts?(rule_text) ⇒ Boolean
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/twitter_cldr/transforms/transforms/transform_rule.rb', line 26
def accepts?(rule_text)
rule_text = Rule.(rule_text)
rule_text = rule_text[2..-2].strip
tokens = tokenizer.tokenize(rule_text)
forward_form, backward_form = parser.parse(tokens)
transforms.any? do |transform|
transform.accepts?(forward_form, backward_form)
end
rescue Exception
false
end
|
.blank? ⇒ Boolean
43
44
45
|
# File 'lib/twitter_cldr/transforms/transforms/transform_rule.rb', line 43
def blank?
false
end
|
.null? ⇒ Boolean
39
40
41
|
# File 'lib/twitter_cldr/transforms/transforms/transform_rule.rb', line 39
def null?
false
end
|
.parse(rule_text, symbol_table, index) ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/twitter_cldr/transforms/transforms/transform_rule.rb', line 13
def parse(rule_text, symbol_table, index)
rule_text = Rule.(rule_text).strip
rule_text = rule_text[2..-2].strip if rule_text.start_with?('::')
tokens = tokenizer.tokenize(rule_text)
forward_form, backward_form = parser.parse(tokens)
transform_class = transforms.find do |transform|
transform.accepts?(forward_form, backward_form)
end
transform_class.new(forward_form, backward_form)
end
|
Instance Method Details
#backward? ⇒ Boolean
84
85
86
|
# File 'lib/twitter_cldr/transforms/transforms/transform_rule.rb', line 84
def backward?
false
end
|
#forward? ⇒ Boolean
80
81
82
|
# File 'lib/twitter_cldr/transforms/transforms/transform_rule.rb', line 80
def forward?
!forward_form.null?
end
|
#invert ⇒ Object
88
89
90
|
# File 'lib/twitter_cldr/transforms/transforms/transform_rule.rb', line 88
def invert
self.class.new(backward_form, forward_form)
end
|
76
77
78
|
# File 'lib/twitter_cldr/transforms/transforms/transform_rule.rb', line 76
def is_transform_rule?
true
end
|