Class: Liquid::Block
Instance Attribute Summary
Attributes inherited from Tag
#line_number, #options
Instance Method Summary
collapse
Methods inherited from Tag
#name, parse, #raw
#parse_with_selected_parser
Constructor Details
#initialize(tag_name, markup, options) ⇒ Block
Returns a new instance of Block.
3
4
5
6
|
# File 'lib/liquid/block.rb', line 3
def initialize(tag_name, markup, options)
super
@blank = true
end
|
Instance Method Details
#blank? ⇒ Boolean
18
19
20
|
# File 'lib/liquid/block.rb', line 18
def blank?
@blank
end
|
#block_delimiter ⇒ Object
56
57
58
|
# File 'lib/liquid/block.rb', line 56
def block_delimiter
@block_delimiter ||= "end#{block_name}"
end
|
#block_name ⇒ Object
52
53
54
|
# File 'lib/liquid/block.rb', line 52
def block_name
@tag_name
end
|
#nodelist ⇒ Object
22
23
24
|
# File 'lib/liquid/block.rb', line 22
def nodelist
@body.nodelist
end
|
#parse(tokens) ⇒ Object
8
9
10
11
12
|
# File 'lib/liquid/block.rb', line 8
def parse(tokens)
@body = BlockBody.new
while more = parse_body(@body, tokens)
end
end
|
#render(context) ⇒ Object
14
15
16
|
# File 'lib/liquid/block.rb', line 14
def render(context)
@body.render(context)
end
|
#unknown_tag(tag, params, tokens) ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/liquid/block.rb', line 38
def unknown_tag(tag, params, tokens)
case tag
when 'else'.freeze
raise SyntaxError.new(options[:locale].t("errors.syntax.unexpected_else".freeze,
:block_name => block_name))
when 'end'.freeze
raise SyntaxError.new(options[:locale].t("errors.syntax.invalid_delimiter".freeze,
:block_name => block_name,
:block_delimiter => block_delimiter))
else
raise SyntaxError.new(options[:locale].t("errors.syntax.unknown_tag".freeze, :tag => tag))
end
end
|
#warnings ⇒ Object
warnings of this block and all sub-tags
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/liquid/block.rb', line 27
def warnings
all_warnings = []
all_warnings.concat(@warnings) if @warnings
(nodelist || []).each do |node|
all_warnings.concat(node.warnings || []) if node.respond_to?(:warnings)
end
all_warnings
end
|