erbook 7.3.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/doc/HelloWorld.spec CHANGED
@@ -33,8 +33,7 @@ code: |
33
33
 
34
34
  nodes:
35
35
  hello:
36
- index: true
37
- number: true
36
+ number: [section, ordinal]
38
37
  silent: false
39
38
  output: |
40
39
 
@@ -43,17 +42,17 @@ nodes:
43
42
  My name is <%= @node.name.inspect %> and these are my properties:
44
43
 
45
44
  <dl style="<%= $style %>">
46
- <dt>args</dt>
47
- <dd><code><%= @node.args.inspect %></code></dd>
45
+ <dt>arguments</dt>
46
+ <dd><code><%= @node.arguments.inspect %></code></dd>
48
47
 
49
- <dt>index</dt>
50
- <dd><code><%= @node.index.inspect %></code></dd>
48
+ <dt>section_number</dt>
49
+ <dd><code><%= @node.section_number.inspect %></code></dd>
51
50
 
52
- <dt>number</dt>
53
- <dd><code><%= @node.number.inspect %></code></dd>
51
+ <dt>ordinal_number</dt>
52
+ <dd><code><%= @node.ordinal_number.inspect %></code></dd>
54
53
 
55
- <dt>trace</dt>
56
- <dd><pre><%= @node.trace.join("\n") %></pre></dd>
54
+ <dt>backtrace</dt>
55
+ <dd><pre><%= @node.backtrace.join("\n") %></pre></dd>
57
56
 
58
57
  <dt>content</dt>
59
58
  <dd><%= @node.content %></dd>
@@ -49,7 +49,7 @@
49
49
  <dd>
50
50
  <ul>
51
51
 
52
- <li><a href="#M000046">new</a></li>
52
+ <li><a href="#M000052">new</a></li>
53
53
 
54
54
  </ul>
55
55
  </dd>
@@ -58,7 +58,7 @@
58
58
  <dd>
59
59
  <ul>
60
60
 
61
- <li><a href="#M000057">to_s</a></li>
61
+ <li><a href="#M000064">to_s</a></li>
62
62
 
63
63
  </ul>
64
64
  </dd>
@@ -132,9 +132,9 @@ All nodes in the document arranged by node type.
132
132
  <div class="sectiontitle">Class Public methods</div>
133
133
 
134
134
  <div class="method">
135
- <div class="title" id="M000046">
135
+ <div class="title" id="M000052">
136
136
 
137
- <a name="M000046"></a><b>new</b>(format_name, input_text, input_file, options = {})
137
+ <a name="M000052"></a><b>new</b>(format_name, input_text, input_file, options = {})
138
138
 
139
139
  </div>
140
140
 
@@ -166,12 +166,12 @@ specification file.
166
166
 
167
167
  <div class="sourcecode">
168
168
  <p class="source-link">
169
- Source: <a href="javascript:toggleSource('M000046_source')" id="l_M000046_source">show</a>
169
+ Source: <a href="javascript:toggleSource('M000052_source')" id="l_M000052_source">show</a>
170
170
 
171
- | <a href="http://github.com/sunaku/erbook/blob/5089c2c413ceae00ec4d0eae22d9d71c50281a2f/lib/erbook/document.rb#L42" target="_blank" class="github_url">on GitHub</a>
171
+ | <a href="http://github.com/sunaku/erbook/blob/aeaff38e68b16f53360682a1f9770747dd84ecb6/lib/erbook/document.rb#L42" target="_blank" class="github_url">on GitHub</a>
172
172
 
173
173
  </p>
174
- <div id="M000046_source" class="dyn-source">
174
+ <div id="M000052_source" class="dyn-source">
175
175
  <pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 42</span>
176
176
  <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> = {}
177
177
  <span class="ruby-comment cmt"># process format specification</span>
@@ -217,44 +217,54 @@ specification file.
217
217
  <span class="ruby-comment cmt">#</span>
