optiflag 0.6 → 0.6.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. data/ReleaseNotes.txt +35 -0
  2. data/doc/classes/OptiFlag.html +439 -0
  3. data/doc/classes/OptiFlag.src/M000001.html +49 -0
  4. data/doc/classes/OptiFlag.src/M000002.html +49 -0
  5. data/doc/classes/OptiFlag.src/M000003.html +30 -0
  6. data/doc/classes/OptiFlag/Flagset.html +459 -0
  7. data/doc/classes/OptiFlag/Flagset.src/M000003.html +45 -0
  8. data/doc/classes/OptiFlag/Flagset.src/M000004.html +45 -0
  9. data/doc/classes/OptiFlag/Flagset.src/M000005.html +18 -0
  10. data/doc/classes/OptiFlag/Flagset.src/M000006.html +20 -0
  11. data/doc/classes/OptiFlag/Flagset.src/M000007.html +35 -0
  12. data/doc/classes/OptiFlag/Flagset.src/M000008.html +23 -0
  13. data/doc/classes/OptiFlag/Flagset.src/M000009.html +24 -0
  14. data/doc/classes/OptiFlag/Flagset.src/M000010.html +28 -0
  15. data/doc/classes/OptiFlag/Flagset.src/M000011.html +20 -0
  16. data/doc/classes/OptiFlag/Flagset.src/M000012.html +24 -0
  17. data/doc/classes/OptiFlag/Flagset.src/M000013.html +24 -0
  18. data/doc/classes/OptiFlag/Flagset.src/M000014.html +32 -0
  19. data/doc/classes/OptiFlag/Flagset.src/M000015.html +25 -0
  20. data/doc/classes/OptiFlag/Flagset.src/M000016.html +53 -0
  21. data/doc/classes/OptiFlag/Flagset.src/M000017.html +53 -0
  22. data/doc/classes/OptiFlag/Flagset/EachFlag.html +930 -0
  23. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000024.html +36 -0
  24. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000025.html +18 -0
  25. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000026.html +36 -0
  26. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000027.html +36 -0
  27. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000028.html +18 -0
  28. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000029.html +18 -0
  29. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000030.html +19 -0
  30. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000031.html +19 -0
  31. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000032.html +18 -0
  32. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000033.html +18 -0
  33. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000034.html +18 -0
  34. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000035.html +22 -0
  35. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000036.html +19 -0
  36. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000037.html +18 -0
  37. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000038.html +18 -0
  38. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000039.html +18 -0
  39. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000040.html +18 -0
  40. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000041.html +18 -0
  41. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000042.html +18 -0
  42. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000043.html +19 -0
  43. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000044.html +18 -0
  44. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000045.html +19 -0
  45. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000046.html +18 -0
  46. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000047.html +18 -0
  47. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000048.html +18 -0
  48. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000049.html +18 -0
  49. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000050.html +18 -0
  50. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000051.html +18 -0
  51. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000052.html +20 -0
  52. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000053.html +18 -0
  53. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000054.html +18 -0
  54. data/doc/classes/OptiFlag/Flagset/EachFlag.src/M000055.html +22 -0
  55. data/doc/classes/OptiFlag/Flagset/Errors.html +192 -0
  56. data/doc/classes/OptiFlag/Flagset/Errors.src/M000021.html +18 -0
  57. data/doc/classes/OptiFlag/Flagset/Errors.src/M000022.html +19 -0
  58. data/doc/classes/OptiFlag/Flagset/Errors.src/M000023.html +18 -0
  59. data/doc/classes/OptiFlag/Flagset/Errors.src/M000024.html +18 -0
  60. data/doc/classes/OptiFlag/Flagset/Errors.src/M000025.html +19 -0
  61. data/doc/classes/OptiFlag/Flagset/Errors.src/M000026.html +36 -0
  62. data/doc/classes/OptiFlag/Flagset/Help.html +125 -0
  63. data/doc/classes/OptiFlag/Flagset/Help/Bundle.html +160 -0
  64. data/doc/classes/OptiFlag/Flagset/Help/Bundle.src/M000018.html +18 -0
  65. data/doc/classes/OptiFlag/Flagset/Help/Bundle.src/M000019.html +18 -0
  66. data/doc/classes/OptiFlag/Flagset/Help/StandardHelpBundle.html +118 -0
  67. data/doc/classes/OptiFlag/Flagset/NewInterface.html +296 -0
  68. data/doc/classes/OptiFlag/Flagset/NewInterface.src/M000017.html +18 -0
  69. data/doc/classes/OptiFlag/Flagset/NewInterface.src/M000018.html +18 -0
  70. data/doc/classes/OptiFlag/Flagset/NewInterface.src/M000019.html +18 -0
  71. data/doc/classes/OptiFlag/Flagset/NewInterface.src/M000020.html +18 -0
  72. data/doc/classes/OptiFlag/Flagset/NewInterface.src/M000021.html +18 -0
  73. data/doc/classes/OptiFlag/Flagset/NewInterface.src/M000022.html +18 -0
  74. data/doc/classes/OptiFlag/Flagset/NewInterface.src/M000023.html +18 -0
  75. data/doc/created.rid +1 -0
  76. data/doc/files/optiflag-help_rb.html +101 -0
  77. data/doc/files/optiflag-parse_rb.html +101 -0
  78. data/doc/files/optiflag_rb.html +167 -0
  79. data/doc/files/optiflag_rb.src/M000001.html +18 -0
  80. data/doc/fr_class_index.html +34 -0
  81. data/doc/fr_file_index.html +29 -0
  82. data/doc/fr_method_index.html +82 -0
  83. data/doc/index.html +24 -0
  84. data/doc/rdoc-style.css +208 -0
  85. data/examples/example_1.rb +21 -0
  86. data/examples/example_1_1.rb +21 -0
  87. data/{doc/example → examples}/example_1_2.rb +8 -8
  88. data/examples/example_2.rb +31 -0
  89. data/{doc/example → examples}/example_2_1.rb +4 -4
  90. data/{doc/example → examples}/example_2_2.rb +7 -5
  91. data/{doc/example → examples}/example_2_3.rb +9 -9
  92. data/{doc/example → examples}/example_2_4.rb +4 -4
  93. data/{doc/example → examples}/example_2_5.rb +4 -4
  94. data/{doc/example → examples}/example_2_6.rb +6 -6
  95. data/{doc/example → examples}/example_3.rb +7 -6
  96. data/examples/example_6.rb +20 -0
  97. data/{doc/example → examples}/example_7.rb +5 -4
  98. data/examples/example_8.rb +26 -0
  99. data/optiflag-help.rb +42 -0
  100. data/optiflag-parse.rb +281 -0
  101. data/optiflag.gemspec +4 -3
  102. data/optiflag.rb +972 -0
  103. data/quick.rb +12 -0
  104. data/{test → testcases}/tc_advanced_usage_helping.rb +4 -0
  105. data/{test → testcases}/tc_basic_alternate_forms.rb +0 -0
  106. data/{test → testcases}/tc_basic_char_flags.rb +12 -12
  107. data/{test → testcases}/tc_basic_optional_flag.rb +0 -0
  108. data/{test → testcases}/tc_basic_parsing.rb +0 -0
  109. data/{test → testcases}/tc_basic_usage_helping.rb +0 -0
  110. data/{test → testcases}/tc_basic_value_validation.rb +0 -0
  111. data/{test → testcases}/tc_bug_one.rb +0 -0
  112. data/{test → testcases}/tc_bug_two.rb +0 -0
  113. data/{test → testcases}/tc_change_symbols.rb +0 -0
  114. data/{test → testcases}/tc_enumerated_value_validation.rb +0 -0
  115. data/{test → testcases}/tc_flagall.rb +4 -0
  116. data/{test → testcases}/tc_flagless_arg.rb +0 -0
  117. data/{test → testcases}/tc_keyword.rb +0 -0
  118. data/testcases/tc_new_basic_parsing.rb +51 -0
  119. data/testcases/tc_poro_tester.rb +30 -0
  120. data/{test → testcases}/tc_values_as_hash.rb +0 -0
  121. metadata +152 -52
  122. data/doc/example/example_1.rb +0 -30
  123. data/doc/example/example_1_1.rb +0 -27
  124. data/doc/example/example_2.rb +0 -28
  125. data/doc/example/example_4.rb +0 -12
  126. data/doc/example/example_5.rb +0 -26
  127. data/doc/example/example_6.rb +0 -17
  128. data/lib/optiflag.rb +0 -860
