class Bade::Runtime::Block
Attributes
block[R]
@return [Proc]
name[R]
@return [String]
render_binding[R]
@return [RenderBinding]
Public Class Methods
new(name, render_binding, &block)
click to toggle source
@param [String] name name of the block @param [RenderBinding] render_binding
reference to current binding instance @param [Proc] block reference to lambda
# File lib/bade/runtime/block.rb, line 49 def initialize(name, render_binding, &block) @name = name @render_binding = render_binding @block = block end
Public Instance Methods
call(*args)
click to toggle source
# File lib/bade/runtime/block.rb, line 57 def call(*args) call!(*args) unless @block.nil? end
call!(*args)
click to toggle source
# File lib/bade/runtime/block.rb, line 61 def call!(*args) raise MissingBlockDefinitionError.new(name, :call) if @block.nil? render_binding.__buff.concat(@block.call(*args)) end
render(*args)
click to toggle source
— Rendering methods
# File lib/bade/runtime/block.rb, line 69 def render(*args) if @block.nil? '' else render!(*args) end end
render!(*args)
click to toggle source
# File lib/bade/runtime/block.rb, line 77 def render!(*args) raise MissingBlockDefinitionError.new(name, :render) if @block.nil? @block.call(*args).join end