Class: ReTemplate::Text
- Inherits:
-
ReTemplate
- Object
- ReTemplate
- ReTemplate::Text
- Defined in:
- lib/re_template/text.rb
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from ReTemplate
Instance Method Summary collapse
Methods inherited from ReTemplate
Instance Method Details
#parse!(string) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/re_template/text.rb', line 2 def parse! string self.nodes = [string] expressions.each_key do |expression| self.nodes = self.nodes.map do |node| if node.kind_of? String result = [] rest = node while match = expression.match(rest) result << match.pre_match result << expression rest = match.post_match end result << rest result.reject{|x| x == ''} else # It's not a string, so leave it alone node end end.flatten end end |
#render(values) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/re_template/text.rb', line 24 def render values result = '' nodes.each do |node| if node.kind_of? String result << node else result << values[expressions[node]] end end result end |