218
218
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sandbox</span>.<span class="ruby-identifier">__node_impl__</span> <span class="ruby-identifier">node_type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">node_args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">node_content</span>
219
219
  <span class="ruby-identifier">node</span> = <span class="ruby-constant">Node</span>.<span class="ruby-identifier">new</span>(
220
- <span class="ruby-identifier">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">node_type</span>,
221
- <span class="ruby-identifier">:defn</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@format</span>[<span class="ruby-value str">'nodes'</span>][<span class="ruby-identifier">node_type</span>],
222
- <span class="ruby-identifier">:args</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">node_args</span>,
223
- <span class="ruby-identifier">:trace</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">caller</span>,
224
- <span class="ruby-identifier">:children</span> =<span class="ruby-operator">&gt;</span> []
220
+ <span class="ruby-identifier">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">node_type</span>,
221
+ <span class="ruby-identifier">:definition</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@format</span>[<span class="ruby-value str">'nodes'</span>][<span class="ruby-identifier">node_type</span>],
222
+ <span class="ruby-identifier">:arguments</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">node_args</span>,
223
+ <span class="ruby-identifier">:backtrace</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">caller</span>,
224
+ <span class="ruby-identifier">:parent</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@stack</span>.<span class="ruby-identifier">last</span>,
225
+ <span class="ruby-identifier">:children</span> =<span class="ruby-operator">&gt;</span> []
225
226
  )
227
+
228
+ <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>
229
+ <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>
230
+ <span class="ruby-identifier">node</span>.<span class="ruby-identifier">__send__</span> <span class="ruby-node">&quot;#{param}=&quot;</span>, <span class="ruby-identifier">node_args</span>.<span class="ruby-identifier">shift</span>
231
+ <span class="ruby-keyword kw">end</span>
232
+
226
233
  <span class="ruby-ivar">@nodes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">node</span>
227
234
  <span class="ruby-ivar">@nodes_by_type</span>[<span class="ruby-identifier">node</span>.<span class="ruby-identifier">type</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">node</span>
228
235
 
229
- <span class="ruby-comment cmt"># calculate occurrence number for this node</span>
230
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">defn</span>[<span class="ruby-value str">'number'</span>]
236
+ <span class="ruby-comment cmt"># calculate ordinal number for this node</span>
237
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">ordinal_number?</span>
231
238
  <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> }
232
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">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>)
239
+ <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>)
233
240
  <span class="ruby-keyword kw">end</span>
234
241
 
235
242
  <span class="ruby-comment cmt"># assign node family</span>
236
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span> = <span class="ruby-ivar">@stack</span>.<span class="ruby-identifier">last</span>
243
+ <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>
237
244
  <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">children</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">node</span>
238
245
  <span class="ruby-identifier">node</span>.<span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>
239
246
  <span class="ruby-identifier">node</span>.<span class="ruby-identifier">depth</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">depth</span>
240
- <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">defn</span>[<span class="ruby-value str">'depth'</span>]
247
+ <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>
241
248
 
242
- <span class="ruby-comment cmt"># calculate latex-style index number for this node</span>
243
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">defn</span>[<span class="ruby-value str">'index'</span>]
244
- <span class="ruby-identifier">ancestry</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">defn</span>[<span class="ruby-value str">'index'</span>] }.<span class="ruby-identifier">index</span>
245
- <span class="ruby-identifier">branches</span> = <span class="ruby-identifier">node</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">index</span> }
249
+ <span class="ruby-comment cmt"># calculate section number for this node</span>
250
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">section_number?</span>
251
+ <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> }
252
+ <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> }
246
253
 
247
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">index</span> = [<span class="ruby-identifier">ancestry</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>)
254
+ <span class="ruby-identifier">node</span>.<span class="ruby-identifier">section_number</span> = [
255
+ <span class="ruby-identifier">ancestor</span>.<span class="ruby-identifier">section_number</span>,
256
+ <span class="ruby-identifier">branches</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
257
+ ].<span class="ruby-identifier">join</span>(<span class="ruby-value str">'.'</span>)
248
258
  <span class="ruby-keyword kw">end</span>
249
259
  <span class="ruby-keyword kw">else</span>
250
260
  <span class="ruby-ivar">@roots</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">node</span>
251
261
  <span class="ruby-identifier">node</span>.<span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">nil</span>
252
262
  <span class="ruby-identifier">node</span>.<span class="ruby-identifier">depth</span> = <span class="ruby-value">0</span>
253
263
 
