kwartz 3.1.2 → 3.2.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.
Files changed (140) hide show
  1. data/CHANGES +444 -0
  2. data/README.txt +4 -1
  3. data/bin/kwartz +2 -2
  4. data/doc-api/classes/Kwartz.html +16 -7
  5. data/doc-api/classes/Kwartz/Assertion.html +6 -6
  6. data/doc-api/classes/Kwartz/AssertionError.html +6 -6
  7. data/doc-api/classes/Kwartz/AttrInfo.html +71 -61
  8. data/doc-api/classes/Kwartz/BaseError.html +12 -12
  9. data/doc-api/classes/Kwartz/BaseTranslator.html +104 -74
  10. data/doc-api/classes/Kwartz/CharacterType.html +24 -24
  11. data/doc-api/classes/Kwartz/CommandOptionError.html +7 -7
  12. data/doc-api/classes/Kwartz/CommandOptions.html +50 -50
  13. data/doc-api/classes/Kwartz/Config.html +5 -0
  14. data/doc-api/classes/Kwartz/ConvertError.html +12 -12
  15. data/doc-api/classes/Kwartz/Converter.html +31 -33
  16. data/doc-api/classes/Kwartz/CssStyleParser.html +207 -168
  17. data/doc-api/classes/Kwartz/Defun.html +32 -31
  18. data/doc-api/classes/Kwartz/{HandlerArgument.html → Directive.html} +27 -53
  19. data/doc-api/classes/Kwartz/ElementInfo.html +68 -53
  20. data/doc-api/classes/Kwartz/EperlExpressionParser.html +185 -0
  21. data/doc-api/classes/Kwartz/EperlHandler.html +65 -58
  22. data/doc-api/classes/Kwartz/EperlTranslator.html +14 -7
  23. data/doc-api/classes/Kwartz/ErubisTranslator.html +14 -7
  24. data/doc-api/classes/Kwartz/ErubyTranslator.html +14 -7
  25. data/doc-api/classes/Kwartz/ExpandStatement.html +20 -20
  26. data/doc-api/classes/Kwartz/Expander.html +358 -0
  27. data/doc-api/classes/Kwartz/Handler.html +287 -157
  28. data/doc-api/classes/Kwartz/{StatementHelper.html → HandlerHelper.html} +307 -112
  29. data/doc-api/classes/Kwartz/Helper/ActionViewHelper.html +23 -23
  30. data/doc-api/classes/Kwartz/Helper/RailsTemplate.html +96 -96
  31. data/doc-api/classes/Kwartz/JstlExpressionParser.html +181 -0
  32. data/doc-api/classes/Kwartz/JstlHandler.html +134 -126
  33. data/doc-api/classes/Kwartz/JstlTranslator.html +21 -14
  34. data/doc-api/classes/Kwartz/KwartzError.html +6 -6
  35. data/doc-api/classes/Kwartz/Main.html +4 -4
  36. data/doc-api/classes/Kwartz/NativeExpression.html +19 -19
  37. data/doc-api/classes/Kwartz/NativeStatement.html +24 -24
  38. data/doc-api/classes/Kwartz/Node.html +7 -7
  39. data/doc-api/classes/Kwartz/PIErubisTranslator.html +21 -14
  40. data/doc-api/classes/Kwartz/ParseError.html +6 -6
  41. data/doc-api/classes/Kwartz/PerlExpressionParser.html +185 -0
  42. data/doc-api/classes/Kwartz/PerlHandler.html +353 -0
  43. data/doc-api/classes/Kwartz/PerlTranslator.html +226 -0
  44. data/doc-api/classes/Kwartz/PhpExpressionParser.html +185 -0
  45. data/doc-api/classes/Kwartz/PhpHandler.html +63 -56
  46. data/doc-api/classes/Kwartz/PhpTranslator.html +21 -14
  47. data/doc-api/classes/Kwartz/PresentationLogicParser.html +126 -123
  48. data/doc-api/classes/Kwartz/PrintStatement.html +18 -18
  49. data/doc-api/classes/Kwartz/RailsHandler.html +84 -85
  50. data/doc-api/classes/Kwartz/RailsTranslator.html +13 -6
  51. data/doc-api/classes/Kwartz/RubyExpressionParser.html +180 -0
  52. data/doc-api/classes/Kwartz/RubyHandler.html +73 -69
  53. data/doc-api/classes/Kwartz/RubyStyleParser.html +86 -86
  54. data/doc-api/classes/Kwartz/RubyTranslator.html +28 -21
  55. data/doc-api/classes/Kwartz/Ruleset.html +622 -1
  56. data/doc-api/classes/Kwartz/StrutsTranslator.html +14 -14
  57. data/doc-api/classes/Kwartz/TagInfo.html +52 -27
  58. data/doc-api/classes/Kwartz/TextConverter.html +75 -37
  59. data/doc-api/classes/Kwartz/Translator.html +54 -53
  60. data/doc-api/classes/Kwartz/Util.html +25 -25
  61. data/doc-api/created.rid +1 -1
  62. data/doc-api/files/__/README_txt.html +7 -2
  63. data/doc-api/files/kwartz/assert_rb.html +2 -2
  64. data/doc-api/files/kwartz/binding/eperl_rb.html +2 -2
  65. data/doc-api/files/kwartz/binding/erubis_rb.html +2 -2
  66. data/doc-api/files/kwartz/binding/eruby_rb.html +2 -2
  67. data/doc-api/files/kwartz/binding/jstl_rb.html +2 -2
  68. data/doc-api/files/kwartz/binding/perl_rb.html +115 -0
  69. data/doc-api/files/kwartz/binding/php_rb.html +2 -2
  70. data/doc-api/files/kwartz/binding/pierubis_rb.html +2 -2
  71. data/doc-api/files/kwartz/binding/rails_rb.html +2 -2
  72. data/doc-api/files/kwartz/binding/ruby_rb.html +2 -2
  73. data/doc-api/files/kwartz/binding/struts_rb.html +2 -2
  74. data/doc-api/files/kwartz/config_rb.html +2 -2
  75. data/doc-api/files/kwartz/converter_rb.html +2 -2
  76. data/doc-api/files/kwartz/defun_rb.html +2 -2
  77. data/doc-api/files/kwartz/error_rb.html +2 -2
  78. data/doc-api/files/kwartz/helper/rails_rb.html +2 -2
  79. data/doc-api/files/kwartz/main_rb.html +3 -2
  80. data/doc-api/files/kwartz/node_rb.html +2 -2
  81. data/doc-api/files/kwartz/parser_rb.html +2 -2
  82. data/doc-api/files/kwartz/translator_rb.html +2 -2
  83. data/doc-api/files/kwartz/util/assert-text-equal_rb.html +2 -2
  84. data/doc-api/files/kwartz/util/testcase-helper_rb.html +2 -2
  85. data/doc-api/files/kwartz/util_rb.html +2 -2
  86. data/doc-api/files/kwartz_rb.html +2 -2
  87. data/doc-api/fr_class_index.html +10 -5
  88. data/doc-api/fr_file_index.html +1 -0
  89. data/doc-api/fr_method_index.html +268 -239
  90. data/doc/docstyle.css +9 -3
  91. data/doc/img/fig05.png +0 -0
  92. data/doc/introduction-to-kwartz.html +3040 -0
  93. data/doc/pattern-catalog.html +5 -3
  94. data/doc/reference.html +680 -26
  95. data/doc/users-guide.html +222 -67
  96. data/kwartz.gemspec +4 -4
  97. data/lib/kwartz.rb +3 -3
  98. data/lib/kwartz/assert.rb +2 -2
  99. data/lib/kwartz/binding/eperl.rb +71 -31
  100. data/lib/kwartz/binding/erubis.rb +3 -2
  101. data/lib/kwartz/binding/eruby.rb +3 -2
  102. data/lib/kwartz/binding/jstl.rb +66 -29
  103. data/lib/kwartz/binding/perl.rb +230 -0
  104. data/lib/kwartz/binding/php.rb +69 -29
  105. data/lib/kwartz/binding/pierubis.rb +3 -2
  106. data/lib/kwartz/binding/rails.rb +18 -18
  107. data/lib/kwartz/binding/ruby.rb +74 -42
  108. data/lib/kwartz/binding/struts.rb +22 -21
  109. data/lib/kwartz/config.rb +4 -4
  110. data/lib/kwartz/converter.rb +465 -345
  111. data/lib/kwartz/defun.rb +2 -2
  112. data/lib/kwartz/error.rb +2 -2
  113. data/lib/kwartz/helper/rails.rb +2 -2
  114. data/lib/kwartz/main.rb +5 -4
  115. data/lib/kwartz/node.rb +92 -144
  116. data/lib/kwartz/parser.rb +112 -103
  117. data/lib/kwartz/translator.rb +14 -6
  118. data/lib/kwartz/util.rb +2 -2
  119. data/lib/kwartz/util/assert-text-equal.rb +2 -2
  120. data/lib/kwartz/util/testcase-helper.rb +1 -1
  121. data/test/test-compile.rb +2 -2
  122. data/test/test-compile.yaml +81 -0
  123. data/test/test-converter.rb +4 -8
  124. data/test/test-converter.yaml +152 -3
  125. data/test/test-directives.rb +2 -2
  126. data/test/test-directives.yaml +222 -0
  127. data/test/test-main.rb +6 -4
  128. data/test/test-main.yaml +66 -1
  129. data/test/test-parser.rb +12 -3
  130. data/test/test-parser.yaml +64 -51
  131. data/test/test-rails.rb +2 -2
  132. data/test/test-ruleset.rb +2 -2
  133. data/test/test-ruleset.yaml +465 -4
  134. data/test/test.log +6 -0
  135. data/test/test.rb +2 -2
  136. metadata +116 -106
  137. data/ChangeLog +0 -156
  138. data/doc-api/classes/Kwartz/DocumentRuleset.html +0 -369
  139. data/doc-api/classes/Kwartz/ElementExpander.html +0 -325
  140. data/doc-api/classes/Kwartz/ElementRuleset.html +0 -612
