Module: Finitio::Syntax::Heading
- Includes:
- Node
- Defined in:
- lib/finitio/syntax/type/heading.rb
Instance Method Summary
collapse
Methods included from Node
included, #metadata, #resolve_ruby_const, #unique_names!
Instance Method Details
8
9
10
|
# File 'lib/finitio/syntax/type/heading.rb', line 8
def
!.nil?
end
|
#attributes(factory) ⇒ Object
16
17
18
|
# File 'lib/finitio/syntax/type/heading.rb', line 16
def attributes(factory)
captures[:attribute].map{|a| a.compile(factory) }
end
|
#compile(factory) ⇒ Object
20
21
22
23
|
# File 'lib/finitio/syntax/type/heading.rb', line 20
def compile(factory)
options = ? .compile(factory) : {}
Finitio::Heading.new(attributes(factory), options)
end
|
#multi? ⇒ Boolean
12
13
14
|
# File 'lib/finitio/syntax/type/heading.rb', line 12
def multi?
captures[:attribute].any?{|a| a.optional? } or
end
|
#to_ast ⇒ Object
25
26
27
28
29
|
# File 'lib/finitio/syntax/type/heading.rb', line 25
def to_ast
ast = captures[:attribute].map(&:to_ast).unshift(:heading)
ast << .to_ast if
ast
end
|