Class: Liquid2::AssignTag
- Inherits:
-
Tag
show all
- Defined in:
- lib/liquid2/nodes/tags/assign.rb
Overview
Instance Attribute Summary
Attributes inherited from Node
#blank, #token
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Tag
#name
Methods inherited from Node
#block_scope, #children, #partial_scope, #render_with_disabled_tag_check
Constructor Details
#initialize(token, name, expression) ⇒ AssignTag
Returns a new instance of AssignTag.
22
23
24
25
26
|
# File 'lib/liquid2/nodes/tags/assign.rb', line 22
def initialize(token, name, expression)
super(token)
@name = name
@expression = expression
end
|
Class Method Details
.parse(token, parser) ⇒ AssignTag
10
11
12
13
14
15
16
17
|
# File 'lib/liquid2/nodes/tags/assign.rb', line 10
def self.parse(token, parser)
name = parser.parse_identifier(trailing_question: false)
parser.eat(:token_assign, "malformed identifier or missing assignment operator")
expression = parser.parse_filtered_expression
parser.carry_whitespace_control
parser.eat(:token_tag_end)
new(token, name, expression)
end
|
Instance Method Details
#expressions ⇒ Object
32
|
# File 'lib/liquid2/nodes/tags/assign.rb', line 32
def expressions = [@expression]
|
#render(context, _buffer) ⇒ Object
28
29
30
|
# File 'lib/liquid2/nodes/tags/assign.rb', line 28
def render(context, _buffer)
context.assign(@name.name, context.evaluate(@expression))
end
|
#template_scope ⇒ Object
33
|
# File 'lib/liquid2/nodes/tags/assign.rb', line 33
def template_scope = [@name]
|