Class: Liquid::Condition

Inherits:
Object
  • Object
show all
Defined in:
lib/liquid/condition.rb

Overview

Container for liquid nodes which conveniently wrapps decision making logic

Example:

c = Condition.new('1', '==', '1') 
c.evaluate #=> true

Direct Known Subclasses

ElseCondition

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(left = nil, operator = nil, right = nil) ⇒ Condition

Returns a new instance of Condition.



13
14
15
# File 'lib/liquid/condition.rb', line 13

def initialize(left = nil, operator = nil, right = nil)
  @left, @operator, @right = left, operator, right
end

Instance Attribute Details

#attachmentObject (readonly)

Returns the value of attribute attachment.



10
11
12
# File 'lib/liquid/condition.rb', line 10

def attachment
  @attachment
end

#leftObject

Returns the value of attribute left.



11
12
13
# File 'lib/liquid/condition.rb', line 11

def left
  @left
end

#operatorObject

Returns the value of attribute operator.



11
12
13
# File 'lib/liquid/condition.rb', line 11

def operator
  @operator
end

#rightObject

Returns the value of attribute right.



11
12
13
# File 'lib/liquid/condition.rb', line 11

def right
  @right
end

Instance Method Details

#attach(attachment) ⇒ Object



21
22
23
# File 'lib/liquid/condition.rb', line 21

def attach(attachment)
  @attachment = attachment
end

#else?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/liquid/condition.rb', line 25

def else?
  false
end

#evaluate(context = Context.new) ⇒ Object



17
18
19
# File 'lib/liquid/condition.rb', line 17

def evaluate(context = Context.new)
  interpret_condition(left, right, operator, context)
end