@@ -74,7 +74,8 @@
74
74
 
75
75
  <div id="description">
76
76
  <p>
77
- generate compiled code. see defun() method for usage.
77
+ generate compiled code. see <a href="Defun.html#M000062">defun</a>() method
78
+ for usage.
78
79
  </p>
79
80
 
80
81
  </div>
@@ -86,11 +87,11 @@ generate compiled code. see defun() method for usage.
86
87
  <h3 class="section-bar">Methods</h3>
87
88
 
88
89
  <div class="name-list">
89
- <a href="#M000014">build_defun_code</a>&nbsp;&nbsp;
90
- <a href="#M000016">build_php_code</a>&nbsp;&nbsp;
91
- <a href="#M000015">build_ruby_code</a>&nbsp;&nbsp;
92
- <a href="#M000013">compile_into_lang_code</a>&nbsp;&nbsp;
93
- <a href="#M000012">defun</a>&nbsp;&nbsp;
90
+ <a href="#M000064">build_defun_code</a>&nbsp;&nbsp;
91
+ <a href="#M000066">build_php_code</a>&nbsp;&nbsp;
92
+ <a href="#M000065">build_ruby_code</a>&nbsp;&nbsp;
93
+ <a href="#M000063">compile_into_lang_code</a>&nbsp;&nbsp;
94
+ <a href="#M000062">defun</a>&nbsp;&nbsp;
94
95
  </div>
