Class: Twig::TokenParser::Deprecated

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

Instance Attribute Summary

Attributes inherited from Base

#parser

Instance Method Summary collapse

Instance Method Details

#parse(token) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/twig/token_parser/deprecated.rb', line 6

def parse(token)
  stream = parser.stream
  expr = parser.parse_expression
  node = Node::Deprecated.new(expr, token.lineno)

  while stream.test(Token::NAME_TYPE)
    k = stream.current.value
    stream.next
    stream.expect(Token::OPERATOR_TYPE, '=')

    case k
    when 'package'
      node.nodes[:package] = parser.parse_expression
    when 'version'
      node.nodes[:version] = parser.parse_expression
    else
      raise Error::Syntax.new(
        "Unknown \"#{k}\" option.",
        stream.current.lineno,
        stream.source_context
      )
    end
  end

  stream.expect(Token::BLOCK_END_TYPE)

  node
end

#tagObject



35
36
37
# File 'lib/twig/token_parser/deprecated.rb', line 35

def tag
  'deprecated'
end