Class: PageTemplate::Template
- Inherits:
-
BlockCommand
- Object
- Command
- BlockCommand
- PageTemplate::Template
- Includes:
- NamespaceItem
- Defined in:
- lib/PageTemplate/commands.rb
Overview
Template is the top-level blockcommand object It is what is returned on Template.load() or Template.parse()
Template should only be called by the Parser, and never by anything else.
Instance Attribute Summary
Attributes included from NamespaceItem
Attributes inherited from Command
Instance Method Summary collapse
-
#initialize(parser) ⇒ Template
constructor
Template must know about the parser so it can access its namespace.
-
#output(object = nil) ⇒ Object
Template#output is a special case for a Command.
- #to_s ⇒ Object
Methods included from NamespaceItem
#clear, #delete, #get, #parser, #set, #true?
Methods inherited from BlockCommand
Constructor Details
#initialize(parser) ⇒ Template
Template must know about the parser so it can access its namespace.
159 160 161 162 |
# File 'lib/PageTemplate/commands.rb', line 159 def initialize(parser) @parser = parser super() end |
Instance Method Details
#output(object = nil) ⇒ Object
Template#output is a special case for a Command. Because Template is what’s returned by Parser.load() or Parser.parse(), the programmer may well call Template#output(anything).
If object
is a Namespace, then treat output as a typical BlockCommand. If object
is nil, then namespace is child of @namespace, and is assigned object
as its namespace
178 179 180 181 182 183 184 185 186 187 188 189 190 191 |
# File 'lib/PageTemplate/commands.rb', line 178 def output(object=nil) @parent = @parser case when object.nil? super(self) when object.is_a?(NamespaceItem) @parent = object super(self) else namespace = Namespace.new(self) namespace.object = object super(namespace) end end |
#to_s ⇒ Object
163 164 165 |
# File 'lib/PageTemplate/commands.rb', line 163 def to_s '[ Template: ' + @commandBlock.map{ |i| "[#{i.to_s}]" }.join(' ') + ']' end |