95
96
  </div>
96
97
 
@@ -112,19 +113,19 @@ generate compiled code. see defun() method for usage.
112
113
  <div id="methods">
113
114
  <h3 class="section-bar">Public Instance methods</h3>
114
115
 
115
- <div id="method-M000014" class="method-detail">
116
- <a name="M000014"></a>
116
+ <div id="method-M000064" class="method-detail">
117
+ <a name="M000064"></a>
117
118
 
118
119
  <div class="method-heading">
119
- <a href="#M000014" class="method-signature">
120
+ <a href="#M000064" class="method-signature">
120
121
  <span class="method-name">build_defun_code</span><span class="method-args">(basename, code, lang, properties)</span>
121
122
  </a>
122
123
  </div>
123
124
 
124
125
  <div class="method-description">
125
126
  <p><a class="source-toggle" href="#"
126
- onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
127
- <div class="method-source-code" id="M000014-source">
127
+ onclick="toggleCode('M000064-source');return false;">[Source]</a></p>
128
+ <div class="method-source-code" id="M000064-source">
128
129
  <pre>
129
130
  <span class="ruby-comment cmt"># File kwartz/defun.rb, line 63</span>
130
131
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">build_defun_code</span>(<span class="ruby-identifier">basename</span>, <span class="ruby-identifier">code</span>, <span class="ruby-identifier">lang</span>, <span class="ruby-identifier">properties</span>)
@@ -142,19 +143,19 @@ generate compiled code. see defun() method for usage.
142
143
  </div>
143
144
  </div>
144
145
 
145
- <div id="method-M000016" class="method-detail">
146
- <a name="M000016"></a>
146
+ <div id="method-M000066" class="method-detail">
147
+ <a name="M000066"></a>
147
148
 
148
149
  <div class="method-heading">
149
- <a href="#M000016" class="method-signature">
150
+ <a href="#M000066" class="method-signature">
150
151
  <span class="method-name">build_php_code</span><span class="method-args">(basename, php_code, properties)</span>
151
152
  </a>
152
153
  </div>
153
154
 
154
155
  <div class="method-description">
155
156
  <p><a class="source-toggle" href="#"
156
- onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
157
- <div class="method-source-code" id="M000016-source">
157
+ onclick="toggleCode('M000066-source');return false;">[Source]</a></p>
158
+ <div class="method-source-code" id="M000066-source">
158
159
  <pre>
159
160
  <span class="ruby-comment cmt"># File kwartz/defun.rb, line 103</span>
160
161
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">build_php_code</span>(<span class="ruby-identifier">basename</span>, <span class="ruby-identifier">php_code</span>, <span class="ruby-identifier">properties</span>)
@@ -167,19 +168,19 @@ generate compiled code. see defun() method for usage.
167
168
  </div>
168
169
  </div>
169
170
 
170
- <div id="method-M000015" class="method-detail">
171
- <a name="M000015"></a>
171
+ <div id="method-M000065" class="method-detail">
172
+ <a name="M000065"></a>
172
173
 
173
174
  <div class="method-heading">
174
- <a href="#M000015" class="method-signature">
175
+ <a href="#M000065" class="method-signature">
175
176
  <span class="method-name">build_ruby_code</span><span class="method-args">(basename, ruby_code, properties)</span>
176
177
  </a>
177
178
  </div>
178
179
 
179
180
  <div class="method-description">
180
181
  <p><a class="source-toggle" href="#"
181
- onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
182
- <div class="method-source-code" id="M000015-source">
182
+ onclick="toggleCode('M000065-source');return false;">[Source]</a></p>
183
+ <div class="method-source-code" id="M000065-source">
183
184
  <pre>
184
185
  <span class="ruby-comment cmt"># File kwartz/defun.rb, line 75</span>