254
- <span class="ruby-comment cmt"># calculate latex-style index number for this node</span>
255
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">defn</span>[<span class="ruby-value str">'index'</span>]
256
- <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">index</span> }
257
- <span class="ruby-identifier">node</span>.<span class="ruby-identifier">index</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>
264
+ <span class="ruby-comment cmt"># calculate section number for this node</span>
265
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">section_number?</span>
266
+ <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> }
267
+ <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>
258
268
  <span class="ruby-keyword kw">end</span>
259
269
  <span class="ruby-keyword kw">end</span>
260
270
 
@@ -287,9 +297,7 @@ specification file.
287
297
  <span class="ruby-ivar">@processed_document</span> = <span class="ruby-identifier">template</span>.<span class="ruby-identifier">buffer</span>
288
298
 
289
299
  <span class="ruby-comment cmt"># chain block-level nodes together for local navigation</span>
290
- <span class="ruby-identifier">block_nodes</span> = <span class="ruby-ivar">@nodes</span>.<span class="ruby-identifier">reject</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span>
291
- <span class="ruby-identifier">n</span>.<span class="ruby-identifier">defn</span>[<span class="ruby-value str">'bypass'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">defn</span>[<span class="ruby-value str">'inline'</span>]
292
- <span class="ruby-keyword kw">end</span>
300
+ <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">anchor?</span> }
293
301
 
294
302
  <span class="ruby-identifier">require</span> <span class="ruby-value str">'enumerator'</span>
295
303
  <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>
@@ -313,16 +321,20 @@ specification file.
313
321
  <span class="ruby-comment cmt"># calculate the output for this node</span>
314
322
  <span class="ruby-identifier">actual_output</span> = <span class="ruby-constant">Template</span>.<span class="ruby-identifier">new</span>(
315
323
  <span class="ruby-node">&quot;#{@format_file}:nodes:#{n.type}:output&quot;</span>,
316
- <span class="ruby-identifier">n</span>.<span class="ruby-identifier">defn</span>[<span class="ruby-value str">'output'</span>].<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">chomp</span>
324
+ <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>
317
325
  ).<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">&gt;</span> <span class="ruby-identifier">n</span>))
318
326
 
319
327
  <span class="ruby-comment cmt"># reveal child nodes' actual output in this node's actual output</span>
320
328
  <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>
321
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">defn</span>[<span class="ruby-value str">'inline'</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">c</span>.<span class="ruby-identifier">defn</span>[<span class="ruby-value str">'bypass'</span>]
329
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">silent?</span>
330
+ <span class="ruby-comment cmt"># this child's output is not meant to be revealed at this time</span>
331
+ <span class="ruby-keyword kw">next</span>
332
+
333
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">inline?</span>
322
334
  <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>]
323
335
 
324
336
  <span class="ruby-keyword kw">else</span>
325
- <span class="ruby-comment cmt"># pull block-level node out of paragraph tag added by Maruku</span>
337
+ <span class="ruby-comment cmt"># pull block-level child out of paragraph tag added by Maruku</span>
326
338
  <span class="ruby-identifier">actual_output</span>.<span class="ruby-identifier">sub!</span> <span class="ruby-node">%r/(&lt;p&gt;\s*)?#{Regexp.quote c.output}/</span> <span class="ruby-keyword kw">do</span>
327
339
  <span class="ruby-identifier">actual_output_by_node</span>[<span class="ruby-identifier">c</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_s</span>
328
340
  <span class="ruby-keyword kw">end</span>
@@ -362,9 +374,9 @@ specification file.
362
374
  <div class="sectiontitle">Instance Public methods</div>
363
375
 
364
376
  <div class="method">
365
- <div class="title" id="M000057">
377
+ <div class="title" id="M000064">
366
378
 
367
- <a name="M000057"></a><b>to_s</b>()
379
+ <a name="M000064"></a><b>to_s</b>()
368
380
 
369
381
  </div>
370
382
 
@@ -380,13 +392,13 @@ Returns the output of this document.
380
392
 
381
393
  <div class="sourcecode">
382
394
  <p class="source-link">
383
- Source: <a href="javascript:toggleSource('M000057_source')" id="l_M000057_source">show</a>
395
+ Source: <a href="javascript:toggleSource('M000064_source')" id="l_M000064_source">show</a>
384
396
 
385
- | <a href="http://github.com/sunaku/erbook/blob/5089c2c413ceae00ec4d0eae22d9d71c50281a2f/lib/erbook/document.rb#L227" target="_blank" class="github_url">on GitHub</a>
397
+ | <a href="http://github.com/sunaku/erbook/blob/aeaff38e68b16f53360682a1f9770747dd84ecb6/lib/erbook/document.rb#L239" target="_blank" class="github_url">on GitHub</a>
386
398
 
387
399
  </p>
388
- <div id="M000057_source" class="dyn-source">
389
- <pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 227</span>
400
+ <div id="M000064_source" class="dyn-source">
401
+ <pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 239</span>
390
402
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
391
403
  <span class="ruby-constant">Template</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{@format_file}:output&quot;</span>, <span class="ruby-ivar">@format</span>[<span class="ruby-value str">'output'</span>].<span class="ruby-identifier">to_s</span>).
