class BraceMarkup::Ast::Tags::Block
This is a block {{+name}}{{/name}}
Attributes
removed[RW]
Public Instance Methods
render(context, *args)
click to toggle source
# File lib/brace_markup/ast/tags/block.rb, line 11 def render(context, *args) return if @removed blocks = @parent.find_blocks(@name, exclude: self) if @body.nil? result = '' else result = @body.render(context, *args) end blocks.each do |block| ctx = block.parent.context.nil? ? context : block.parent.context rendered = block.body.render(ctx, *args) case block.arguments[:mode] when 'append', 'after' result += rendered when 'prepend', 'before' result = rendered + result else # Default's to overwrite result = rendered end block.removed = true end result end