185
186
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">build_ruby_code</span>(<span class="ruby-identifier">basename</span>, <span class="ruby-identifier">ruby_code</span>, <span class="ruby-identifier">properties</span>)
@@ -213,19 +214,19 @@ generate compiled code. see defun() method for usage.
213
214
  </div>
214
215
  </div>
215
216
 
216
- <div id="method-M000013" class="method-detail">
217
- <a name="M000013"></a>
217
+ <div id="method-M000063" class="method-detail">
218
+ <a name="M000063"></a>
218
219
 
219
220
  <div class="method-heading">
220
- <a href="#M000013" class="method-signature">
221
+ <a href="#M000063" class="method-signature">
221
222
  <span class="method-name">compile_into_lang_code</span><span class="method-args">(output, lang, properties)</span>
222
223
  </a>
223
224
  </div>
224
225
 
225
226
  <div class="method-description">
226
227
  <p><a class="source-toggle" href="#"
227
- onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
228
- <div class="method-source-code" id="M000013-source">
228
+ onclick="toggleCode('M000063-source');return false;">[Source]</a></p>
229
+ <div class="method-source-code" id="M000063-source">
229
230
  <pre>
230
231
  <span class="ruby-comment cmt"># File kwartz/defun.rb, line 41</span>
231
232
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">compile_into_lang_code</span>(<span class="ruby-identifier">output</span>, <span class="ruby-identifier">lang</span>, <span class="ruby-identifier">properties</span>)
@@ -253,11 +254,11 @@ generate compiled code. see defun() method for usage.
253
254
  </div>
254
255
  </div>
255
256
 
256
- <div id="method-M000012" class="method-detail">
257
- <a name="M000012"></a>
257
+ <div id="method-M000062" class="method-detail">
258
+ <a name="M000062"></a>
258
259
 
259
260
  <div class="method-heading">
260
- <a href="#M000012" class="method-signature">
261
+ <a href="#M000062" class="method-signature">
261
262
  <span class="method-name">defun</span><span class="method-args">(basename, output, lang, properties={})</span>
262
263
  </a>
263
264
  </div>
@@ -284,8 +285,8 @@ command-line properties:
284
285
  --method=name : method name (default 'expand_xxx')
285
286
  </pre>
286
287
  <p><a class="source-toggle" href="#"
287
- onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
288
- <div class="method-source-code" id="M000012-source">
288
+ onclick="toggleCode('M000062-source');return false;">[Source]</a></p>
289
+ <div class="method-source-code" id="M000062-source">
289
290
  <pre>
290
291
  <span class="ruby-comment cmt"># File kwartz/defun.rb, line 34</span>
291
292
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">defun</span>(<span class="ruby-identifier">basename</span>, <span class="ruby-identifier">output</span>, <span class="ruby-identifier">lang</span>, <span class="ruby-identifier">properties</span>={})
@@ -5,7 +5,7 @@
5
5
 
6
6
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
7
  <head>
8
- <title>Class: Kwartz::HandlerArgument</title>
8
+ <title>Class: Kwartz::Directive</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
11
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
@@ -50,7 +50,7 @@
50
50
  <table class="header-table">
51
51
  <tr class="top-aligned-row">
52
52
  <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Kwartz::HandlerArgument</td>
53
+ <td class="class-name-in-header">Kwartz::Directive</td>
54
54
  </tr>
55
55
  <tr class="top-aligned-row">
56
56
  <td><strong>In:</strong></td>
@@ -80,7 +80,7 @@
80
80
 
81
81
  <div id="description">
82
82
  <p>
83
- argument data for handler
83
+ directive
84
84
  </p>
85
85
 
86
86
  </div>
@@ -92,7 +92,7 @@ argument data for handler
92
92
  <h3 class="section-bar">Methods</h3>
93
93
 
94
94
  <div class="name-list">
95
- <a href="#M000185">new</a>&nbsp;&nbsp;
95
+ <a href="#M000193">new</a>&nbsp;&nbsp;
96
96
  </div>
97
97
  </div>
98
98
 
@@ -100,13 +100,6 @@ argument data for handler
100
100
 
101
101
 
102
102
  <!-- if includes -->
103
- <div id="includes">
104
- <h3 class="section-bar">Included Modules</h3>
105
-
106
- <div id="includes-list">
107
- <span class="include-name"><a href="StatementHelper.html">StatementHelper</a></span>
108
- </div>
109
- </div>
110
103
 
111
104
  <div id="section">
112
105
 
@@ -120,43 +113,28 @@ argument data for handler
120
113
  <div class="name-list">
121
114
  <table>
122
115
  <tr class="top-aligned-row context-row">
123
- <td class="context-item-name">append_exprs</td>
124
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
125
- <td class="context-item-desc"></td>
126
- </tr>
127
- <tr class="top-aligned-row context-row">
128
- <td class="context-item-name">attr_info</td>
129
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
130
- <td class="context-item-desc"></td>
131
- </tr>
132
- <tr class="top-aligned-row context-row">
133
- <td class="context-item-name">cont_stmts</td>
134
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
135
- <td class="context-item-desc"></td>
136
- </tr>
137
- <tr class="top-aligned-row context-row">
138
- <td class="context-item-name">directive_arg</td>
139
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
116
+ <td class="context-item-name">arg</td>
117
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
140
118
  <td class="context-item-desc"></td>