392
404
  <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">&gt;</span> <span class="ruby-ivar">@processed_document</span>.<span class="ruby-identifier">join</span>))
@@ -45,11 +45,49 @@
45
45
  <div class="sectiontitle">Methods</div>
46
46
  <dl class="methods">
47
47
 
48
+ <dt>A</dt>
49
+ <dd>
50
+ <ul>
51
+
52
+ <li><a href="#M000068">anchor?</a></li>
53
+
54
+ </ul>
55
+ </dd>
56
+
57
+ <dt>I</dt>
58
+ <dd>
59
+ <ul>
60
+
61
+ <li><a href="#M000069">inline?</a></li>
62
+
63
+ </ul>
64
+ </dd>
65
+
66
+ <dt>O</dt>
67
+ <dd>
68
+ <ul>
69
+
70
+ <li><a href="#M000067">ordinal_number?</a></li>
71
+
72
+ </ul>
73
+ </dd>
74
+
75
+ <dt>S</dt>
76
+ <dd>
77
+ <ul>
78
+
79
+ <li><a href="#M000066">section_number?</a>,</li>
80
+
81
+ <li><a href="#M000070">silent?</a></li>
82
+
83
+ </ul>
84
+ </dd>
85
+
48
86
  <dt>T</dt>
49
87
  <dd>
50
88
  <ul>
51
89
 
52
- <li><a href="#M000062">to_s</a></li>
90
+ <li><a href="#M000065">to_s</a></li>
53
91
 
54
92
  </ul>
55
93
  </dd>
@@ -71,9 +109,144 @@
71
109
  <div class="sectiontitle">Instance Public methods</div>
72
110
 
73
111
  <div class="method">
