Class: Cutaneous::Compiler::BlockBuilder
- Inherits:
-
Object
- Object
- Cutaneous::Compiler::BlockBuilder
- Defined in:
- lib/cutaneous/compiler.rb
Overview
Converts a list of expressions into either a master or child block set.
Instance Method Summary collapse
- #assign_block_set(block_set) ⇒ Object
- #block_end ⇒ Object
- #block_start(block_name) ⇒ Object
- #block_super ⇒ Object
- #build(expressions) ⇒ Object
- #current_block ⇒ Object
- #extends(parent) ⇒ Object
-
#initialize(loader) ⇒ BlockBuilder
constructor
A new instance of BlockBuilder.
- #push(tag) ⇒ Object
Constructor Details
#initialize(loader) ⇒ BlockBuilder
Returns a new instance of BlockBuilder.
112 113 114 115 |
# File 'lib/cutaneous/compiler.rb', line 112 def initialize(loader) @loader = loader assign_block_set(BlockSet.new) end |
Instance Method Details
#assign_block_set(block_set) ⇒ Object
128 129 130 131 |
# File 'lib/cutaneous/compiler.rb', line 128 def assign_block_set(block_set) @block_set = block_set @block_set.loader = @loader end |
#block_end ⇒ Object
141 142 143 |
# File 'lib/cutaneous/compiler.rb', line 141 def block_end @block_set.block_end end |
#block_start(block_name) ⇒ Object
137 138 139 |
# File 'lib/cutaneous/compiler.rb', line 137 def block_start(block_name) @block_set.block_start(block_name) end |
#block_super ⇒ Object
145 146 147 |
# File 'lib/cutaneous/compiler.rb', line 145 def block_super push(@block_set.super_block) end |
#build(expressions) ⇒ Object
117 118 119 120 121 122 |
# File 'lib/cutaneous/compiler.rb', line 117 def build(expressions) expressions.each do |expression| expression.affect(self) end @block_set end |
#current_block ⇒ Object
133 134 135 |
# File 'lib/cutaneous/compiler.rb', line 133 def current_block @block_set.current_block end |
#extends(parent) ⇒ Object
124 125 126 |
# File 'lib/cutaneous/compiler.rb', line 124 def extends(parent) assign_block_set(ExtendedBlockSet.new(parent)) end |
#push(tag) ⇒ Object
149 150 151 |
# File 'lib/cutaneous/compiler.rb', line 149 def push(tag) @block_set.push(tag) end |