@@ -0,0 +1,930 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: OptiFlag::Flagset::EachFlag</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">OptiFlag::Flagset::EachFlag</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../files/optiflag_rb.html">
59
+ optiflag.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+ <div id="description">
82
+ <p>
83
+ The class <b><a href="EachFlag.html">EachFlag</a></b> is the template for
84
+ each flag instantiated by a <em>flag set declaration</em>. One <a
85
+ href="EachFlag.html">EachFlag</a> is instantiated for each <em>flag
86
+ declaration</em>. For example, the following <em>flag-set declaration</em>:
87
+ </p>
88
+ <pre>
89
+ module Example extend OptiFlagSet
90
+ flag &quot;dir&quot;
91
+ optional_flag &quot;log&quot;
92
+ flag &quot;username&quot;
93
+ flag &quot;password&quot;
94
+ end
95
+ </pre>
96
+ <p>
97
+ will instantiate four <a href="EachFlag.html">EachFlag</a> instances.
98
+ </p>
99
+ <p>
100
+ The <em>flag declarations</em> are methods on the <a
101
+ href="../Flagset.html">OptiFlag::Flagset</a> module that actually
102
+ instantiate each one of these <a href="EachFlag.html">EachFlag</a>
103
+ instances. They are listed in the RDoc for the <a
104
+ href="../Flagset.html">OptiFlag::Flagset</a> sub-module and are labeled as
105
+ top-level flag-declarers.
106
+ </p>
107
+ <p>
108
+ An <a href="EachFlag.html">EachFlag</a> object has many methods belonging
109
+ to different categories of usage (though nothing enforced by the language
110
+ or the code itself).
111
+ </p>
112
+ <h2>Clause Level Modifiers</h2>
113
+ <p>
114
+ These are methods that are used by the API <em>user</em> of the <a
115
+ href="../../OptiFlag.html">OptiFlag</a> suite,(i.e. a programmer of other
116
+ Ruby code but not the <a href="../../OptiFlag.html">OptiFlag</a> code
117
+ itself). These methods are used <b>within</b> a <em>flag declaration</em>.
118
+ For example, in the following code:
119
+ </p>
120
+ <pre>
121
+ module Example extend OptiFlagSet
122
+ flag &quot;dir&quot; do
123
+ alternate_forms &quot;directory&quot;,&quot;D&quot;,&quot;d&quot;
124
+ description &quot;The Appliction Directory&quot;
125
+ end
126
+ optional_flag &quot;log&quot; do
127
+ description &quot;The directory in which to find the log files&quot;
128
+ long_form &quot;logging-directory&quot; # long form is keyed after the '--' symbol
129
+ end
130
+ end
131
+ </pre>
132
+ <p>
133
+ There will be two <a href="EachFlag.html">EachFlag</a> instances
134
+ instantiated. For the first <a href="EachFlag.html">EachFlag</a> instance,
135
+ the one named &quot;dir&quot;, two of these <em>clause-level modifiers</em>
136
+ are invoked <b>on</b> the Eachflag instance by the <a
137
+ href="../../OptiFlag.html">OptiFlag</a> <b>user</b>. These clause-level
138
+ modifiers modify the expected behavior of each
139
+ </p>
140
+ <h2>List (clause API) of <em>clause level modifiers</em></h2>
141
+ <ul>
142
+ <li>&#8216;<a href="EachFlag.html#M000049">description</a>&#8217; &#8212; the
143
+ <a href="EachFlag.html#M000049">description</a> of the
144
+
145
+ </li>
146
+ <li>&#8216;<a href="EachFlag.html#M000037">required</a>&#8217; &#8212;
147
+ indicates whether this flag is <a href="EachFlag.html#M000037">required</a>
148
+
149
+ </li>
150
+ </ul>
151
+ <h2>Internal Implementation Notes</h2>
152
+ <p>
153
+ This RDoc section is of concern only to implementors of <a
154
+ href="../../OptiFlag.html">OptiFlag</a>. If you are using <a
155
+ href="../../OptiFlag.html">OptiFlag</a> in your application, chances are
156
+ this section is of little use to you.
157
+ </p>
158
+ <h3>&#8216;the&#8217; members.</h3>
159
+ <p>
160
+ Because <a href="../../OptiFlag.html">OptiFlag</a> seeks to provide a nice
161
+ DSL to the user, many of the names of the clause-level modifiers are also
162
+ useful names for methods which could access the internal field.
163
+ </p>
164
+ <p>
165
+ So, we have a problem. For instance, in the following code:
166
+ </p>
167
+ <pre>
168
+ module Example extend OptiFlagSet
169
+ flag &quot;username&quot;, :description =&gt; &quot;Database username.&quot; # alternate form
170
+
171
+ and_process!
172
+ end
173
+ </pre>
174
+ <p>
175
+ the method &#8216;<a href="EachFlag.html#M000049">description</a>&#8217;
176
+ has been written to modify the EachClass instance appropriately. But now,
177
+ if you are accessing this EachClass instance in some other part of the <a
178
+ href="../../OptiFlag.html">OptiFlag</a> internals (as, for instance, the
179
+ help functionality would), then the use of the attr syntax would clash with
180
+ this method.
181
+ </p>
182
+ <pre>
183
+ attr_accessor :description
184
+ # this meta-code would generate both the
185
+ # getter and the setter, where the getter method
186
+ # def description()
187
+ # return @desciption
188
+ # end
189
+ # would conflict with the description method we
190
+ # have provided for the user
191
+ </pre>
192
+ <p>
193
+ The solution to this problem is to leave the standard (useful) method names
194
+ for the <em>clause level modifiers</em> of the <a
195
+ href="EachFlag.html">EachFlag</a> instance and introduce another
196
+ <b>consistent</b> name for <b>the actual</b> internal field. For a while,
197
+ these internal fields and their attr&#8216;s were named
198
+ the_actual_description etc. But this proved to be a mouthful. Thereafter,
199
+ the consistent naming scheme was to place &#8216;the_&#8217; in front of
200
+ the field.
201
+ </p>
202
+ <p>
203
+ Therefore, for most of the data based <em>clause level modifiers</em> (live
204
+ &#8216;<a href="EachFlag.html#M000049">description</a>&#8217; which saves
205
+ the <a href="EachFlag.html#M000049">description</a> the user has provided),
206
+ there is provided a parallel &#8216;the_description&#8217; accessor ( or
207
+ reader or writer, depending on the needs).
208
+ </p>
209
+ <p>
210
+ In summary, &#8216;<a href="EachFlag.html#M000049">description</a>&#8217;
211
+ is a public API (for use by users of the <a
212
+ href="../../OptiFlag.html">OptiFlag</a> suite) and
213
+ &#8216;the_description&#8217; is a a package-protected API, for use by
214
+ external classes but only within the internals of <a
215
+ href="../../OptiFlag.html">OptiFlag</a> &#8212; never by the user.
216
+ </p>
217
+
218
+ </div>
219
+
220
+
221
+ </div>
222
+
223
+ <div id="method-list">
224
+ <h3 class="section-bar">Methods</h3>
225
+
226
+ <div class="name-list">
227
+ <a href="#M000043">alternate_forms</a>&nbsp;&nbsp;
228
+ <a href="#M000046">arity</a>&nbsp;&nbsp;
229
+ <a href="#M000052">as_alternate_forms</a>&nbsp;&nbsp;
230
+ <a href="#M000051">as_string_basic</a>&nbsp;&nbsp;
231
+ <a href="#M000053">as_string_extended</a>&nbsp;&nbsp;
232
+ <a href="#M000054">as_the_form_that_is_actually_used</a>&nbsp;&nbsp;
233
+ <a href="#M000050">compresses</a>&nbsp;&nbsp;
234
+ <a href="#M000047">dash_symbol</a>&nbsp;&nbsp;
235
+ <a href="#M000045">default</a>&nbsp;&nbsp;
236
+ <a href="#M000049">description</a>&nbsp;&nbsp;
237
+ <a href="#M000034">is_required</a>&nbsp;&nbsp;
238
+ <a href="#M000048">long_dash_symbol</a>&nbsp;&nbsp;
239
+ <a href="#M000044">long_form</a>&nbsp;&nbsp;
240
+ <a href="#M000027">new</a>&nbsp;&nbsp;
241
+ <a href="#M000039">no_arg</a>&nbsp;&nbsp;
242
+ <a href="#M000040">no_args</a>&nbsp;&nbsp;
243
+ <a href="#M000041">one_arg</a>&nbsp;&nbsp;
244
+ <a href="#M000038">optional</a>&nbsp;&nbsp;
245
+ <a href="#M000031">posttranslate</a>&nbsp;&nbsp;
246
+ <a href="#M000033">posttranslate_all</a>&nbsp;&nbsp;
247
+ <a href="#M000030">pretranslate</a>&nbsp;&nbsp;
248
+ <a href="#M000032">pretranslate_all</a>&nbsp;&nbsp;
249
+ <a href="#M000037">required</a>&nbsp;&nbsp;
250
+ <a href="#M000028">translate</a>&nbsp;&nbsp;
251
+ <a href="#M000029">translate_all</a>&nbsp;&nbsp;
252
+ <a href="#M000042">two_args</a>&nbsp;&nbsp;
253
+ <a href="#M000055">value=</a>&nbsp;&nbsp;
254
+ <a href="#M000036">value_in_set</a>&nbsp;&nbsp;
255
+ <a href="#M000035">value_matches</a>&nbsp;&nbsp;
256
+ <a href="#M000056">with_long_form</a>&nbsp;&nbsp;
257
+ </div>
258
+ </div>
259
+
260
+ </div>
261
+
262
+
263
+ <!-- if includes -->
264
+
265
+ <div id="section">
266
+
267
+
268
+
269
+
270
+
271
+ <div id="attribute-list">
272
+ <h3 class="section-bar">Attributes</h3>
273
+
274
+ <div class="name-list">
275
+ <table>
276
+ <tr class="top-aligned-row context-row">
277
+ <td class="context-item-name">default_used</td>
278
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
279
+ <td class="context-item-desc"></td>
280
+ </tr>
281
+ <tr class="top-aligned-row context-row">
282
+ <td class="context-item-name">enclosing_module</td>
283
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
284
+ <td class="context-item-desc"></td>
285
+ </tr>
286
+ <tr class="top-aligned-row context-row">
287
+ <td class="context-item-name">flag</td>
288
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
289
+ <td class="context-item-desc"></td>
290
+ </tr>
291
+ <tr class="top-aligned-row context-row">
292
+ <td class="context-item-name">for_extended_help</td>
293
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
294
+ <td class="context-item-desc"></td>
295
+ </tr>
296
+ <tr class="top-aligned-row context-row">
297
+ <td class="context-item-name">for_help</td>
298
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
299
+ <td class="context-item-desc"></td>
300
+ </tr>
301
+ <tr class="top-aligned-row context-row">
302
+ <td class="context-item-name">name</td>
303
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
304
+ <td class="context-item-desc"></td>
305
+ </tr>
306
+ <tr class="top-aligned-row context-row">
307
+ <td class="context-item-name">order_added</td>
308
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
309
+ <td class="context-item-desc"></td>
310
+ </tr>
311
+ <tr class="top-aligned-row context-row">
312
+ <td class="context-item-name">position_enumerated_values_validator</td>
313
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
314
+ <td class="context-item-desc"></td>
315
+ </tr>
316
+ <tr class="top-aligned-row context-row">
317
+ <td class="context-item-name">position_validator</td>
318
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
319
+ <td class="context-item-desc"></td>
320
+ </tr>
321
+ <tr class="top-aligned-row context-row">
322
+ <td class="context-item-name">proxied_bound_method</td>
323
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
324
+ <td class="context-item-desc"></td>
325
+ </tr>
326
+ <tr class="top-aligned-row context-row">
327
+ <td class="context-item-name">the_alternate_forms</td>
328
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
329
+ <td class="context-item-desc"></td>
330
+ </tr>
331
+ <tr class="top-aligned-row context-row">
332
+ <td class="context-item-name">the_arity</td>
333
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
334
+ <td class="context-item-desc"></td>
335
+ </tr>
336
+ <tr class="top-aligned-row context-row">
337
+ <td class="context-item-name">the_dash_symbol</td>
338
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
339
+ <td class="context-item-desc"></td>
340
+ </tr>
341
+ <tr class="top-aligned-row context-row">
342
+ <td class="context-item-name">the_description</td>
343
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
344
+ <td class="context-item-desc"></td>
345
+ </tr>
346
+ <tr class="top-aligned-row context-row">
347
+ <td class="context-item-name">the_form_that_is_actually_used</td>
348
+ <td class="context-item-value">&nbsp;[W]&nbsp;</td>
349
+ <td class="context-item-desc"></td>
350
+ </tr>
351
+ <tr class="top-aligned-row context-row">
352
+ <td class="context-item-name">the_is_required</td>
353
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
354
+ <td class="context-item-desc"></td>
355
+ </tr>
356
+ <tr class="top-aligned-row context-row">
357
+ <td class="context-item-name">the_long_dash_symbol</td>
358
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
359
+ <td class="context-item-desc"></td>
360
+ </tr>
361
+ <tr class="top-aligned-row context-row">
362
+ <td class="context-item-name">the_long_form</td>
363
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
364
+ <td class="context-item-desc"></td>
365
+ </tr>
366
+ <tr class="top-aligned-row context-row">
367
+ <td class="context-item-name">the_posttranslate</td>
368
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
369
+ <td class="context-item-desc"></td>
370
+ </tr>
371
+ <tr class="top-aligned-row context-row">
372
+ <td class="context-item-name">the_posttranslate_all</td>
373
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
374
+ <td class="context-item-desc"></td>
375
+ </tr>
376
+ <tr class="top-aligned-row context-row">
377
+ <td class="context-item-name">the_pretranslate</td>
378
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
379
+ <td class="context-item-desc"></td>
380
+ </tr>
381
+ <tr class="top-aligned-row context-row">
382
+ <td class="context-item-name">the_pretranslate_all</td>
383
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
384
+ <td class="context-item-desc"></td>
385
+ </tr>
386
+ <tr class="top-aligned-row context-row">
387
+ <td class="context-item-name">validation_error</td>
388
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
389
+ <td class="context-item-desc"></td>
390
+ </tr>
391
+ <tr class="top-aligned-row context-row">
392
+ <td class="context-item-name">value</td>
393
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
394
+ <td class="context-item-desc"></td>
395
+ </tr>
396
+ </table>
397
+ </div>
398
+ </div>
399
+
400
+
401
+
402
+ <!-- if method_list -->
403
+ <div id="methods">
404
+ <h3 class="section-bar">Public Class methods</h3>
405
+
406
+ <div id="method-M000027" class="method-detail">
407
+ <a name="M000027"></a>
408
+
409
+ <div class="method-heading">
410
+ <a href="EachFlag.src/M000027.html" target="Code" class="method-signature"
411
+ onclick="popupCode('EachFlag.src/M000027.html');return false;">
412
+ <span class="method-name">new</span><span class="method-args">(name,flag,enclosing_module)</span>
413
+ </a>
414
+ </div>
415
+
416
+ <div class="method-description">
417
+ </div>
418
+ </div>
419
+
420
+ <h3 class="section-bar">Public Instance methods</h3>
421
+
422
+ <div id="method-M000043" class="method-detail">
423
+ <a name="M000043"></a>
424
+
425
+ <div class="method-heading">
426
+ <a href="EachFlag.src/M000043.html" target="Code" class="method-signature"
427
+ onclick="popupCode('EachFlag.src/M000043.html');return false;">
428
+ <span class="method-name">alternate_forms</span><span class="method-args">(*args)</span>
429
+ </a>
430
+ </div>
431
+
432
+ <div class="method-description">
433
+ <p>
434
+ clause-level flag-modifier
435
+ </p>
436
+ </div>
437
+ </div>
438
+
439
+ <div id="method-M000046" class="method-detail">
440
+ <a name="M000046"></a>
441
+
442
+ <div class="method-heading">
443
+ <a href="EachFlag.src/M000046.html" target="Code" class="method-signature"
444
+ onclick="popupCode('EachFlag.src/M000046.html');return false;">
445
+ <span class="method-name">arity</span><span class="method-args">(num)</span>
446
+ </a>
447
+ </div>
448
+
449
+ <div class="method-description">
450
+ <p>
451
+ clause-level flag-modifier
452
+ </p>
453
+ </div>
454
+ </div>
455
+
456
+ <div id="method-M000052" class="method-detail">
457
+ <a name="M000052"></a>
458
+
459
+ <div class="method-heading">
460
+ <a href="EachFlag.src/M000052.html" target="Code" class="method-signature"
461
+ onclick="popupCode('EachFlag.src/M000052.html');return false;">
462
+ <span class="method-name">as_alternate_forms</span><span class="method-args">()</span>
463
+ </a>
464
+ </div>
465
+
466
+ <div class="method-description">
467
+ </div>
468
+ </div>
469
+
470
+ <div id="method-M000051" class="method-detail">
471
+ <a name="M000051"></a>
472
+
473
+ <div class="method-heading">
474
+ <a href="EachFlag.src/M000051.html" target="Code" class="method-signature"
475
+ onclick="popupCode('EachFlag.src/M000051.html');return false;">
476
+ <span class="method-name">as_string_basic</span><span class="method-args">()</span>
477
+ </a>
478
+ </div>
479
+
480
+ <div class="method-description">
481
+ </div>
482
+ </div>
483
+
484
+ <div id="method-M000053" class="method-detail">
485
+ <a name="M000053"></a>
486
+
487
+ <div class="method-heading">
488
+ <a href="EachFlag.src/M000053.html" target="Code" class="method-signature"
489
+ onclick="popupCode('EachFlag.src/M000053.html');return false;">
490
+ <span class="method-name">as_string_extended</span><span class="method-args">()</span>
491
+ </a>
492
+ </div>
493
+
494
+ <div class="method-description">
495
+ </div>
496
+ </div>
497
+
498
+ <div id="method-M000054" class="method-detail">
499
+ <a name="M000054"></a>
500
+
501
+ <div class="method-heading">
502
+ <a href="EachFlag.src/M000054.html" target="Code" class="method-signature"
503
+ onclick="popupCode('EachFlag.src/M000054.html');return false;">
504
+ <span class="method-name">as_the_form_that_is_actually_used</span><span class="method-args">()</span>
505
+ </a>
506
+ </div>
507
+
508
+ <div class="method-description">
509
+ </div>
510
+ </div>
511
+
512
+ <div id="method-M000050" class="method-detail">
513
+ <a name="M000050"></a>
514
+
515
+ <div class="method-heading">
516
+ <a href="EachFlag.src/M000050.html" target="Code" class="method-signature"
517
+ onclick="popupCode('EachFlag.src/M000050.html');return false;">
518
+ <span class="method-name">compresses</span><span class="method-args">(val=true)</span>
519
+ </a>
520
+ </div>
521
+
522
+ <div class="method-description">
523
+ <p>
524
+ clause-level flag-modifier
525
+ </p>
526
+ </div>
527
+ </div>
528
+
529
+ <div id="method-M000047" class="method-detail">
530
+ <a name="M000047"></a>
531
+
532
+ <div class="method-heading">
533
+ <a href="EachFlag.src/M000047.html" target="Code" class="method-signature"
534
+ onclick="popupCode('EachFlag.src/M000047.html');return false;">
535
+ <span class="method-name">dash_symbol</span><span class="method-args">(symb)</span>
536
+ </a>
537
+ </div>
538
+
539
+ <div class="method-description">
540
+ <p>
541
+ clause-level flag-modifier
542
+ </p>
543
+ </div>
544
+ </div>
545
+
546
+ <div id="method-M000045" class="method-detail">
547
+ <a name="M000045"></a>
548
+
549
+ <div class="method-heading">
550
+ <a href="EachFlag.src/M000045.html" target="Code" class="method-signature"
551
+ onclick="popupCode('EachFlag.src/M000045.html');return false;">
552
+ <span class="method-name">default</span><span class="method-args">(default_value)</span>
553
+ </a>
554
+ </div>
555
+
556
+ <div class="method-description">
557
+ <p>
558
+ clause-level flag-modifier
559
+ </p>
560
+ </div>
561
+ </div>
562
+
563
+ <div id="method-M000049" class="method-detail">
564
+ <a name="M000049"></a>
565
+
566
+ <div class="method-heading">
567
+ <a href="EachFlag.src/M000049.html" target="Code" class="method-signature"
568
+ onclick="popupCode('EachFlag.src/M000049.html');return false;">
569
+ <span class="method-name">description</span><span class="method-args">(desc)</span>
570
+ </a>
571
+ </div>
572
+
573
+ <div class="method-description">
574
+ <p>
575
+ clause-level flag-modifier
576
+ </p>
577
+ </div>
578
+ </div>
579
+
580
+ <div id="method-M000034" class="method-detail">
581
+ <a name="M000034"></a>
582
+
583
+ <div class="method-heading">
584
+ <a href="EachFlag.src/M000034.html" target="Code" class="method-signature"
585
+ onclick="popupCode('EachFlag.src/M000034.html');return false;">
586
+ <span class="method-name">is_required</span><span class="method-args">(yes_or_no)</span>
587
+ </a>
588
+ </div>
589
+
590
+ <div class="method-description">
591
+ <p>
592
+ clause-level flag-modifier
593
+ </p>
594
+ </div>
595
+ </div>
596
+
597
+ <div id="method-M000048" class="method-detail">
598
+ <a name="M000048"></a>
599
+
600
+ <div class="method-heading">
601
+ <a href="EachFlag.src/M000048.html" target="Code" class="method-signature"
602
+ onclick="popupCode('EachFlag.src/M000048.html');return false;">
603
+ <span class="method-name">long_dash_symbol</span><span class="method-args">(symb)</span>
604
+ </a>
605
+ </div>
606
+
607
+ <div class="method-description">
608
+ <p>
609
+ clause-level flag-modifier
610
+ </p>
611
+ </div>
612
+ </div>
613
+
614
+ <div id="method-M000044" class="method-detail">
615
+ <a name="M000044"></a>
616
+
617
+ <div class="method-heading">
618
+ <a href="EachFlag.src/M000044.html" target="Code" class="method-signature"
619
+ onclick="popupCode('EachFlag.src/M000044.html');return false;">
620
+ <span class="method-name">long_form</span><span class="method-args">(form)</span>
621
+ </a>
622
+ </div>
623
+
624
+ <div class="method-description">
625
+ <p>
626
+ clause-level flag-modifier
627
+ </p>
628
+ </div>
629
+ </div>
630
+
631
+ <div id="method-M000039" class="method-detail">
632
+ <a name="M000039"></a>
633
+
634
+ <div class="method-heading">
635
+ <a href="EachFlag.src/M000039.html" target="Code" class="method-signature"
636
+ onclick="popupCode('EachFlag.src/M000039.html');return false;">
637
+ <span class="method-name">no_arg</span><span class="method-args">()</span>
638
+ </a>
639
+ </div>
640
+
641
+ <div class="method-description">
642
+ <ul>
643
+ <li>Clause-level flag-modifier.
644
+
645
+ </li>
646
+ <li>Synonym for &#8216;<a href="EachFlag.html#M000040">no_args</a>&#8217;.
647
+
648
+ </li>
649
+ <li>Takes no arguments (for itself).
650
+
651
+ </li>
652
+ <li>Indicates that the flag takes no arguments. (i.e. the flag has zero <a
653
+ href="EachFlag.html#M000046">arity</a>).
654
+
655
+ </li>
656
+ <li>Sample usage (embedded within a <em>flag set declaration</em>):
657
+
658
+ <pre>
659
+ flag &quot;log&quot; do
660
+ no_arg
661
+ end
662
+ </pre>
663
+ </li>
664
+ </ul>
665
+ </div>
666
+ </div>
667
+
668
+ <div id="method-M000040" class="method-detail">
669
+ <a name="M000040"></a>
670
+
671
+ <div class="method-heading">
672
+ <a href="EachFlag.src/M000040.html" target="Code" class="method-signature"
673
+ onclick="popupCode('EachFlag.src/M000040.html');return false;">
674
+ <span class="method-name">no_args</span><span class="method-args">()</span>
675
+ </a>
676
+ </div>
677
+
678
+ <div class="method-description">
679
+ <p>
680
+ Clause-level flag-modifier.
681
+ </p>
682
+ </div>
683
+ </div>
684
+
685
+ <div id="method-M000041" class="method-detail">
686
+ <a name="M000041"></a>
687
+
688
+ <div class="method-heading">
689
+ <a href="EachFlag.src/M000041.html" target="Code" class="method-signature"
690
+ onclick="popupCode('EachFlag.src/M000041.html');return false;">
691
+ <span class="method-name">one_arg</span><span class="method-args">()</span>
692
+ </a>
693
+ </div>
694
+
695
+ <div class="method-description">
696
+ <p>
697
+ clause-level flag-modifier
698
+ </p>
699
+ </div>
700
+ </div>
701
+
702
+ <div id="method-M000038" class="method-detail">
703
+ <a name="M000038"></a>
704
+
705
+ <div class="method-heading">
706
+ <a href="EachFlag.src/M000038.html" target="Code" class="method-signature"
707
+ onclick="popupCode('EachFlag.src/M000038.html');return false;">
708
+ <span class="method-name">optional</span><span class="method-args">()</span>
709
+ </a>
710
+ </div>
711
+
712
+ <div class="method-description">
713
+ <p>
714
+ clause-level flag-modifier
715
+ </p>
716
+ </div>
717
+ </div>
718
+
719
+ <div id="method-M000031" class="method-detail">
720
+ <a name="M000031"></a>
721
+
722
+ <div class="method-heading">
723
+ <a href="EachFlag.src/M000031.html" target="Code" class="method-signature"
724
+ onclick="popupCode('EachFlag.src/M000031.html');return false;">
725
+ <span class="method-name">posttranslate</span><span class="method-args">(position=0,&amp;theblock)</span>
726
+ </a>
727
+ </div>
728
+
729
+ <div class="method-description">
730
+ <p>
731
+ clause-level flag-modifier
732
+ </p>
733
+ </div>
734
+ </div>
735
+
736
+ <div id="method-M000033" class="method-detail">
737
+ <a name="M000033"></a>
738
+
739
+ <div class="method-heading">
740
+ <a href="EachFlag.src/M000033.html" target="Code" class="method-signature"
741
+ onclick="popupCode('EachFlag.src/M000033.html');return false;">
742
+ <span class="method-name">posttranslate_all</span><span class="method-args">(&amp;theblock)</span>
743
+ </a>
744
+ </div>
745
+
746
+ <div class="method-description">
747
+ <p>
748
+ clause-level flag-modifier
749
+ </p>
750
+ </div>
751
+ </div>
752
+
753
+ <div id="method-M000030" class="method-detail">
754
+ <a name="M000030"></a>
755
+
756
+ <div class="method-heading">
757
+ <a href="EachFlag.src/M000030.html" target="Code" class="method-signature"
758
+ onclick="popupCode('EachFlag.src/M000030.html');return false;">
759
+ <span class="method-name">pretranslate</span><span class="method-args">(position=0,&amp;theblock)</span>
760
+ </a>
761
+ </div>
762
+
763
+ <div class="method-description">
764
+ <p>
765
+ clause-level flag-modifier
766
+ </p>
767
+ </div>
768
+ </div>
769
+
770
+ <div id="method-M000032" class="method-detail">
771
+ <a name="M000032"></a>
772
+
773
+ <div class="method-heading">
774
+ <a href="EachFlag.src/M000032.html" target="Code" class="method-signature"
775
+ onclick="popupCode('EachFlag.src/M000032.html');return false;">
776
+ <span class="method-name">pretranslate_all</span><span class="method-args">(&amp;theblock)</span>
777
+ </a>
778
+ </div>
779
+
780
+ <div class="method-description">
781
+ <p>
782
+ clause-level flag-modifier
783
+ </p>
784
+ </div>
785
+ </div>
786
+
787
+ <div id="method-M000037" class="method-detail">
788
+ <a name="M000037"></a>
789
+
790
+ <div class="method-heading">
791
+ <a href="EachFlag.src/M000037.html" target="Code" class="method-signature"
792
+ onclick="popupCode('EachFlag.src/M000037.html');return false;">
793
+ <span class="method-name">required</span><span class="method-args">()</span>
794
+ </a>
795
+ </div>
796
+
797
+ <div class="method-description">
798
+ <p>
799
+ clause-level flag-modifier
800
+ </p>
801
+ </div>
802
+ </div>
803
+
804
+ <div id="method-M000028" class="method-detail">
805
+ <a name="M000028"></a>
806
+
807
+ <div class="method-heading">
808
+ <a href="EachFlag.src/M000028.html" target="Code" class="method-signature"
809
+ onclick="popupCode('EachFlag.src/M000028.html');return false;">
810
+ <span class="method-name">translate</span><span class="method-args">(position=0,&amp;theblock)</span>
811
+ </a>
812
+ </div>
813
+
814
+ <div class="method-description">
815
+ <p>
816
+ <a href="EachFlag.html#M000028">translate</a>() is a clause-level
817
+ flag-modifier. It can be used in the following form:
818
+ </p>
819
+ </div>
820
+ </div>
821
+
822
+ <div id="method-M000029" class="method-detail">
823
+ <a name="M000029"></a>
824
+
825
+ <div class="method-heading">
826
+ <a href="EachFlag.src/M000029.html" target="Code" class="method-signature"
827
+ onclick="popupCode('EachFlag.src/M000029.html');return false;">
828
+ <span class="method-name">translate_all</span><span class="method-args">(&amp;theblock)</span>
829
+ </a>
830
+ </div>
831
+
832
+ <div class="method-description">
833
+ <p>
834
+ clause-level flag-modifier
835
+ </p>
836
+ </div>
837
+ </div>
838
+
839
+ <div id="method-M000042" class="method-detail">
840
+ <a name="M000042"></a>
841
+
842
+ <div class="method-heading">
843
+ <a href="EachFlag.src/M000042.html" target="Code" class="method-signature"
844
+ onclick="popupCode('EachFlag.src/M000042.html');return false;">
845
+ <span class="method-name">two_args</span><span class="method-args">()</span>
846
+ </a>
847
+ </div>
848
+
849
+ <div class="method-description">
850
+ <p>
851
+ clause-level flag-modifier
852
+ </p>
853
+ </div>
854
+ </div>
855
+
856
+ <div id="method-M000055" class="method-detail">
857
+ <a name="M000055"></a>
858
+
859
+ <div class="method-heading">
860
+ <a href="EachFlag.src/M000055.html" target="Code" class="method-signature"
861
+ onclick="popupCode('EachFlag.src/M000055.html');return false;">
862
+ <span class="method-name">value=</span><span class="method-args">(val)</span>
863
+ </a>
864
+ </div>
865
+
866
+ <div class="method-description">
867
+ </div>
868
+ </div>
869
+
870
+ <div id="method-M000036" class="method-detail">
871
+ <a name="M000036"></a>
872
+
873
+ <div class="method-heading">
874
+ <a href="EachFlag.src/M000036.html" target="Code" class="method-signature"
875
+ onclick="popupCode('EachFlag.src/M000036.html');return false;">
876
+ <span class="method-name">value_in_set</span><span class="method-args">(array_of_acceptable_values,arg_position=0)</span>
877
+ </a>
878
+ </div>
879
+
880
+ <div class="method-description">
881
+ <p>
882
+ clause-level flag-modifier
883
+ </p>
884
+ </div>
885
+ </div>
886
+
887
+ <div id="method-M000035" class="method-detail">
888
+ <a name="M000035"></a>
889
+
890
+ <div class="method-heading">
891
+ <a href="EachFlag.src/M000035.html" target="Code" class="method-signature"
892
+ onclick="popupCode('EachFlag.src/M000035.html');return false;">
893
+ <span class="method-name">value_matches</span><span class="method-args">(desc_regexp_pair,arg_position=0)</span>
894
+ </a>
895
+ </div>
896
+
897
+ <div class="method-description">
898
+ <p>
899
+ clause-level flag-modifier
900
+ </p>
901
+ </div>
902
+ </div>
903
+
904
+ <div id="method-M000056" class="method-detail">
905
+ <a name="M000056"></a>
906
+
907
+ <div class="method-heading">
908
+ <span class="method-name">with_long_form</span><span class="method-args">(form)</span>
909
+ </div>
910
+
911
+ <div class="method-description">
912
+ <p>
913
+ Alias for <a href="EachFlag.html#M000044">long_form</a>
914
+ </p>
915
+ </div>
916
+ </div>
917
+
918
+
919
+ </div>
920
+
921
+
922
+ </div>
923
+
924
+
925
+ <div id="validator-badges">
926
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
927
+ </div>
928
+
929
+ </body>
930
+ </html>