74
- <div class="title" id="M000062">
112
+ <div class="title" id="M000068">
113
+
114
+ <a name="M000068"></a><b>anchor?</b>()
115
+
116
+ </div>
117
+
118
+
119
+
120
+
121
+ <div class="sourcecode">
122
+ <p class="source-link">
123
+ Source: <a href="javascript:toggleSource('M000068_source')" id="l_M000068_source">show</a>
124
+
125
+ | <a href="http://github.com/sunaku/erbook/blob/aeaff38e68b16f53360682a1f9770747dd84ecb6/lib/erbook/document.rb#L269" target="_blank" class="github_url">on GitHub</a>
126
+
127
+ </p>
128
+ <div id="M000068_source" class="dyn-source">
129
+ <pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 269</span>
130
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">anchor?</span>
131
+ <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">inline?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">silent?</span>
132
+ <span class="ruby-keyword kw">end</span></pre>
133
+ </div>
134
+ </div>
135
+
136
+ </div>
137
+
138
+ <div class="method">
139
+ <div class="title" id="M000069">
140
+
141
+ <a name="M000069"></a><b>inline?</b>()
142
+
143
+ </div>
144
+
145
+
146
+
147
+
148
+ <div class="sourcecode">
149
+ <p class="source-link">
150
+ Source: <a href="javascript:toggleSource('M000069_source')" id="l_M000069_source">show</a>
151
+
152
+ | <a href="http://github.com/sunaku/erbook/blob/aeaff38e68b16f53360682a1f9770747dd84ecb6/lib/erbook/document.rb#L273" target="_blank" class="github_url">on GitHub</a>
153
+
154
+ </p>
155
+ <div id="M000069_source" class="dyn-source">
156
+ <pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 273</span>
157
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inline?</span>
158
+ <span class="ruby-identifier">definition</span>[<span class="ruby-value str">'inline'</span>]
159
+ <span class="ruby-keyword kw">end</span></pre>
160
+ </div>
161
+ </div>
162
+
163
+ </div>
164
+
165
+ <div class="method">
166
+ <div class="title" id="M000067">
167
+
168
+ <a name="M000067"></a><b>ordinal_number?</b>()
169
+
170
+ </div>
171
+
172
+
173
+
174
+
175
+ <div class="sourcecode">
176
+ <p class="source-link">
177
+ Source: <a href="javascript:toggleSource('M000067_source')" id="l_M000067_source">show</a>
178
+
179
+ | <a href="http://github.com/sunaku/erbook/blob/aeaff38e68b16f53360682a1f9770747dd84ecb6/lib/erbook/document.rb#L265" target="_blank" class="github_url">on GitHub</a>
180
+
181
+ </p>
182
+ <div id="M000067_source" class="dyn-source">
183
+ <pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 265</span>
184
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ordinal_number?</span>
185
+ <span class="ruby-constant">Array</span>(<span class="ruby-identifier">definition</span>[<span class="ruby-value str">'number'</span>]).<span class="ruby-identifier">include?</span> <span class="ruby-value str">'ordinal'</span>
186
+ <span class="ruby-keyword kw">end</span></pre>
187
+ </div>
188
+ </div>
189
+
190
+ </div>
191
+
192
+ <div class="method">
193
+ <div class="title" id="M000066">
194
+
195
+ <a name="M000066"></a><b>section_number?</b>()
196
+
197
+ </div>
198
+
199
+
200
+
201
+
202
+ <div class="sourcecode">
203
+ <p class="source-link">
204
+ Source: <a href="javascript:toggleSource('M000066_source')" id="l_M000066_source">show</a>
205
+
206
+ | <a href="http://github.com/sunaku/erbook/blob/aeaff38e68b16f53360682a1f9770747dd84ecb6/lib/erbook/document.rb#L261" target="_blank" class="github_url">on GitHub</a>
207
+
208
+ </p>
209
+ <div id="M000066_source" class="dyn-source">
210
+ <pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 261</span>
211
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">section_number?</span>
212
+ <span class="ruby-constant">Array</span>(<span class="ruby-identifier">definition</span>[<span class="ruby-value str">'number'</span>]).<span class="ruby-identifier">include?</span> <span class="ruby-value str">'section'</span>
213
+ <span class="ruby-keyword kw">end</span></pre>
214
+ </div>
215
+ </div>
216
+
217
+ </div>
218
+
219
+ <div class="method">
220
+ <div class="title" id="M000070">
221
+
222
+ <a name="M000070"></a><b>silent?</b>()
223
+
224
+ </div>
225
+
226
+
227
+
228
+
229
+ <div class="sourcecode">
230
+ <p class="source-link">
231
+ Source: <a href="javascript:toggleSource('M000070_source')" id="l_M000070_source">show</a>
232
+
233
+ | <a href="http://github.com/sunaku/erbook/blob/aeaff38e68b16f53360682a1f9770747dd84ecb6/lib/erbook/document.rb#L277" target="_blank" class="github_url">on GitHub</a>
234
+
235
+ </p>
236
+ <div id="M000070_source" class="dyn-source">
237
+ <pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 277</span>
238
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">silent?</span>
239
+ <span class="ruby-identifier">definition</span>[<span class="ruby-value str">'silent'</span>]
240
+ <span class="ruby-keyword kw">end</span></pre>
241
+ </div>
242
+ </div>
243
+
244
+ </div>
245
+
246
+ <div class="method">
247
+ <div class="title" id="M000065">
75
248
 
76
- <a name="M000062"></a><b>to_s</b>()
249
+ <a name="M000065"></a><b>to_s</b>()
77
250
 
78
251
  </div>
79
252
 
@@ -89,15 +262,19 @@ Returns the output of this node.
89
262
 
90
263
  <div class="sourcecode">
91
264
  <p class="source-link">
92
- Source: <a href="javascript:toggleSource('M000062_source')" id="l_M000062_source">show</a>
265
+ Source: <a href="javascript:toggleSource('M000065_source')" id="l_M000065_source">show</a>
93
266
 
