Class: Liquid2::Expression

Inherits:
Object
  • Object
show all
Defined in:
lib/liquid2/expression.rb

Overview

Base class for all expressions.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(token) ⇒ Expression

Returns a new instance of Expression.

Parameters:

  • token ([Symbol, String?, Integer])


9
10
11
# File 'lib/liquid2/expression.rb', line 9

def initialize(token)
  @token = token
end

Instance Attribute Details

#tokenObject (readonly)

Returns the value of attribute token.



6
7
8
# File 'lib/liquid2/expression.rb', line 6

def token
  @token
end

Instance Method Details

#childrenObject

Return children of this expression.



19
# File 'lib/liquid2/expression.rb', line 19

def children = []

#evaluate(_context) ⇒ Object

Parameters:

  • context

    RenderContext



14
15
16
# File 'lib/liquid2/expression.rb', line 14

def evaluate(_context)
  raise "all expressions must implement `evaluate: (RenderContext context) -> untyped`"
end

#scopeObject

Return variables this expression adds to the scope of any child expressions. Currently used by lambda expressions only.



23
# File 'lib/liquid2/expression.rb', line 23

def scope = nil