binaryparse 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/binaryparse.gemspec +17 -17
  2. data/examples/pms_input_2_test.rb +70 -0
  3. data/lib/blocker.rb +1 -1
  4. metadata +3 -66
  5. data/doc/binaryparse.chm +0 -0
  6. data/doc/bphelp.zip +0 -0
  7. data/doc/classes/BinaryBlocker/BitFieldEncoder.html +0 -328
  8. data/doc/classes/BinaryBlocker/Blocker.html +0 -168
  9. data/doc/classes/BinaryBlocker/CountedArrayEncoder.html +0 -347
  10. data/doc/classes/BinaryBlocker/Encoder.html +0 -526
  11. data/doc/classes/BinaryBlocker/FixedArrayEncoder.html +0 -278
  12. data/doc/classes/BinaryBlocker/FixedStringEncoder.html +0 -177
  13. data/doc/classes/BinaryBlocker/FixedUTF16StringEncoder.html +0 -229
  14. data/doc/classes/BinaryBlocker/GroupEncoder.html +0 -650
  15. data/doc/classes/BinaryBlocker/ListOfEncoder.html +0 -343
  16. data/doc/classes/BinaryBlocker/OneOfEncoder.html +0 -306
  17. data/doc/classes/BinaryBlocker/PackedDateEncoder.html +0 -220
  18. data/doc/classes/BinaryBlocker/PackedDateTimeEncoder.html +0 -220
  19. data/doc/classes/BinaryBlocker/PackedNumberEncoder.html +0 -231
  20. data/doc/classes/BinaryBlocker/SimpleEncoder.html +0 -284
  21. data/doc/classes/BinaryBlocker.html +0 -329
  22. data/doc/classes/BufferedIO.html +0 -324
  23. data/doc/classes/TestBlocker/BBDate.html +0 -120
  24. data/doc/classes/TestBlocker/BBList.html +0 -120
  25. data/doc/classes/TestBlocker/BBPacked.html +0 -120
  26. data/doc/classes/TestBlocker/BBString.html +0 -120
  27. data/doc/classes/TestBlocker/BBSub1.html +0 -120
  28. data/doc/classes/TestBlocker/BBSub2.html +0 -120
  29. data/doc/classes/TestBlocker/BBTest1.html +0 -120
  30. data/doc/classes/TestBlocker/BBTest2.html +0 -120
  31. data/doc/classes/TestBlocker/BBTest3.html +0 -120
  32. data/doc/classes/TestBlocker/BBTest4.html +0 -120
  33. data/doc/classes/TestBlocker/BBTest5.html +0 -120
  34. data/doc/classes/TestBlocker/BBTest6.html +0 -120
  35. data/doc/classes/TestBlocker/BBTest7.html +0 -120
  36. data/doc/classes/TestBlocker/BBTime.html +0 -120
  37. data/doc/classes/TestBlocker/BBUTF16.html +0 -120
  38. data/doc/classes/TestBlocker/ItemA.html +0 -120
  39. data/doc/classes/TestBlocker/ItemB.html +0 -120
  40. data/doc/classes/TestBlocker.html +0 -802
  41. data/doc/contents.hhc +0 -670
  42. data/doc/created.rid +0 -1
  43. data/doc/dot/f_0.dot +0 -208
  44. data/doc/dot/f_0.png +0 -0
  45. data/doc/dot/f_1.dot +0 -23
  46. data/doc/dot/f_1.png +0 -0
  47. data/doc/dot/f_2.dot +0 -32
  48. data/doc/dot/f_2.png +0 -0
  49. data/doc/dot/m_0_0.dot +0 -208
  50. data/doc/dot/m_0_0.png +0 -0
  51. data/doc/files/lib/blocker_rb.html +0 -144
  52. data/doc/files/lib/buffered_io_rb.html +0 -115
  53. data/doc/files/test/test_blocker_rb.html +0 -116
  54. data/doc/fr_class_index.html +0 -60
  55. data/doc/fr_file_index.html +0 -29
  56. data/doc/fr_method_index.html +0 -135
  57. data/doc/index.hhk +0 -599
  58. data/doc/index.html +0 -24
  59. data/doc/rdoc-style.css +0 -208
  60. data/doc/rdoc.hhp +0 -15