94
- | <a href="http://github.com/sunaku/erbook/blob/5089c2c413ceae00ec4d0eae22d9d71c50281a2f/lib/erbook/document.rb#L241" target="_blank" class="github_url">on GitHub</a>
267
+ | <a href="http://github.com/sunaku/erbook/blob/aeaff38e68b16f53360682a1f9770747dd84ecb6/lib/erbook/document.rb#L253" target="_blank" class="github_url">on GitHub</a>
95
268
 
96
269
  </p>
97
- <div id="M000062_source" class="dyn-source">
98
- <pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 241</span>
270
+ <div id="M000065_source" class="dyn-source">
271
+ <pre><span class="ruby-comment cmt"># File lib/erbook/document.rb, line 253</span>
99
272
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
100
- <span class="ruby-identifier">defn</span>[<span class="ruby-value str">'silent'</span>] <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">output</span>
273
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">silent?</span>
274
+ <span class="ruby-value str">''</span>
275
+ <span class="ruby-keyword kw">else</span>
276
+ <span class="ruby-identifier">output</span>
277
+ <span class="ruby-keyword kw">end</span>
101
278
  <span class="ruby-keyword kw">end</span></pre>
102
279
  </div>
103
280
  </div>
@@ -58,7 +58,7 @@ sandboxing for isolated template rendering.
58
58
  <dd>
59
59
  <ul>
60
60
 
61
- <li><a href="#M000041">buffer</a></li>
61
+ <li><a href="#M000047">buffer</a></li>
62
62
 
63
63
  </ul>
64
64
  </dd>
@@ -67,7 +67,7 @@ sandboxing for isolated template rendering.
67
67
  <dd>
68
68
  <ul>
69
69
 
70
- <li><a href="#M000039">new</a></li>
70
+ <li><a href="#M000042">new</a></li>
71
71
 
72
72
  </ul>
73
73
  </dd>
@@ -76,9 +76,9 @@ sandboxing for isolated template rendering.
76
76
  <dd>
77
77
  <ul>
78
78
 
79
- <li><a href="#M000040">render</a>,</li>
79
+ <li><a href="#M000046">render</a>,</li>
80
80
 
81
- <li><a href="#M000042">render_with</a></li>
81
+ <li><a href="#M000048">render_with</a></li>
82
82
 
83
83
  </ul>
84
84
  </dd>
@@ -120,9 +120,9 @@ sandboxing for isolated template rendering.
120
120
  <div class="sectiontitle">Class Public methods</div>
121
121
 
122
122
  <div class="method">
123
- <div class="title" id="M000039">
123
+ <div class="title" id="M000042">
124
124
 
125
- <a name="M000039"></a><b>new</b>(source, input, unindent = true, safe_level = nil)
125
+ <a name="M000042"></a><b>new</b>(source, input, unindent = true, safe_level = nil)
126
126
 
127
127
  </div>
128
128
 
@@ -151,12 +151,12 @@ traces; so that the user can better determine the source of an error.
151
151
 
152
152
  <div class="sourcecode">
153
153
  <p class="source-link">
154
- Source: <a href="javascript:toggleSource('M000039_source')" id="l_M000039_source">show</a>
154
+ Source: <a href="javascript:toggleSource('M000042_source')" id="l_M000042_source">show</a>
155
155
 
156
156
  | <a href="http://github.com/sunaku/erbook/blob/2b6f0dba66f674e479ef2cdeb7530389bf2af169/lib/erbook/template.rb#L33" target="_blank" class="github_url">on GitHub</a>
157
157
 
158
158
  </p>
159
- <div id="M000039_source" class="dyn-source">
159
+ <div id="M000042_source" class="dyn-source">
160
160
  <pre><span class="ruby-comment cmt"># File lib/erbook/template.rb, line 33</span>
161
161
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">source</span>, <span class="ruby-identifier">input</span>, <span class="ruby-identifier">unindent</span> = <span class="ruby-keyword kw">true</span>, <span class="ruby-identifier">safe_level</span> = <span class="ruby-keyword kw">nil</span>
162
162
  <span class="ruby-keyword kw">super</span> <span class="ruby-identifier">input</span>,
@@ -184,9 +184,9 @@ traces; so that the user can better determine the source of an error.
184
184
  <div class="sectiontitle">Instance Public methods</div>
185
185
 
186
186
  <div class="method">
187
- <div class="title" id="M000041">
187
+ <div class="title" id="M000047">
188
188
 