141
119
  </tr>
142
120
  <tr class="top-aligned-row context-row">
143
- <td class="context-item-name">directive_name</td>
144
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
121
+ <td class="context-item-name">dattr</td>
122
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
145
123
  <td class="context-item-desc"></td>
146
124
  </tr>
147
125
  <tr class="top-aligned-row context-row">
148
- <td class="context-item-name">directive_str</td>
149
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
126
+ <td class="context-item-name">linenum</td>
127
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
150
128
  <td class="context-item-desc"></td>
151
129
  </tr>
152
130
  <tr class="top-aligned-row context-row">
153
- <td class="context-item-name">etag_info</td>
154
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
131
+ <td class="context-item-name">name</td>
132
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
155
133
  <td class="context-item-desc"></td>
156
134
  </tr>
157
135
  <tr class="top-aligned-row context-row">
158
- <td class="context-item-name">stag_info</td>
159
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
136
+ <td class="context-item-name">str</td>
137
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
160
138
  <td class="context-item-desc"></td>
161
139
  </tr>
162
140
  </table>
@@ -169,31 +147,27 @@ argument data for handler
169
147
  <div id="methods">
170
148
  <h3 class="section-bar">Public Class methods</h3>
171
149
 
172
- <div id="method-M000185" class="method-detail">
173
- <a name="M000185"></a>
150
+ <div id="method-M000193" class="method-detail">
151
+ <a name="M000193"></a>
174
152
 
175
153
  <div class="method-heading">
176
- <a href="#M000185" class="method-signature">
177
- <span class="method-name">new</span><span class="method-args">(directive_name, directive_arg, directive_str, stag_info, etag_info, cont_stmts, attr_info, append_exprs)</span>
154
+ <a href="#M000193" class="method-signature">
155
+ <span class="method-name">new</span><span class="method-args">(args={})</span>
178
156
  </a>
179
157
  </div>
180
158
 
181
159
  <div class="method-description">
182
160
  <p><a class="source-toggle" href="#"
183
- onclick="toggleCode('M000185-source');return false;">[Source]</a></p>
184
- <div class="method-source-code" id="M000185-source">
161
+ onclick="toggleCode('M000193-source');return false;">[Source]</a></p>
162
+ <div class="method-source-code" id="M000193-source">
185
163
  <pre>
186
- <span class="ruby-comment cmt"># File kwartz/converter.rb, line 552</span>
187
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">directive_name</span>, <span class="ruby-identifier">directive_arg</span>, <span class="ruby-identifier">directive_str</span>,
188
- <span class="ruby-identifier">stag_info</span>, <span class="ruby-identifier">etag_info</span>, <span class="ruby-identifier">cont_stmts</span>, <span class="ruby-identifier">attr_info</span>, <span class="ruby-identifier">append_exprs</span>)
189
- <span class="ruby-ivar">@directive_name</span> = <span class="ruby-identifier">directive_name</span>
190
- <span class="ruby-ivar">@directive_arg</span> = <span class="ruby-identifier">directive_arg</span>
191
- <span class="ruby-ivar">@directive_str</span> = <span class="ruby-identifier">directive_str</span>
192
- <span class="ruby-ivar">@stag_info</span> = <span class="ruby-identifier">stag_info</span>
193
- <span class="ruby-ivar">@etag_info</span> = <span class="ruby-identifier">etag_info</span>
194
- <span class="ruby-ivar">@cont_stmts</span> = <span class="ruby-identifier">cont_stmts</span>
195
- <span class="ruby-ivar">@attr_info</span> = <span class="ruby-identifier">attr_info</span>
196
- <span class="ruby-ivar">@append_exprs</span> = <span class="ruby-identifier">append_exprs</span>
164
+ <span class="ruby-comment cmt"># File kwartz/converter.rb, line 603</span>
165
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">args</span>={})
166
+ <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:name</span>]
167
+ <span class="ruby-ivar">@arg</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:arg</span>]
168
+ <span class="ruby-ivar">@dattr</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:dattr</span>]
169
+ <span class="ruby-ivar">@str</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:str</span>]
170
+ <span class="ruby-ivar">@linenum</span> = <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:linenum</span>]
197
171
  <span class="ruby-keyword kw">end</span>
198
172
  </pre>
199
173
  </div>
@@ -86,10 +86,10 @@
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000239">create</a>&nbsp;&nbsp;
90
- <a href="#M000240">merge</a>&nbsp;&nbsp;
91
- <a href="#M000238">merged?</a>&nbsp;&nbsp;
92
- <a href="#M000237">new</a>&nbsp;&nbsp;
89
+ <a href="#M000083">apply</a>&nbsp;&nbsp;
90
+ <a href="#M000082">create</a>&nbsp;&nbsp;
91
+ <a href="#M000084">dummy_span_tag?</a>&nbsp;&nbsp;
92
+ <a href="#M000081">new</a>&nbsp;&nbsp;
93
93
  </div>
94
94
  </div>
95
95
 
