The abstract directive superclass. Instances of derivatives of this class define template behaviour and content.
Factory method: overridden from PluginFactory.create to pass the name into constructors for parsing context.
# File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 311 311: def self::create( tag, parser, state ) 312: super( tag, tag, parser, state ) 313: end
Return the list of subdirectories to search for template nodes.
# File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 304 304: def self::derivativeDirs 305: ["arrow/template"] 306: end
Initialize a new Directive with the given type (the directive name), parser (Arrow::Template::Parser), and state (Arrow::Template::Parser::State object).
# File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 323 323: def initialize( type, parser, state ) 324: super( type ) 325: self.parse_directive_contents( parser, state ) 326: end
Return a human-readable version of the object suitable for debugging messages.
# File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 345 345: def inspect 346: %Q{<%s Directive>} % [ @type.capitalize ] 347: end
Render the directive as a String and return it.
# File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 334 334: def render( template, scope ) 335: rary = [] 336: rary << template.render_comment( self.inspect ) if 337: template._config[:debuggingComments] 338: 339: return rary 340: end
Return an HTML fragment that can be used to represent the node symbolically in a web-based introspection interface.
# File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 352 352: def to_html 353: 354: if block_given? 355: callback = Proc.new 356: super( &callback ) 357: else 358: fields = instance_variables.sort.collect {|ivar| 359: val = instance_variable_get( ivar ) 360: %q{<span class="ivar"><em>%s:</em> %s</span>} % 361: [ ivar, self.escape_html(val) ] 362: } 363: 364: super { fields.join(", ") } 365: end 366: end
Parse the contents of the directive. This is a no-op for this class; it‘s here to allow delegation of this task to subclasses.
# File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 375 375: def parse_directive_contents( parser, state ) 376: end
--- SEC00155
--- ""
--- - methods: - visibility: public aref: M000515 name: create sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 311</span>\n\ 311: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-keyword kw\">self</span><span class=\"ruby-operator\">::</span><span class=\"ruby-identifier\">create</span>( <span class=\"ruby-identifier\">tag</span>, <span class=\"ruby-identifier\">parser</span>, <span class=\"ruby-identifier\">state</span> )\n\ 312: <span class=\"ruby-keyword kw\">super</span>( <span class=\"ruby-identifier\">tag</span>, <span class=\"ruby-identifier\">tag</span>, <span class=\"ruby-identifier\">parser</span>, <span class=\"ruby-identifier\">state</span> )\n\ 313: <span class=\"ruby-keyword kw\">end</span>" m_desc: |- <p> Factory method: overridden from PluginFactory.create to pass the name into constructors for parsing context. </p> params: ( tag, parser, state ) - visibility: public aref: M000514 name: derivativeDirs sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 304</span>\n\ 304: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-keyword kw\">self</span><span class=\"ruby-operator\">::</span><span class=\"ruby-identifier\">derivativeDirs</span>\n\ 305: [<span class=\"ruby-value str\">"arrow/template"</span>]\n\ 306: <span class=\"ruby-keyword kw\">end</span>" m_desc: |- <p> Return the list of subdirectories to search for template nodes. </p> params: () - visibility: public aref: M000516 name: new sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 323</span>\n\ 323: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">initialize</span>( <span class=\"ruby-identifier\">type</span>, <span class=\"ruby-identifier\">parser</span>, <span class=\"ruby-identifier\">state</span> )\n\ 324: <span class=\"ruby-keyword kw\">super</span>( <span class=\"ruby-identifier\">type</span> )\n\ 325: <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">parse_directive_contents</span>( <span class=\"ruby-identifier\">parser</span>, <span class=\"ruby-identifier\">state</span> )\n\ 326: <span class=\"ruby-keyword kw\">end</span>" m_desc: |- <p> Initialize a <a href="Directive.html#M000516">new</a> <a href="Directive.html">Directive</a> with the given <tt>type</tt> (the directive name), <tt>parser</tt> (<a href="Parser.html">Arrow::Template::Parser</a>), and <tt>state</tt> (<a href="Parser/State.html">Arrow::Template::Parser::State</a> object). </p> params: ( type, parser, state ) category: Class type: Public - methods: - visibility: public aref: M000518 name: inspect sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 345</span>\n\ 345: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">inspect</span>\n\ 346: <span class=\"ruby-value str\">%Q{<%s Directive>}</span> <span class=\"ruby-operator\">%</span> [ <span class=\"ruby-ivar\">@type</span>.<span class=\"ruby-identifier\">capitalize</span> ]\n\ 347: <span class=\"ruby-keyword kw\">end</span>" m_desc: |- <p> Return a human-readable version of the object suitable for debugging messages. </p> params: () - visibility: public aref: M000517 name: render sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 334</span>\n\ 334: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">render</span>( <span class=\"ruby-identifier\">template</span>, <span class=\"ruby-identifier\">scope</span> )\n\ 335: <span class=\"ruby-identifier\">rary</span> = []\n\ 336: <span class=\"ruby-identifier\">rary</span> <span class=\"ruby-operator\"><<</span> <span class=\"ruby-identifier\">template</span>.<span class=\"ruby-identifier\">render_comment</span>( <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">inspect</span> ) <span class=\"ruby-keyword kw\">if</span>\n\ 337: <span class=\"ruby-identifier\">template</span>.<span class=\"ruby-identifier\">_config</span>[<span class=\"ruby-identifier\">:debuggingComments</span>]\n\ 338: \n\ 339: <span class=\"ruby-keyword kw\">return</span> <span class=\"ruby-identifier\">rary</span>\n\ 340: <span class=\"ruby-keyword kw\">end</span>" m_desc: |- <p> Render the directive as a String and return it. </p> params: ( template, scope ) - visibility: public aref: M000519 name: to_html sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 352</span>\n\ 352: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">to_html</span>\n\ 353: \n\ 354: <span class=\"ruby-keyword kw\">if</span> <span class=\"ruby-identifier\">block_given?</span>\n\ 355: <span class=\"ruby-identifier\">callback</span> = <span class=\"ruby-constant\">Proc</span>.<span class=\"ruby-identifier\">new</span>\n\ 356: <span class=\"ruby-keyword kw\">super</span>( <span class=\"ruby-operator\">&</span><span class=\"ruby-identifier\">callback</span> )\n\ 357: <span class=\"ruby-keyword kw\">else</span>\n\ 358: <span class=\"ruby-identifier\">fields</span> = <span class=\"ruby-identifier\">instance_variables</span>.<span class=\"ruby-identifier\">sort</span>.<span class=\"ruby-identifier\">collect</span> {<span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">ivar</span><span class=\"ruby-operator\">|</span>\n\ 359: <span class=\"ruby-identifier\">val</span> = <span class=\"ruby-identifier\">instance_variable_get</span>( <span class=\"ruby-identifier\">ivar</span> )\n\ 360: <span class=\"ruby-value str\">%q{<span class="ivar"><em>%s:</em> %s</span>}</span> <span class=\"ruby-operator\">%</span>\n\ 361: [ <span class=\"ruby-identifier\">ivar</span>, <span class=\"ruby-keyword kw\">self</span>.<span class=\"ruby-identifier\">escape_html</span>(<span class=\"ruby-identifier\">val</span>) ]\n\ 362: }\n\ 363: \n\ 364: <span class=\"ruby-keyword kw\">super</span> { <span class=\"ruby-identifier\">fields</span>.<span class=\"ruby-identifier\">join</span>(<span class=\"ruby-value str\">", "</span>) }\n\ 365: <span class=\"ruby-keyword kw\">end</span>\n\ 366: <span class=\"ruby-keyword kw\">end</span>" m_desc: |- <p> Return an HTML fragment that can be used to represent the node symbolically in a web-based introspection interface. </p> params: () category: Instance type: Public - methods: - visibility: protected aref: M000520 name: parse_directive_contents sourcecode: " <span class=\"ruby-comment cmt\"># File /Users/ged/source/ruby/Arrow/lib/arrow/template/nodes.rb, line 375</span>\n\ 375: <span class=\"ruby-keyword kw\">def</span> <span class=\"ruby-identifier\">parse_directive_contents</span>( <span class=\"ruby-identifier\">parser</span>, <span class=\"ruby-identifier\">state</span> )\n\ 376: <span class=\"ruby-keyword kw\">end</span>" m_desc: |- <p> Parse the contents of the directive. This is a no-op for this class; it‘s here to allow delegation of this task to subclasses. </p> params: ( parser, state ) category: Instance type: Protected
---
--- - name: SVNRev desc: |+ SVN Revision value: "%q$Rev: 437 $" - name: SVNId desc: |+ SVN Id value: "%q$Id: nodes.rb 437 2008-03-28 00:49:20Z deveiant $"
Generated with the Darkfish Rdoc Generator.