189
- <a name="M000041"></a><b>buffer</b>()
189
+ <a name="M000047"></a><b>buffer</b>()
190
190
 
191
191
  </div>
192
192
 
@@ -202,12 +202,12 @@ Returns the result of template evaluation thus far.
202
202
 
203
203
  <div class="sourcecode">
204
204
  <p class="source-link">
205
- Source: <a href="javascript:toggleSource('M000041_source')" id="l_M000041_source">show</a>
205
+ Source: <a href="javascript:toggleSource('M000047_source')" id="l_M000047_source">show</a>
206
206
 
207
207
  | <a href="http://github.com/sunaku/erbook/blob/2b6f0dba66f674e479ef2cdeb7530389bf2af169/lib/erbook/template.rb#L64" target="_blank" class="github_url">on GitHub</a>
208
208
 
209
209
  </p>
210
- <div id="M000041_source" class="dyn-source">
210
+ <div id="M000047_source" class="dyn-source">
211
211
  <pre><span class="ruby-comment cmt"># File lib/erbook/template.rb, line 64</span>
212
212
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">buffer</span>
213
213
  <span class="ruby-ivar">@sandbox</span>.<span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-identifier">:@buffer</span>)
@@ -218,9 +218,9 @@ Returns the result of template evaluation thus far.
218
218
  </div>
219
219
 
220
220
  <div class="method">
221
- <div class="title" id="M000040">
221
+ <div class="title" id="M000046">
222
222
 
223
- <a name="M000040"></a><b>render</b>()
223
+ <a name="M000046"></a><b>render</b>()
224
224
 
225
225
  </div>
226
226
 
@@ -239,12 +239,12 @@ If no context is given, then the sandbox of this template is used.
239
239
 
240
240
  <div class="sourcecode">
241
241
  <p class="source-link">
242
- Source: <a href="javascript:toggleSource('M000040_source')" id="l_M000040_source">show</a>
242
+ Source: <a href="javascript:toggleSource('M000046_source')" id="l_M000046_source">show</a>
243
243
 
244
244
  | <a href="http://github.com/sunaku/erbook/blob/2b6f0dba66f674e479ef2cdeb7530389bf2af169/lib/erbook/template.rb#L57" target="_blank" class="github_url">on GitHub</a>
245
245
 
246
246
  </p>
247
- <div id="M000040_source" class="dyn-source">
247
+ <div id="M000046_source" class="dyn-source">
248
248
  <pre><span class="ruby-comment cmt"># File lib/erbook/template.rb, line 57</span>
249
249
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">render</span>
250
250
  <span class="ruby-keyword kw">super</span> <span class="ruby-ivar">@sandbox</span>.<span class="ruby-identifier">instance_eval</span>(<span class="ruby-value str">'binding'</span>)
@@ -255,9 +255,9 @@ If no context is given, then the sandbox of this template is used.
255
255
  </div>
256
256
 
257
257
  <div class="method">
258
- <div class="title" id="M000042">
258
+ <div class="title" id="M000048">
259
259
 
260
- <a name="M000042"></a><b>render_with</b>(inst_vars = {})
260
+ <a name="M000048"></a><b>render_with</b>(inst_vars = {})
261
261
 
262
262
  </div>
263
263
 
@@ -275,12 +275,12 @@ given instance variables, whose names must be prefixed with
275
275
 
276
276
  <div class="sourcecode">
277
277
  <p class="source-link">
278
- Source: <a href="javascript:toggleSource('M000042_source')" id="l_M000042_source">show</a>
278
+ Source: <a href="javascript:toggleSource('M000048_source')" id="l_M000048_source">show</a>
279
279
 
280
280
  | <a href="http://github.com/sunaku/erbook/blob/2b6f0dba66f674e479ef2cdeb7530389bf2af169/lib/erbook/template.rb#L72" target="_blank" class="github_url">on GitHub</a>
281
281
 
282
282
  </p>
283
- <div id="M000042_source" class="dyn-source">
283
+ <div id="M000048_source" class="dyn-source">
284
284
  <pre><span class="ruby-comment cmt"># File lib/erbook/template.rb, line 72</span>
285
285
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">render_with</span> <span class="ruby-identifier">inst_vars</span> = {}
286
286
  <span class="ruby-identifier">old_sandbox</span> = <span class="ruby-ivar">@sandbox</span>