@@ -109,16 +109,31 @@
109
109
 
110
110
  <div class="name-list">
111
111
  <table>
112
+ <tr class="top-aligned-row context-row">
113
+ <td class="context-item-name">after</td>
114
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
115
+ <td class="context-item-desc"></td>
116
+ </tr>
112
117
  <tr class="top-aligned-row context-row">
113
118
  <td class="context-item-name">append_exprs</td>
114
119
  <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
115
120
  <td class="context-item-desc"></td>
116
121
  </tr>
122
+ <tr class="top-aligned-row context-row">
123
+ <td class="context-item-name">applied</td>
124
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
125
+ <td class="context-item-desc"></td>
126
+ </tr>
117
127
  <tr class="top-aligned-row context-row">
118
128
  <td class="context-item-name">attr_info</td>
119
129
  <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
120
130
  <td class="context-item-desc"></td>
121
131
  </tr>
132
+ <tr class="top-aligned-row context-row">
133
+ <td class="context-item-name">before</td>
134
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
135
+ <td class="context-item-desc"></td>
136
+ </tr>
122
137
  <tr class="top-aligned-row context-row">
123
138
  <td class="context-item-name">cont_expr</td>
124
139
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
@@ -146,7 +161,7 @@
146
161
  </tr>
147
162
  <tr class="top-aligned-row context-row">
148
163
  <td class="context-item-name">logic</td>
149
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
164
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
150
165
  <td class="context-item-desc"></td>
151
166
  </tr>
152
167
  <tr class="top-aligned-row context-row">
@@ -174,53 +189,52 @@
174
189
  <div id="methods">
175
190
  <h3 class="section-bar">Public Class methods</h3>
176
191
 
177
- <div id="method-M000239" class="method-detail">
178
- <a name="M000239"></a>
192
+ <div id="method-M000082" class="method-detail">
193
+ <a name="M000082"></a>
179
194
 
180
195
  <div class="method-heading">
181
- <a href="#M000239" class="method-signature">
196
+ <a href="#M000082" class="method-signature">
182
197
  <span class="method-name">create</span><span class="method-args">(values={})</span>
183
198
  </a>
184
199
  </div>
185
200
 
186
201
  <div class="method-description">
187
202
  <p><a class="source-toggle" href="#"
188
- onclick="toggleCode('M000239-source');return false;">[Source]</a></p>
189
- <div class="method-source-code" id="M000239-source">
203
+ onclick="toggleCode('M000082-source');return false;">[Source]</a></p>
204
+ <div class="method-source-code" id="M000082-source">
190
205
  <pre>
191
- <span class="ruby-comment cmt"># File kwartz/converter.rb, line 176</span>
206
+ <span class="ruby-comment cmt"># File kwartz/converter.rb, line 178</span>
192
207
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">values</span>={})
193
- <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">values</span>[<span class="ruby-identifier">:name</span>], <span class="ruby-identifier">values</span>[<span class="ruby-identifier">:stag</span>], <span class="ruby-identifier">values</span>[<span class="ruby-identifier">:etag</span>], <span class="ruby-identifier">values</span>[<span class="ruby-identifier">:cont</span>], <span class="ruby-identifier">values</span>[<span class="ruby-identifier">:attr</span>], <span class="ruby-identifier">values</span>[<span class="ruby-identifier">:append</span>])
208
+ <span class="ruby-identifier">v</span> = <span class="ruby-identifier">values</span>
209
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">v</span>[<span class="ruby-identifier">:name</span>], <span class="ruby-identifier">v</span>[<span class="ruby-identifier">:stag</span>], <span class="ruby-identifier">v</span>[<span class="ruby-identifier">:etag</span>], <span class="ruby-identifier">v</span>[<span class="ruby-identifier">:cont</span>], <span class="ruby-identifier">v</span>[<span class="ruby-identifier">:attr</span>], <span class="ruby-identifier">v</span>[<span class="ruby-identifier">:append</span>])
194
210
  <span class="ruby-keyword kw">end</span>
195
211
  </pre>
196
212
  </div>
197
213
  </div>
198
214
  </div>
199
215
 
200
- <div id="method-M000237" class="method-detail">
201
- <a name="M000237"></a>
216
+ <div id="method-M000081" class="method-detail">
217
+ <a name="M000081"></a>
202
218
 
203
219
  <div class="method-heading">
204
- <a href="#M000237" class="method-signature">
205
- <span class="method-name">new</span><span class="method-args">(name, stag_info, etag_info, cont_stmts, attr_info, append_exprs)</span>
220
+ <a href="#M000081" class="method-signature">
221
+ <span class="method-name">new</span><span class="method-args">(stag_info, etag_info, cont_stmts, attr_info, append_exprs)</span>
206
222
  </a>
207
223
  </div>
208
224
 
209
225
  <div class="method-description">
210
226
  <p><a class="source-toggle" href="#"
211
- onclick="toggleCode('M000237-source');return false;">[Source]</a></p>
212
- <div class="method-source-code" id="M000237-source">
227
+ onclick="toggleCode('M000081-source');return false;">[Source]</a></p>
228
+ <div class="method-source-code" id="M000081-source">
213
229
  <pre>
