doc/api/classes/ERBook/Document.html in erbook-9.2.0 vs doc/api/classes/ERBook/Document.html in erbook-9.2.1
- old
+ new
@@ -47,20 +47,20 @@
<dt>N</dt>
<dd>
<ul>
- <li><a href="#M000050">new</a></li>
+ <li><a href="#M000051">new</a></li>
</ul>
</dd>
<dt>T</dt>
<dd>
<ul>
- <li><a href="#M000062">to_s</a></li>
+ <li><a href="#M000052">to_s</a></li>
</ul>
</dd>
</dl>
@@ -130,13 +130,13 @@
<div class="sectiontitle">Class Public methods</div>
<div class="method">
- <div class="title" id="M000050">
+ <div class="title" id="M000051">
- <a name="M000050"></a><b>new</b>(format_name, input_text, input_file, options = {})
+ <a name="M000051"></a><b>new</b>(format_name, input_text, input_file, options = {})
</div>
<div class="description">
<h4>Parameters</h4>
@@ -164,228 +164,37 @@
<div class="sourcecode">
<p class="source-link">
- Source: <a href="javascript:toggleSource('M000050_source')" id="l_M000050_source">show</a>
+ Source: <a href="javascript:toggleSource('M000051_source')" id="l_M000051_source">show</a>
- | <a href="http://github.com/sunaku/erbook/blob/eda493a151e7b55d041d0a094c586e2c22aa63cc/lib/erbook/document.rb#L42" target="_blank" class="github_url">on GitHub</a>
+ | <a href="http://github.com/sunaku/erbook/blob/8c15499d81a4c71c3a15850bff81dc6e5d0236c5/lib/erbook/document.rb#L42" target="_blank" class="github_url">on GitHub</a>
</p>
- <div id="M000050_source" class="dyn-source">
+ <div id="M000051_source" class="dyn-source">
<pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 42</span>
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">format_name</span>, <span class="ruby-identifier">input_text</span>, <span class="ruby-identifier">input_file</span>, <span class="ruby-identifier">options</span> = {}
- <span class="ruby-comment cmt"># process format specification</span>
- <span class="ruby-ivar">@format_file</span> = <span class="ruby-identifier">format_name</span>.<span class="ruby-identifier">to_s</span>
+ <span class="ruby-identifier">load_format</span> <span class="ruby-identifier">format_name</span>
- <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span> <span class="ruby-ivar">@format_file</span> <span class="ruby-keyword kw">or</span>
- <span class="ruby-ivar">@format_file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">ERBook</span><span class="ruby-operator">::</span><span class="ruby-constant">FORMATS_DIR</span>, <span class="ruby-ivar">@format_file</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.yaml'</span>)
+ <span class="ruby-ivar">@input_text</span> = <span class="ruby-identifier">input_text</span>
+ <span class="ruby-ivar">@input_file</span> = <span class="ruby-identifier">input_file</span>
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
- <span class="ruby-keyword kw">begin</span>
- <span class="ruby-ivar">@format</span> = <span class="ruby-constant">YAML</span>.<span class="ruby-identifier">load_file</span>(<span class="ruby-ivar">@format_file</span>)
- <span class="ruby-ivar">@format</span>[<span class="ruby-identifier">:file</span>] = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-ivar">@format_file</span>)
- <span class="ruby-ivar">@format</span>[<span class="ruby-identifier">:name</span>] = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-ivar">@format_file</span>).<span class="ruby-identifier">sub</span>(<span class="ruby-regexp re">/\..*?$/</span>, <span class="ruby-value str">''</span>)
-
- <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@format</span>.<span class="ruby-identifier">key?</span> <span class="ruby-value str">'code'</span>
- <span class="ruby-identifier">eval</span> <span class="ruby-ivar">@format</span>[<span class="ruby-value str">'code'</span>].<span class="ruby-identifier">to_s</span>, <span class="ruby-constant">TOPLEVEL_BINDING</span>, <span class="ruby-node">"#{@format_file}:code"</span>
- <span class="ruby-keyword kw">end</span>
-
- <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span>
- <span class="ruby-identifier">error</span> <span class="ruby-node">"Could not load format specification file #{@format_file.inspect}"</span>
- <span class="ruby-keyword kw">end</span>
-
- <span class="ruby-ivar">@node_defs</span> = <span class="ruby-ivar">@format</span>[<span class="ruby-value str">'nodes'</span>]
-
- <span class="ruby-comment cmt"># process input document</span>
- <span class="ruby-keyword kw">begin</span>
- <span class="ruby-comment cmt"># create sandbox for input evaluation</span>
- <span class="ruby-identifier">template</span> = <span class="ruby-constant">Template</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">input_file</span>, <span class="ruby-identifier">input_text</span>, <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:unindent</span>])
- <span class="ruby-identifier">sandbox</span> = <span class="ruby-identifier">template</span>.<span class="ruby-identifier">sandbox</span>
-
- <span class="ruby-ivar">@template_vars</span> = {
- <span class="ruby-identifier">:@format</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@format</span>,
- <span class="ruby-identifier">:@roots</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@roots</span> = [], <span class="ruby-comment cmt"># root nodes of all trees</span>
- <span class="ruby-identifier">:@nodes</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@nodes</span> = [], <span class="ruby-comment cmt"># all nodes in the forest</span>
- <span class="ruby-identifier">:@nodes_by_type</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@nodes_by_type</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">h</span>,<span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = [] },
- <span class="ruby-identifier">:@stack</span> =<span class="ruby-operator">></span> [], <span class="ruby-comment cmt"># stack for all nodes</span>
- }.<span class="ruby-identifier">each_pair</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sandbox</span>.<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span>) }
-
- <span class="ruby-comment cmt">#:stopdoc:</span>
-
- <span class="ruby-comment cmt">##</span>
- <span class="ruby-comment cmt"># Handles the method call from a node</span>
- <span class="ruby-comment cmt"># placeholder in the input document.</span>
- <span class="ruby-comment cmt">#</span>
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sandbox</span>.<span class="ruby-identifier">__node_handler__</span> <span class="ruby-identifier">node_type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">node_args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">node_content</span>
- <span class="ruby-identifier">node</span> = <span class="ruby-constant">Node</span>.<span class="ruby-identifier">new</span>(
- <span class="ruby-identifier">:type</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">node_type</span>,
- <span class="ruby-identifier">:definition</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@format</span>[<span class="ruby-value str">'nodes'</span>][<span class="ruby-identifier">node_type</span>],
- <span class="ruby-identifier">:arguments</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">node_args</span>,
- <span class="ruby-identifier">:backtrace</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">caller</span>,
- <span class="ruby-identifier">:parent</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@stack</span>.<span class="ruby-identifier">last</span>,
- <span class="ruby-identifier">:children</span> =<span class="ruby-operator">></span> []
- )
-
- <span class="ruby-constant">Array</span>(<span class="ruby-identifier">node</span>.<span class="ruby-identifier">definition</span>[<span class="ruby-value str">'params'</span>]).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">param</span><span class="ruby-operator">|</span>
- <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node_args</span>.<span class="ruby-identifier">empty?</span>
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">__send__</span> <span class="ruby-node">"#{param}="</span>, <span class="ruby-identifier">node_args</span>.<span class="ruby-identifier">shift</span>
- <span class="ruby-keyword kw">end</span>
-
- <span class="ruby-ivar">@nodes</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">node</span>
- <span class="ruby-ivar">@nodes_by_type</span>[<span class="ruby-identifier">node</span>.<span class="ruby-identifier">type</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">node</span>
-
- <span class="ruby-comment cmt"># calculate ordinal number for this node</span>
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">ordinal_number?</span>
- <span class="ruby-ivar">@count_by_type</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">h</span>,<span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-value">0</span> }
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">ordinal_number</span> = (<span class="ruby-ivar">@count_by_type</span>[<span class="ruby-identifier">node</span>.<span class="ruby-identifier">type</span>] <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>)
- <span class="ruby-keyword kw">end</span>
-
- <span class="ruby-comment cmt"># assign node family</span>
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">parent</span>
- <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">children</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">node</span>
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">depth</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">depth</span>
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">depth</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">anchor?</span>
-
- <span class="ruby-comment cmt"># calculate section number for this node</span>
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">section_number?</span>
- <span class="ruby-identifier">ancestor</span> = <span class="ruby-ivar">@stack</span>.<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">find</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">section_number</span> }
- <span class="ruby-identifier">branches</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">section_number</span> }
-
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">section_number</span> = [
- <span class="ruby-identifier">ancestor</span>.<span class="ruby-identifier">section_number</span>,
- <span class="ruby-identifier">branches</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
- ].<span class="ruby-identifier">join</span>(<span class="ruby-value str">'.'</span>)
- <span class="ruby-keyword kw">end</span>
- <span class="ruby-keyword kw">else</span>
- <span class="ruby-ivar">@roots</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">node</span>
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">nil</span>
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">depth</span> = <span class="ruby-value">0</span>
-
- <span class="ruby-comment cmt"># calculate section number for this node</span>
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">section_number?</span>
- <span class="ruby-identifier">branches</span> = <span class="ruby-ivar">@roots</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">section_number</span> }
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">section_number</span> = (<span class="ruby-identifier">branches</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>).<span class="ruby-identifier">to_s</span>
- <span class="ruby-keyword kw">end</span>
- <span class="ruby-keyword kw">end</span>
-
- <span class="ruby-comment cmt"># assign node content</span>
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
- <span class="ruby-ivar">@stack</span>.<span class="ruby-identifier">push</span> <span class="ruby-identifier">node</span>
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">content</span> = <span class="ruby-identifier">__block_content__</span>(<span class="ruby-identifier">node</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">node_content</span>)
- <span class="ruby-ivar">@stack</span>.<span class="ruby-identifier">pop</span>
- <span class="ruby-keyword kw">end</span>
-
- <span class="ruby-ivar">@buffer</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">node</span>
-
- <span class="ruby-keyword kw">nil</span>
- <span class="ruby-keyword kw">end</span>
-
- <span class="ruby-comment cmt">#:startdoc:</span>
-
- <span class="ruby-ivar">@node_defs</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span><span class="ruby-operator">|</span>
- <span class="ruby-comment cmt"># XXX: using a string because define_method()</span>
- <span class="ruby-comment cmt"># does not accept a block until Ruby 1.9</span>
- <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span> = <span class="ruby-keyword kw">__FILE__</span>, <span class="ruby-keyword kw">__LINE__</span>; <span class="ruby-identifier">eval</span> <span class="ruby-node">%{
- def sandbox.#{type} *node_args, &node_content
- __node_handler__ #{type.inspect}, *node_args, &node_content
- end
- }</span>, <span class="ruby-identifier">binding</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span>
- <span class="ruby-keyword kw">end</span>
-
- <span class="ruby-comment cmt"># evaluate the input & build the document tree</span>
- <span class="ruby-identifier">template</span>.<span class="ruby-identifier">render</span>
- <span class="ruby-ivar">@processed_document</span> = <span class="ruby-identifier">template</span>.<span class="ruby-identifier">buffer</span>
-
- <span class="ruby-comment cmt"># chain block-level nodes together for local navigation</span>
- <span class="ruby-identifier">block_nodes</span> = <span class="ruby-ivar">@nodes</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">chain?</span> }
-
- <span class="ruby-identifier">require</span> <span class="ruby-value str">'enumerator'</span>
- <span class="ruby-identifier">block_nodes</span>.<span class="ruby-identifier">each_cons</span>(<span class="ruby-value">2</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
- <span class="ruby-identifier">a</span>.<span class="ruby-identifier">next_node</span> = <span class="ruby-identifier">b</span>
- <span class="ruby-identifier">b</span>.<span class="ruby-identifier">prev_node</span> = <span class="ruby-identifier">a</span>
- <span class="ruby-keyword kw">end</span>
-
- <span class="ruby-comment cmt"># calculate output for all nodes</span>
- <span class="ruby-identifier">actual_output_by_node</span> = {}
-
- <span class="ruby-identifier">visitor</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span>
- <span class="ruby-comment cmt">#</span>
- <span class="ruby-comment cmt"># allow child nodes to calculate their actual</span>
- <span class="ruby-comment cmt"># output and to set their identifier as Node#output</span>
- <span class="ruby-comment cmt">#</span>
- <span class="ruby-comment cmt"># we do this nodes first because this node's</span>
- <span class="ruby-comment cmt"># content contains the child nodes' output</span>
- <span class="ruby-comment cmt">#</span>
- <span class="ruby-identifier">n</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">visitor</span>.<span class="ruby-identifier">call</span> <span class="ruby-identifier">c</span> }
-
- <span class="ruby-comment cmt"># calculate the output for this node</span>
- <span class="ruby-identifier">actual_output</span> = <span class="ruby-constant">Template</span>.<span class="ruby-identifier">new</span>(
- <span class="ruby-node">"#{@format_file}:nodes:#{n.type}:output"</span>,
- <span class="ruby-identifier">n</span>.<span class="ruby-identifier">definition</span>[<span class="ruby-value str">'output'</span>].<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">chomp</span>
- ).<span class="ruby-identifier">render_with</span>(<span class="ruby-ivar">@template_vars</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">:@node</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">n</span>))
-
- <span class="ruby-comment cmt"># reveal child nodes' actual output in this node's actual output</span>
- <span class="ruby-identifier">n</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">silent?</span>
- <span class="ruby-comment cmt"># this child's output is not meant to be revealed at this time</span>
- <span class="ruby-keyword kw">next</span>
-
- <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">inline?</span>
- <span class="ruby-identifier">actual_output</span>[<span class="ruby-identifier">c</span>.<span class="ruby-identifier">output</span>] = <span class="ruby-identifier">actual_output_by_node</span>[<span class="ruby-identifier">c</span>]
-
- <span class="ruby-keyword kw">else</span>
- <span class="ruby-comment cmt"># remove <p> around block-level child (added by Markdown)</span>
- <span class="ruby-identifier">actual_output</span>.<span class="ruby-identifier">sub!</span> <span class="ruby-node">%r{(<p>\s*)?#{
- Regexp.quote c.output
- }(\s*</p>)?}</span> <span class="ruby-keyword kw">do</span>
- <span class="ruby-identifier">actual_output_by_node</span>[<span class="ruby-identifier">c</span>] <span class="ruby-operator">+</span>
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$1</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">$2</span>
- <span class="ruby-value str">''</span>
- <span class="ruby-keyword kw">else</span>
- [<span class="ruby-identifier">$1</span>, <span class="ruby-identifier">$2</span>].<span class="ruby-identifier">join</span>
- <span class="ruby-keyword kw">end</span>
- <span class="ruby-keyword kw">end</span>
- <span class="ruby-keyword kw">end</span>
- <span class="ruby-keyword kw">end</span>
-
- <span class="ruby-identifier">actual_output_by_node</span>[<span class="ruby-identifier">n</span>] = <span class="ruby-identifier">actual_output</span>
-
- <span class="ruby-comment cmt">#</span>
- <span class="ruby-comment cmt"># allow the parent node to calculate its actual</span>
- <span class="ruby-comment cmt"># output without interference from the output of</span>
- <span class="ruby-comment cmt"># this node (Node#to_s is aliased to Node#output)</span>
- <span class="ruby-comment cmt">#</span>
- <span class="ruby-comment cmt"># this assumes that having this node's string</span>
- <span class="ruby-comment cmt"># representation be a consecutive sequence of digits</span>
- <span class="ruby-comment cmt"># will not interfere with the text-to-whatever</span>
- <span class="ruby-comment cmt"># transformation defined by the format specification</span>
- <span class="ruby-comment cmt">#</span>
- <span class="ruby-identifier">n</span>.<span class="ruby-identifier">output</span> = <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA1</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-identifier">n</span>.<span class="ruby-identifier">object_id</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'I*'</span>).<span class="ruby-identifier">join</span>
- <span class="ruby-keyword kw">end</span>
-
- <span class="ruby-ivar">@roots</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-identifier">visitor</span>.<span class="ruby-identifier">call</span> <span class="ruby-identifier">n</span> }
-
- <span class="ruby-comment cmt"># replace the temporary identifier with each node's actual output</span>
- <span class="ruby-ivar">@nodes</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">output</span> = <span class="ruby-identifier">actual_output_by_node</span>[<span class="ruby-identifier">n</span>] }
-
- <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span>
- <span class="ruby-identifier">puts</span> <span class="ruby-identifier">input_text</span> <span class="ruby-comment cmt"># so the user can debug line numbers in stack trace</span>
- <span class="ruby-identifier">error</span> <span class="ruby-node">"Could not process input document #{input_file.inspect}"</span>
- <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">process_input_document</span>
<span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div class="sectiontitle">Instance Public methods</div>
<div class="method">
- <div class="title" id="M000062">
+ <div class="title" id="M000052">
- <a name="M000062"></a><b>to_s</b>()
+ <a name="M000052"></a><b>to_s</b>()
</div>
<div class="description">
<p>
@@ -397,19 +206,19 @@
<div class="sourcecode">
<p class="source-link">
- Source: <a href="javascript:toggleSource('M000062_source')" id="l_M000062_source">show</a>
+ Source: <a href="javascript:toggleSource('M000052_source')" id="l_M000052_source">show</a>
- | <a href="http://github.com/sunaku/erbook/blob/eda493a151e7b55d041d0a094c586e2c22aa63cc/lib/erbook/document.rb#L246" target="_blank" class="github_url">on GitHub</a>
+ | <a href="http://github.com/sunaku/erbook/blob/8c15499d81a4c71c3a15850bff81dc6e5d0236c5/lib/erbook/document.rb#L55" target="_blank" class="github_url">on GitHub</a>
</p>
- <div id="M000062_source" class="dyn-source">
- <pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 246</span>
+ <div id="M000052_source" class="dyn-source">
+ <pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 55</span>
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
<span class="ruby-constant">Template</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"#{@format_file}:output"</span>, <span class="ruby-ivar">@format</span>[<span class="ruby-value str">'output'</span>].<span class="ruby-identifier">to_s</span>).
- <span class="ruby-identifier">render_with</span>(<span class="ruby-ivar">@template_vars</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">:@content</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@processed_document</span>.<span class="ruby-identifier">join</span>))
+ <span class="ruby-identifier">render_with</span>(<span class="ruby-ivar">@template_vars</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">:@content</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@evaluated_document</span>.<span class="ruby-identifier">join</span>))
<span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
\ No newline at end of file