Class: Liquid2::LogicalAnd

Inherits:
Expression show all
Defined in:
lib/liquid2/expressions/logical.rb

Overview

Logical conjunction.

Instance Attribute Summary

Attributes inherited from Expression

#token

Instance Method Summary collapse

Methods inherited from Expression

#scope

Constructor Details

#initialize(token, left, right) ⇒ LogicalAnd

Returns a new instance of LogicalAnd.

Parameters:



25
26
27
28
29
# File 'lib/liquid2/expressions/logical.rb', line 25

def initialize(token, left, right)
  super(token)
  @left = left
  @right = right
end

Instance Method Details

#childrenObject



36
# File 'lib/liquid2/expressions/logical.rb', line 36

def children = [@left, @right]

#evaluate(context) ⇒ Object



31
32
33
34
# File 'lib/liquid2/expressions/logical.rb', line 31

def evaluate(context)
  left = context.evaluate(@left)
  Liquid2.truthy?(context, left) ? context.evaluate(@right) : left
end