Class: Liquid2::LogicalOr

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

Overview

Logical disjunction.

Instance Attribute Summary

Attributes inherited from Expression

#token

Instance Method Summary collapse

Methods inherited from Expression

#scope

Constructor Details

#initialize(token, left, right) ⇒ LogicalOr

Returns a new instance of LogicalOr.

Parameters:



43
44
45
46
47
# File 'lib/liquid2/expressions/logical.rb', line 43

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

Instance Method Details

#childrenObject



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

def children = [@left, @right]

#evaluate(context) ⇒ Object



49
50
51
52
# File 'lib/liquid2/expressions/logical.rb', line 49

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