214
- <span class="ruby-comment cmt"># File kwartz/converter.rb, line 156</span>
215
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">stag_info</span>, <span class="ruby-identifier">etag_info</span>, <span class="ruby-identifier">cont_stmts</span>, <span class="ruby-identifier">attr_info</span>, <span class="ruby-identifier">append_exprs</span>)
216
- <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span> <span class="ruby-comment cmt"># String</span>
230
+ <span class="ruby-comment cmt"># File kwartz/converter.rb, line 162</span>
231
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">stag_info</span>, <span class="ruby-identifier">etag_info</span>, <span class="ruby-identifier">cont_stmts</span>, <span class="ruby-identifier">attr_info</span>, <span class="ruby-identifier">append_exprs</span>)
217
232
  <span class="ruby-ivar">@stag_info</span> = <span class="ruby-identifier">stag_info</span> <span class="ruby-comment cmt"># TagInfo</span>
218
233
  <span class="ruby-ivar">@etag_info</span> = <span class="ruby-identifier">etag_info</span> <span class="ruby-comment cmt"># TagInfo</span>
219
234
  <span class="ruby-ivar">@cont_stmts</span> = <span class="ruby-identifier">cont_stmts</span> <span class="ruby-comment cmt"># list of Statement</span>
220
235
  <span class="ruby-ivar">@attr_info</span> = <span class="ruby-identifier">attr_info</span> <span class="ruby-comment cmt"># AttrInfo</span>
221
236
  <span class="ruby-ivar">@append_exprs</span> = <span class="ruby-identifier">append_exprs</span> <span class="ruby-comment cmt"># list of NativeExpression</span>
222
237
  <span class="ruby-ivar">@logic</span> = [ <span class="ruby-constant">ExpandStatement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:elem</span>, <span class="ruby-ivar">@name</span>) ]
223
- <span class="ruby-ivar">@merged</span> = <span class="ruby-keyword kw">nil</span>
224
238
  <span class="ruby-keyword kw">end</span>
225
239
  </pre>
226
240
  </div>
@@ -229,68 +243,69 @@
229
243
 
230
244
  <h3 class="section-bar">Public Instance methods</h3>
231
245
 
232
- <div id="method-M000240" class="method-detail">
233
- <a name="M000240"></a>
246
+ <div id="method-M000083" class="method-detail">
247
+ <a name="M000083"></a>
234
248
 
235
249
  <div class="method-heading">
236
- <a href="#M000240" class="method-signature">
237
- <span class="method-name">merge</span><span class="method-args">(elem_ruleset)</span>
250
+ <a href="#M000083" class="method-signature">
251
+ <span class="method-name">apply</span><span class="method-args">(ruleset)</span>
238
252
  </a>
239
253
  </div>
240
254
 
241
255
  <div class="method-description">
242
256
  <p><a class="source-toggle" href="#"
243
- onclick="toggleCode('M000240-source');return false;">[Source]</a></p>
244
- <div class="method-source-code" id="M000240-source">
257
+ onclick="toggleCode('M000083-source');return false;">[Source]</a></p>
258
+ <div class="method-source-code" id="M000083-source">
245
259
  <pre>
