Class: Liquid2::ObjectLiteralItem

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

Overview

A key/value pair belonging to an object literal.

Instance Attribute Summary collapse

Attributes inherited from Expression

#token

Instance Method Summary collapse

Methods inherited from Expression

#scope

Constructor Details

#initialize(token, name, value, spread: false) ⇒ ObjectLiteralItem

Returns a new instance of ObjectLiteralItem.

Parameters:



40
41
42
43
44
45
46
# File 'lib/liquid2/expressions/object.rb', line 40

def initialize(token, name, value, spread: false)
  super(token)
  @name = name
  @sym = name.to_sym
  @value = value
  @spread = spread
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



36
37
38
# File 'lib/liquid2/expressions/object.rb', line 36

def name
  @name
end

#spreadObject (readonly)

Returns the value of attribute spread.



36
37
38
# File 'lib/liquid2/expressions/object.rb', line 36

def spread
  @spread
end

#symObject (readonly)

Returns the value of attribute sym.



36
37
38
# File 'lib/liquid2/expressions/object.rb', line 36

def sym
  @sym
end

#valueObject (readonly)

Returns the value of attribute value.



36
37
38
# File 'lib/liquid2/expressions/object.rb', line 36

def value
  @value
end

Instance Method Details

#childrenObject



52
# File 'lib/liquid2/expressions/object.rb', line 52

def children = [@value]

#evaluate(context) ⇒ Object



48
49
50
# File 'lib/liquid2/expressions/object.rb', line 48

def evaluate(context)
  [@name, context.evaluate(@value)]
end