kwartz 3.1.2 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
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>