246
- <span class="ruby-comment cmt"># File kwartz/converter.rb, line 181</span>
247
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge</span>(<span class="ruby-identifier">elem_ruleset</span>)
248
- <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@name</span>
249
- <span class="ruby-ivar">@merged</span> = <span class="ruby-identifier">elem_ruleset</span>
250
- <span class="ruby-ivar">@stag_expr</span> = <span class="ruby-identifier">_to_native_expr</span>(<span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">stag</span>)
251
- <span class="ruby-ivar">@cont_expr</span> = <span class="ruby-identifier">_to_native_expr</span>(<span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">cont</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">value</span>)
252
- <span class="ruby-ivar">@etag_expr</span> = <span class="ruby-identifier">_to_native_expr</span>(<span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">etag</span>)
253
- <span class="ruby-ivar">@elem_expr</span> = <span class="ruby-identifier">_to_native_expr</span>(<span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">elem</span>)
260
+ <span class="ruby-comment cmt"># File kwartz/converter.rb, line 184</span>
261
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">apply</span>(<span class="ruby-identifier">ruleset</span>)
262
+ <span class="ruby-identifier">r</span> = <span class="ruby-identifier">ruleset</span>
263
+ <span class="ruby-ivar">@stag_expr</span> = <span class="ruby-identifier">_to_native_expr</span>(<span class="ruby-identifier">r</span>.<span class="ruby-identifier">stag</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">stag</span>
264
+ <span class="ruby-ivar">@cont_expr</span> = <span class="ruby-identifier">_to_native_expr</span>(<span class="ruby-identifier">r</span>.<span class="ruby-identifier">cont</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">cont</span>
265
+ <span class="ruby-ivar">@etag_expr</span> = <span class="ruby-identifier">_to_native_expr</span>(<span class="ruby-identifier">r</span>.<span class="ruby-identifier">etag</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">etag</span>
266
+ <span class="ruby-ivar">@elem_expr</span> = <span class="ruby-identifier">_to_native_expr</span>(<span class="ruby-identifier">r</span>.<span class="ruby-identifier">elem</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">elem</span>
254
267
  <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cont_expr</span>
255
268
  <span class="ruby-ivar">@cont_stmts</span> = [ <span class="ruby-constant">PrintStatement</span>.<span class="ruby-identifier">new</span>([<span class="ruby-ivar">@cont_expr</span>]) ]
256
269
  <span class="ruby-ivar">@stag_info</span>.<span class="ruby-identifier">tail_space</span> = <span class="ruby-value str">''</span>
257
270
  <span class="ruby-ivar">@etag_info</span>.<span class="ruby-identifier">head_space</span> = <span class="ruby-value str">''</span>
258
271
  <span class="ruby-ivar">@etag_info</span>.<span class="ruby-identifier">rebuild_tag_text</span>()
259
272
  <span class="ruby-keyword kw">end</span>
260
- <span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">remove</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">aname</span><span class="ruby-operator">|</span>
273
+ <span class="ruby-identifier">r</span>.<span class="ruby-identifier">remove</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">aname</span><span class="ruby-operator">|</span>
261
274
  <span class="ruby-ivar">@attr_info</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">aname</span>)
262
- <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">remove</span>
263
- <span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">aname</span>, <span class="ruby-identifier">avalue</span><span class="ruby-operator">|</span>
275
+ <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">remove</span>
276
+ <span class="ruby-identifier">r</span>.<span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">aname</span>, <span class="ruby-identifier">avalue</span><span class="ruby-operator">|</span>
264
277
  <span class="ruby-ivar">@attr_info</span>[<span class="ruby-identifier">aname</span>] = <span class="ruby-identifier">_to_native_expr</span>(<span class="ruby-identifier">avalue</span>)
265
- <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">attrs</span>
266
- <span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">append</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">expr</span><span class="ruby-operator">|</span>
278
+ <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">attrs</span>
279
+ <span class="ruby-identifier">r</span>.<span class="ruby-identifier">append</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">expr</span><span class="ruby-operator">|</span>
267
280
  (<span class="ruby-ivar">@append_exprs</span> <span class="ruby-operator">||=</span> []) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">_to_native_expr</span>(<span class="ruby-identifier">expr</span>)
268
- <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">append</span>
269
- <span class="ruby-ivar">@tagname</span> = <span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">tagname</span>
270
- <span class="ruby-ivar">@logic</span> = <span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">logic</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">elem_ruleset</span>.<span class="ruby-identifier">logic</span>
281
+ <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">append</span>
282
+ <span class="ruby-ivar">@tagname</span> = <span class="ruby-identifier">r</span>.<span class="ruby-identifier">tagname</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">tagname</span>
283
+ <span class="ruby-ivar">@logic</span> = <span class="ruby-identifier">r</span>.<span class="ruby-identifier">logic</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">logic</span>
284
+ (<span class="ruby-ivar">@before</span> <span class="ruby-operator">||=</span> []).<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">r</span>.<span class="ruby-identifier">before</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">before</span>
285
+ (<span class="ruby-ivar">@after</span> <span class="ruby-operator">||=</span> []).<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">r</span>.<span class="ruby-identifier">after</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">after</span>
271
286
  <span class="ruby-keyword kw">end</span>
272
287
  </pre>
273
288
  </div>
274
289
  </div>
275
290
  </div>
276
291
 
277
- <div id="method-M000238" class="method-detail">
278
- <a name="M000238"></a>
292
+ <div id="method-M000084" class="method-detail">
293
+ <a name="M000084"></a>
279
294
 
280
295
  <div class="method-heading">
281
- <a href="#M000238" class="method-signature">
282
- <span class="method-name">merged?</span><span class="method-args">()</span>
296
+ <a href="#M000084" class="method-signature">
297
+ <span class="method-name">dummy_span_tag?</span><span class="method-args">(tagname='span')</span>
283
298
  </a>
284
299
  </div>
285
300
 
286
301
  <div class="method-description">
287
302
  <p><a class="source-toggle" href="#"
288
- onclick="toggleCode('M000238-source');return false;">[Source]</a></p>
289
- <div class="method-source-code" id="M000238-source">
303
+ onclick="toggleCode('M000084-source');return false;">[Source]</a></p>
304
+ <div class="method-source-code" id="M000084-source">
290
305
  <pre>
291
- <span class="ruby-comment cmt"># File kwartz/converter.rb, line 171</span>
292
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merged?</span>
293
- <span class="ruby-operator">!</span><span class="ruby-ivar">@merged</span>.<span class="ruby-identifier">nil?</span>
306
+ <span class="ruby-comment cmt"># File kwartz/converter.rb, line 212</span>
307
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dummy_span_tag?</span>(<span class="ruby-identifier">tagname</span>=<span class="ruby-value str">'span'</span>)
308
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@stag_info</span>.<span class="ruby-identifier">tagname</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">tagname</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@attr_info</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@append_exprs</span>.<span class="ruby-identifier">nil?</span>
294
309
  <span class="ruby-keyword kw">end</span>
295
310
  </pre>
296
311
  </div>