Class: Liquid2::FilteredExpression
- Inherits:
-
Expression
- Object
- Expression
- Liquid2::FilteredExpression
- Defined in:
- lib/liquid2/expressions/filtered.rb
Overview
A primary expression with optional filters.
Instance Attribute Summary collapse
-
#filters ⇒ Object
readonly
Returns the value of attribute filters.
Attributes inherited from Expression
Instance Method Summary collapse
- #children ⇒ Object
- #evaluate(context) ⇒ Object
-
#initialize(token, left, filters) ⇒ FilteredExpression
constructor
A new instance of FilteredExpression.
Methods inherited from Expression
Constructor Details
#initialize(token, left, filters) ⇒ FilteredExpression
Returns a new instance of FilteredExpression.
10 11 12 13 14 |
# File 'lib/liquid2/expressions/filtered.rb', line 10 def initialize(token, left, filters) super(token) @left = left @filters = filters end |
Instance Attribute Details
#filters ⇒ Object (readonly)
Returns the value of attribute filters.
8 9 10 |
# File 'lib/liquid2/expressions/filtered.rb', line 8 def filters @filters end |
Instance Method Details
#children ⇒ Object
28 |
# File 'lib/liquid2/expressions/filtered.rb', line 28 def children =[@left, *@filters] |
#evaluate(context) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/liquid2/expressions/filtered.rb', line 16 def evaluate(context) left = context.evaluate(@left) return left if @filters.nil? index = 0 while (filter = (@filters || raise)[index]) left = filter.evaluate(left, context) index += 1 end left end |