@@ -1,278 +0,0 @@
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: BinaryBlocker::FixedArrayEncoder</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">BinaryBlocker::FixedArrayEncoder</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/blocker_rb.html">
59
- lib/blocker.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
- <a href="GroupEncoder.html">
69
- GroupEncoder
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
- <div id="diagram">
83
- <map id="map" name="map">
84
- <area shape="rect" coords="252,146,351,194" href="GroupEncoder.html" alt="GroupEncoder" />
85
- <area shape="rect" coords="27,242,123,290" href="ListOfEncoder.html" alt="ListOfEncoder" />
86
- <area shape="rect" coords="147,242,219,290" href="Blocker.html" alt="Blocker" />
87
- <area shape="rect" coords="243,242,360,290" href="FixedArrayEncoder.html" alt="FixedArrayEncoder" />
88
- <area shape="rect" coords="384,242,517,290" href="CountedArrayEncoder.html" alt="CountedArrayEncoder" />
89
- <area shape="rect" coords="683,50,755,98" href="Encoder.html" alt="Encoder" />
90
- <area shape="rect" coords="605,146,707,194" href="SimpleEncoder.html" alt="SimpleEncoder" />
91
- <area shape="rect" coords="731,146,835,194" href="BitFieldEncoder.html" alt="BitFieldEncoder" />
92
- <area shape="rect" coords="859,146,960,194" href="OneOfEncoder.html" alt="OneOfEncoder" />
93
- <area shape="rect" coords="541,242,683,290" href="PackedNumberEncoder.html" alt="PackedNumberEncoder" />
94
- <area shape="rect" coords="469,338,595,386" href="PackedDateEncoder.html" alt="PackedDateEncoder" />
95
- <area shape="rect" coords="619,338,765,386" href="PackedDateTimeEncoder.html" alt="PackedDateTimeEncoder" />
96
- <area shape="rect" coords="707,242,827,290" href="FixedStringEncoder.html" alt="FixedStringEncoder" />
97
- <area shape="rect" coords="851,242,1005,290" href="FixedUTF16StringEncoder.html" alt="FixedUTF16StringEncoder" />
98
- <area shape="rect" coords="16,16,1016,396" href="../BinaryBlocker.html" alt="BinaryBlocker" />
99
- </map>
100
- <img src="../../dot/m_0_0.png" usemap="#map" border="0" alt="Module: BinaryBlocker" />
101
- </div>
102
-
103
-
104
-
105
- </div>
106
-
107
- <div id="method-list">
108
- <h3 class="section-bar">Methods</h3>
109
-
110
- <div class="name-list">
111
- <a href="#M000062">[]</a>&nbsp;&nbsp;
112
- <a href="#M000063">[]=</a>&nbsp;&nbsp;
113
- <a href="#M000061">deblock</a>&nbsp;&nbsp;
114
- <a href="#M000060">internal_block</a>&nbsp;&nbsp;
115
- <a href="#M000059">new</a>&nbsp;&nbsp;
116
- </div>
117
- </div>
118
-
119
- </div>
120
-
121
-
122
- <!-- if includes -->
123
-
124
- <div id="section">
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
- <!-- if method_list -->
134
- <div id="methods">
135
- <h3 class="section-bar">Public Class methods</h3>
136
-
137
- <div id="method-M000059" class="method-detail">
138
- <a name="M000059"></a>
139
-
140
- <div class="method-heading">
141
- <a href="#M000059" class="method-signature">
142
- <span class="method-name">new</span><span class="method-args">(count, classes, *opts)</span>
143
- </a>
144
- </div>
145
-
146
- <div class="method-description">
147
- <p><a class="source-toggle" href="#"
148
- onclick="toggleCode('M000059-source');return false;">[Source]</a></p>
149
- <div class="method-source-code" id="M000059-source">
150
- <pre>
151
- <span class="ruby-comment cmt"># File lib/blocker.rb, line 538</span>
152
- 538: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">count</span>, <span class="ruby-identifier">classes</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">opts</span>)
153
- 539: <span class="ruby-identifier">initialize_options</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">opts</span>)
154
- 540: <span class="ruby-ivar">@count</span> = <span class="ruby-identifier">count</span>
155
- 541: <span class="ruby-ivar">@classes</span> = <span class="ruby-identifier">classes</span>
156
- 542: <span class="ruby-ivar">@value</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">count</span>) { <span class="ruby-constant">OneOfEncoder</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">classes</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">opts</span>) }
157
- 543: <span class="ruby-identifier">initialize_data</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">opts</span>)
158
- 544: <span class="ruby-keyword kw">end</span>
159
- </pre>
160
- </div>
161
- </div>
162
- </div>
163
-
164
- <h3 class="section-bar">Public Instance methods</h3>
165
-
166
- <div id="method-M000062" class="method-detail">
167
- <a name="M000062"></a>
168
-
169
- <div class="method-heading">
170
- <a href="#M000062" class="method-signature">
171
- <span class="method-name">[]</span><span class="method-args">(offset)</span>
172
- </a>
173
- </div>
174
-
175
- <div class="method-description">
176
- <p><a class="source-toggle" href="#"
177
- onclick="toggleCode('M000062-source');return false;">[Source]</a></p>
178
- <div class="method-source-code" id="M000062-source">
179
- <pre>
180
- <span class="ruby-comment cmt"># File lib/blocker.rb, line 560</span>
181
- 560: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">offset</span>)
182
- 561: <span class="ruby-identifier">raise</span> <span class="ruby-constant">RangeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;Access (#{offset}) out of range (#{@count})&quot;</span>) <span class="ruby-keyword kw">unless</span> (<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-ivar">@count</span>) <span class="ruby-operator">===</span> <span class="ruby-identifier">offset</span>
183
- 562: <span class="ruby-ivar">@value</span>[<span class="ruby-identifier">offset</span>]
184
- 563: <span class="ruby-keyword kw">end</span>
185
- </pre>
186
- </div>
187
- </div>
188
- </div>
189
-
190
- <div id="method-M000063" class="method-detail">
191
- <a name="M000063"></a>
192
-
193
- <div class="method-heading">
194
- <a href="#M000063" class="method-signature">
195
- <span class="method-name">[]=</span><span class="method-args">(offset,val)</span>
196
- </a>
197
- </div>
198
-
199
- <div class="method-description">
200
- <p><a class="source-toggle" href="#"
201
- onclick="toggleCode('M000063-source');return false;">[Source]</a></p>
202
- <div class="method-source-code" id="M000063-source">
203
- <pre>
204
- <span class="ruby-comment cmt"># File lib/blocker.rb, line 565</span>
205
- 565: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">offset</span>,<span class="ruby-identifier">val</span>)
206
- 566: <span class="ruby-identifier">raise</span> <span class="ruby-constant">RangeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;Access (#{offset}) out of range (#{@count})&quot;</span>) <span class="ruby-keyword kw">unless</span> (<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-ivar">@count</span>) <span class="ruby-operator">===</span> <span class="ruby-identifier">offset</span>
207
- 567: <span class="ruby-ivar">@value</span>[<span class="ruby-identifier">offset</span>] = <span class="ruby-identifier">val</span>
208
- 568: <span class="ruby-keyword kw">end</span>
209
- </pre>
210
- </div>
211
- </div>
212
- </div>
213
-
214
- <div id="method-M000061" class="method-detail">
215
- <a name="M000061"></a>
216
-
217
- <div class="method-heading">
218
- <a href="#M000061" class="method-signature">
219
- <span class="method-name">deblock</span><span class="method-args">(io)</span>
220
- </a>
221
- </div>
222
-
223
- <div class="method-description">
224
- <p><a class="source-toggle" href="#"
225
- onclick="toggleCode('M000061-source');return false;">[Source]</a></p>
226
- <div class="method-source-code" id="M000061-source">
227
- <pre>
228
- <span class="ruby-comment cmt"># File lib/blocker.rb, line 550</span>
229
- 550: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deblock</span>(<span class="ruby-identifier">io</span>)
230
- 551: <span class="ruby-identifier">result</span> = []
231
- 552: <span class="ruby-identifier">with_guarded_io_pos</span>(<span class="ruby-identifier">io</span>) <span class="ruby-keyword kw">do</span>
232
- 553: <span class="ruby-ivar">@count</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span>
233
- 554: <span class="ruby-identifier">result</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">OneOfEncoder</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@classes</span>, <span class="ruby-identifier">io</span>, <span class="ruby-ivar">@opts</span>)
234
- 555: <span class="ruby-keyword kw">end</span>
235
- 556: <span class="ruby-keyword kw">end</span>
236
- 557: <span class="ruby-ivar">@value</span> = <span class="ruby-identifier">result</span>
237
- 558: <span class="ruby-keyword kw">end</span>
238
- </pre>
239
- </div>
240
- </div>
241
- </div>
242
-
243
- <div id="method-M000060" class="method-detail">
244
- <a name="M000060"></a>
245
-
246
- <div class="method-heading">
247
- <a href="#M000060" class="method-signature">
248
- <span class="method-name">internal_block</span><span class="method-args">(val)</span>
249
- </a>
250
- </div>
251
-
252
- <div class="method-description">
253
- <p><a class="source-toggle" href="#"
254
- onclick="toggleCode('M000060-source');return false;">[Source]</a></p>
255
- <div class="method-source-code" id="M000060-source">
256
- <pre>
257
- <span class="ruby-comment cmt"># File lib/blocker.rb, line 546</span>
258
- 546: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">internal_block</span>(<span class="ruby-identifier">val</span>)
259
- 547: <span class="ruby-identifier">val</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-value str">&quot;&quot;</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span>, <span class="ruby-identifier">o</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">block</span> }
260
- 548: <span class="ruby-keyword kw">end</span>
261
- </pre>
262
- </div>
263
- </div>
264
- </div>
265
-
266
-
267
- </div>
268
-
269
-
270
- </div>
271
-
272
-
273
- <div id="validator-badges">
274
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
275
- </div>
276
-
277
- </body>
278
- </html>
@@ -1,177 +0,0 @@
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: BinaryBlocker::FixedStringEncoder</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">BinaryBlocker::FixedStringEncoder</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/blocker_rb.html">
59
- lib/blocker.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
- <a href="SimpleEncoder.html">
69
- SimpleEncoder
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
- <div id="diagram">
83
- <map id="map" name="map">
84
- <area shape="rect" coords="252,146,351,194" href="GroupEncoder.html" alt="GroupEncoder" />
85
- <area shape="rect" coords="27,242,123,290" href="ListOfEncoder.html" alt="ListOfEncoder" />
86
- <area shape="rect" coords="147,242,219,290" href="Blocker.html" alt="Blocker" />
87
- <area shape="rect" coords="243,242,360,290" href="FixedArrayEncoder.html" alt="FixedArrayEncoder" />
88
- <area shape="rect" coords="384,242,517,290" href="CountedArrayEncoder.html" alt="CountedArrayEncoder" />
89
- <area shape="rect" coords="683,50,755,98" href="Encoder.html" alt="Encoder" />
90
- <area shape="rect" coords="605,146,707,194" href="SimpleEncoder.html" alt="SimpleEncoder" />
91
- <area shape="rect" coords="731,146,835,194" href="BitFieldEncoder.html" alt="BitFieldEncoder" />
92
- <area shape="rect" coords="859,146,960,194" href="OneOfEncoder.html" alt="OneOfEncoder" />
93
- <area shape="rect" coords="541,242,683,290" href="PackedNumberEncoder.html" alt="PackedNumberEncoder" />
94
- <area shape="rect" coords="469,338,595,386" href="PackedDateEncoder.html" alt="PackedDateEncoder" />
95
- <area shape="rect" coords="619,338,765,386" href="PackedDateTimeEncoder.html" alt="PackedDateTimeEncoder" />
96
- <area shape="rect" coords="707,242,827,290" href="FixedStringEncoder.html" alt="FixedStringEncoder" />
97
- <area shape="rect" coords="851,242,1005,290" href="FixedUTF16StringEncoder.html" alt="FixedUTF16StringEncoder" />
98
- <area shape="rect" coords="16,16,1016,396" href="../BinaryBlocker.html" alt="BinaryBlocker" />
99
- </map>
100
- <img src="../../dot/m_0_0.png" usemap="#map" border="0" alt="Module: BinaryBlocker" />
101
- </div>
102
-
103
-
104
-
105
- </div>
106
-
107
- <div id="method-list">
108
- <h3 class="section-bar">Methods</h3>
109
-
110
- <div class="name-list">
111
- <a href="#M000067">new</a>&nbsp;&nbsp;
112
- </div>
113
- </div>
114
-
115
- </div>
116
-
117
-
118
- <!-- if includes -->
119
-
120
- <div id="section">
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
- <!-- if method_list -->
130
- <div id="methods">
131
- <h3 class="section-bar">Public Class methods</h3>
132
-
133
- <div id="method-M000067" class="method-detail">
134
- <a name="M000067"></a>
135
-
136
- <div class="method-heading">
137
- <a href="#M000067" class="method-signature">
138
- <span class="method-name">new</span><span class="method-args">(*opts)</span>
139
- </a>
140
- </div>
141
-
142
- <div class="method-description">
143
- <p><a class="source-toggle" href="#"
144
- onclick="toggleCode('M000067-source');return false;">[Source]</a></p>
145
- <div class="method-source-code" id="M000067-source">
146
- <pre>
147
- <span class="ruby-comment cmt"># File lib/blocker.rb, line 383</span>
148
- 383: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">opts</span>)
149
- 384: <span class="ruby-identifier">initialize_options</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">opts</span>)
150
- 385:
151
- 386: <span class="ruby-ivar">@length</span> = <span class="ruby-ivar">@opts</span>[<span class="ruby-identifier">:length</span>].<span class="ruby-identifier">to_i</span>
152
- 387: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Missing or invalid string length&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
153
- 388: <span class="ruby-ivar">@format</span> = <span class="ruby-node">&quot;Z#{@length}&quot;</span>
154
- 389:
155
- 390: <span class="ruby-ivar">@key</span> = <span class="ruby-ivar">@opts</span>[<span class="ruby-identifier">:key</span>]
156
- 391: <span class="ruby-ivar">@valid</span> = <span class="ruby-ivar">@opts</span>[<span class="ruby-identifier">:valid</span>]
157
- 392:
158
- 393: <span class="ruby-identifier">initialize_data</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">opts</span>)
159
- 394: <span class="ruby-keyword kw">end</span>
160
- </pre>
161
- </div>
162
- </div>
163
- </div>
164
-
165
-
166
- </div>
167
-
168
-
169
- </div>
170
-
171
-
172
- <div id="validator-badges">
173
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
174
- </div>
175
-
176
- </body>
177
- </html>