Class: Twig::TokenParser::Import

Inherits:
Base
  • Object
show all
Defined in:
lib/twig/token_parser/import.rb

Overview

Imports macros.

import ‘forms.html.twig’ as forms %

Instance Attribute Summary

Attributes inherited from Base

#parser

Instance Method Summary collapse

Instance Method Details

#parse(token) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/twig/token_parser/import.rb', line 10

def parse(token)
  macro = parser.parse_expression
  parser.stream.expect(Token::NAME_TYPE, 'as')
  name = parser.stream.expect(Token::NAME_TYPE).value
  var = Node::Expression::Variable::AssignTemplate.new(
    Node::Expression::Variable::Template.new(name, token.lineno),
    global: parser.main_scope?
  )
  parser.stream.expect(Token::BLOCK_END_TYPE)
  parser.add_imported_symbol(:template, name)

  Node::Import.new(macro, var, token.lineno)
end

#tagObject



24
25
26
# File 'lib/twig/token_parser/import.rb', line 24

def tag
  'import'
end