rumai 3.2.0 → 3.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (181) hide show
  1. data/CREDITS +4 -3
  2. data/HISTORY +327 -0
  3. data/INSTALL +31 -0
  4. data/README +92 -0
  5. data/USAGE +297 -0
  6. data/bin/rumai +9 -22
  7. data/doc/api/IO.html +119 -0
  8. data/doc/api/Integer.html +171 -0
  9. data/doc/api/Rumai.html +1270 -0
  10. data/doc/api/Rumai/Area.html +1485 -0
  11. data/doc/api/Rumai/Chain.html +301 -0
  12. data/doc/api/Rumai/Client.html +2451 -0
  13. data/doc/api/Rumai/ClientContainer.html +301 -0
  14. data/doc/api/Rumai/ExportInstanceMethods.html +103 -0
  15. data/doc/api/Rumai/IXP.html +94 -0
  16. data/doc/api/Rumai/IXP/Agent.html +1625 -0
  17. data/doc/api/Rumai/IXP/Agent/FidStream.html +959 -0
  18. data/doc/api/Rumai/IXP/Agent/RangedPool.html +381 -0
  19. data/doc/api/Rumai/IXP/Error.html +110 -0
  20. data/doc/api/Rumai/IXP/Fcall.html +503 -0
  21. data/doc/api/Rumai/IXP/Qid.html +207 -0
  22. data/doc/api/Rumai/IXP/Rattach.html +148 -0
  23. data/doc/api/Rumai/IXP/Rauth.html +148 -0
  24. data/doc/api/Rumai/IXP/Rclunk.html +148 -0
  25. data/doc/api/Rumai/IXP/Rcreate.html +148 -0
  26. data/doc/api/Rumai/IXP/Rerror.html +148 -0
  27. data/doc/api/Rumai/IXP/Rflush.html +148 -0
  28. data/doc/api/Rumai/IXP/Ropen.html +148 -0
  29. data/doc/api/Rumai/IXP/Rread.html +148 -0
  30. data/doc/api/Rumai/IXP/Rremove.html +148 -0
  31. data/doc/api/Rumai/IXP/Rstat.html +148 -0
  32. data/doc/api/Rumai/IXP/Rversion.html +148 -0
  33. data/doc/api/Rumai/IXP/Rwalk.html +148 -0
  34. data/doc/api/Rumai/IXP/Rwrite.html +148 -0
  35. data/doc/api/Rumai/IXP/Rwstat.html +148 -0
  36. data/doc/api/Rumai/IXP/Stat.html +335 -0
  37. data/doc/api/Rumai/IXP/Stream.html +194 -0
  38. data/doc/api/Rumai/IXP/Struct.html +586 -0
  39. data/doc/api/Rumai/IXP/Struct/ClassField.html +242 -0
  40. data/doc/api/Rumai/IXP/Struct/Field.html +782 -0
  41. data/doc/api/Rumai/IXP/Struct/Field/CounteeField.html +227 -0
  42. data/doc/api/Rumai/IXP/Struct/Field/CounterField.html +153 -0
  43. data/doc/api/Rumai/IXP/Struct/Integer8Field.html +242 -0
  44. data/doc/api/Rumai/IXP/Struct/StringField.html +206 -0
  45. data/doc/api/Rumai/IXP/Tattach.html +148 -0
  46. data/doc/api/Rumai/IXP/Tauth.html +148 -0
  47. data/doc/api/Rumai/IXP/Tclunk.html +148 -0
  48. data/doc/api/Rumai/IXP/Tcreate.html +148 -0
  49. data/doc/api/Rumai/IXP/Terror.html +231 -0
  50. data/doc/api/Rumai/IXP/Tflush.html +148 -0
  51. data/doc/api/Rumai/IXP/Topen.html +240 -0
  52. data/doc/api/Rumai/IXP/Tread.html +148 -0
  53. data/doc/api/Rumai/IXP/Tremove.html +148 -0
  54. data/doc/api/Rumai/IXP/Tstat.html +148 -0
  55. data/doc/api/Rumai/IXP/Tversion.html +162 -0
  56. data/doc/api/Rumai/IXP/Twalk.html +148 -0
  57. data/doc/api/Rumai/IXP/Twrite.html +148 -0
  58. data/doc/api/Rumai/IXP/Twstat.html +148 -0
  59. data/doc/api/Rumai/Node.html +1406 -0
  60. data/doc/api/Rumai/View.html +1587 -0
  61. data/doc/api/Rumai/WidgetImpl.html +333 -0
  62. data/doc/api/Rumai/WidgetNode.html +246 -0
  63. data/doc/api/String.html +258 -0
  64. data/doc/api/StringIO.html +119 -0
  65. data/doc/api/Time.html +247 -0
  66. data/doc/api/_index.html +581 -0
  67. data/doc/api/class_list.html +36 -0
  68. data/doc/api/css/common.css +1 -0
  69. data/doc/api/css/full_list.css +50 -0
  70. data/doc/api/css/style.css +273 -0
  71. data/doc/api/file.LICENSE.html +73 -0
  72. data/doc/api/file_list.html +38 -0
  73. data/doc/api/frames.html +13 -0
  74. data/doc/api/index.html +72 -13
  75. data/doc/api/js/app.js +111 -0
  76. data/doc/api/js/full_list.js +117 -0
  77. data/doc/api/js/{jquery-1.3.2.min.js → jquery.js} +0 -0
  78. data/doc/api/method_list.html +1483 -0
  79. data/doc/api/top-level-namespace.html +89 -0
  80. data/doc/index.erb +18 -13
  81. data/doc/index.html +331 -386
  82. data/lib/rumai.rb +1 -18
  83. data/lib/rumai/fs.rb +11 -11
  84. data/lib/rumai/inochi.rb +48 -0
  85. data/lib/rumai/inochi.yaml +94 -0
  86. data/lib/rumai/ixp.rb +0 -4
  87. data/lib/rumai/ixp/message.rb +6 -17
  88. data/lib/rumai/ixp/transport.rb +39 -30
  89. data/lib/rumai/wm.rb +35 -37
  90. data/test/rumai/inochi_test.rb +17 -0
  91. data/test/rumai/ixp/message_test.rb +245 -0
  92. data/test/runner +25 -0
  93. data/test/test_helper.rb +1 -0
  94. metadata +107 -125
  95. data/doc/api/apple-touch-icon.png +0 -0
  96. data/doc/api/classes/IO.html +0 -72
  97. data/doc/api/classes/Integer.html +0 -110
  98. data/doc/api/classes/Object.html +0 -60
  99. data/doc/api/classes/Rumai.html +0 -837
  100. data/doc/api/classes/Rumai/Area.html +0 -909
  101. data/doc/api/classes/Rumai/Chain.html +0 -197
  102. data/doc/api/classes/Rumai/Client.html +0 -1526
  103. data/doc/api/classes/Rumai/ClientContainer.html +0 -191
  104. data/doc/api/classes/Rumai/ExportInstanceMethods.html +0 -69
  105. data/doc/api/classes/Rumai/IXP.html +0 -131
  106. data/doc/api/classes/Rumai/IXP/Agent.html +0 -941
  107. data/doc/api/classes/Rumai/IXP/Agent/FidStream.html +0 -456
  108. data/doc/api/classes/Rumai/IXP/Agent/MODES.html +0 -108
  109. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.html +0 -241
  110. data/doc/api/classes/Rumai/IXP/Error.html +0 -67
  111. data/doc/api/classes/Rumai/IXP/Fcall.html +0 -323
  112. data/doc/api/classes/Rumai/IXP/Qid.html +0 -153
  113. data/doc/api/classes/Rumai/IXP/Rattach.html +0 -67
  114. data/doc/api/classes/Rumai/IXP/Rauth.html +0 -67
  115. data/doc/api/classes/Rumai/IXP/Rclunk.html +0 -67
  116. data/doc/api/classes/Rumai/IXP/Rcreate.html +0 -67
  117. data/doc/api/classes/Rumai/IXP/Rerror.html +0 -67
  118. data/doc/api/classes/Rumai/IXP/Rflush.html +0 -67
  119. data/doc/api/classes/Rumai/IXP/Ropen.html +0 -67
  120. data/doc/api/classes/Rumai/IXP/Rread.html +0 -67
  121. data/doc/api/classes/Rumai/IXP/Rremove.html +0 -67
  122. data/doc/api/classes/Rumai/IXP/Rstat.html +0 -67
  123. data/doc/api/classes/Rumai/IXP/Rversion.html +0 -67
  124. data/doc/api/classes/Rumai/IXP/Rwalk.html +0 -67
  125. data/doc/api/classes/Rumai/IXP/Rwrite.html +0 -67
  126. data/doc/api/classes/Rumai/IXP/Rwstat.html +0 -67
  127. data/doc/api/classes/Rumai/IXP/Stat.html +0 -252
  128. data/doc/api/classes/Rumai/IXP/Stream.html +0 -131
  129. data/doc/api/classes/Rumai/IXP/Struct.html +0 -311
  130. data/doc/api/classes/Rumai/IXP/Struct/Field.html +0 -415
  131. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.html +0 -153
  132. data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.html +0 -104
  133. data/doc/api/classes/Rumai/IXP/Tattach.html +0 -68
  134. data/doc/api/classes/Rumai/IXP/Tauth.html +0 -67
  135. data/doc/api/classes/Rumai/IXP/Tclunk.html +0 -67
  136. data/doc/api/classes/Rumai/IXP/Tcreate.html +0 -68
  137. data/doc/api/classes/Rumai/IXP/Terror.html +0 -110
  138. data/doc/api/classes/Rumai/IXP/Tflush.html +0 -67
  139. data/doc/api/classes/Rumai/IXP/Topen.html +0 -165
  140. data/doc/api/classes/Rumai/IXP/Tread.html +0 -67
  141. data/doc/api/classes/Rumai/IXP/Tremove.html +0 -67
  142. data/doc/api/classes/Rumai/IXP/Tstat.html +0 -67
  143. data/doc/api/classes/Rumai/IXP/Tversion.html +0 -86
  144. data/doc/api/classes/Rumai/IXP/Twalk.html +0 -68
  145. data/doc/api/classes/Rumai/IXP/Twrite.html +0 -68
  146. data/doc/api/classes/Rumai/IXP/Twstat.html +0 -67
  147. data/doc/api/classes/Rumai/Node.html +0 -821
  148. data/doc/api/classes/Rumai/View.html +0 -967
  149. data/doc/api/classes/Rumai/WidgetImpl.html +0 -65
  150. data/doc/api/classes/Rumai/WidgetNode.html +0 -68
  151. data/doc/api/classes/String.html +0 -163
  152. data/doc/api/classes/StringIO.html +0 -72
  153. data/doc/api/classes/Time.html +0 -156
  154. data/doc/api/created.rid +0 -1
  155. data/doc/api/css/main.css +0 -263
  156. data/doc/api/css/panel.css +0 -383
  157. data/doc/api/css/reset.css +0 -53
  158. data/doc/api/favicon.ico +0 -0
  159. data/doc/api/files/CREDITS.html +0 -67
  160. data/doc/api/files/LICENSE.html +0 -76
  161. data/doc/api/files/lib/rumai/fs_rb.html +0 -75
  162. data/doc/api/files/lib/rumai/ixp/message_rb.html +0 -91
  163. data/doc/api/files/lib/rumai/ixp/transport_rb.html +0 -75
  164. data/doc/api/files/lib/rumai/ixp_rb.html +0 -69
  165. data/doc/api/files/lib/rumai/wm_rb.html +0 -77
  166. data/doc/api/files/lib/rumai_rb.html +0 -65
  167. data/doc/api/i/arrows.png +0 -0
  168. data/doc/api/i/results_bg.png +0 -0
  169. data/doc/api/i/tree_bg.png +0 -0
  170. data/doc/api/js/jquery-effect.js +0 -593
  171. data/doc/api/js/main.js +0 -22
  172. data/doc/api/js/searchdoc.js +0 -628
  173. data/doc/api/panel/index.html +0 -71
  174. data/doc/api/panel/search_index.js +0 -1
  175. data/doc/api/panel/tree.js +0 -1
  176. data/doc/history.erb +0 -233
  177. data/doc/intro.erb +0 -70
  178. data/doc/setup.erb +0 -144
  179. data/doc/usage.erb +0 -308
  180. data/rakefile +0 -14
  181. data/test/rumai/ixp/message.rb +0 -237
@@ -0,0 +1,586 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Module: Rumai::IXP::Struct</title>
7
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '../..';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="../../_index.html">Index (S)</a> &raquo;
27
+ <span class='title'><a href="../../Rumai.html" title="Rumai (module)">Rumai</a></span> &raquo; <span class='title'><a href="../IXP.html" title="Rumai::IXP (module)">IXP</a></span>
28
+ &raquo;
29
+ <span class="title">Struct</span>
30
+
31
+
32
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
+ </div>
34
+
35
+ <div id="search">
36
+ <a id="class_list_link" href="#">Class List</a>
37
+ <a id="method_list_link" href="#">Method List</a>
38
+ <a id ="file_list_link" href="#">File List</a>
39
+ </div>
40
+
41
+ <div class="clear"></div>
42
+ </div>
43
+
44
+ <iframe id="search_frame"></iframe>
45
+
46
+ <div id="content"><h1>Module: Rumai::IXP::Struct
47
+
48
+
49
+ </h1>
50
+
51
+ <dl class="box">
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+ <dt class="r1">Included in:</dt>
60
+ <dd class="r1"><a href="Fcall.html" title="Rumai::IXP::Fcall (class)">Fcall</a>, <a href="Qid.html" title="Rumai::IXP::Qid (class)">Qid</a>, <a href="Stat.html" title="Rumai::IXP::Stat (class)">Stat</a></dd>
61
+
62
+
63
+
64
+ <dt class="r2 last">Defined in:</dt>
65
+ <dd class="r2 last">lib/rumai/ixp/message.rb</dd>
66
+
67
+ </dl>
68
+ <div class="clear"></div>
69
+
70
+ <h2>Overview</h2><div class="docstring">
71
+ <div class="discussion">
72
+ <p>
73
+ A serializable 9P2000 data structure.
74
+ </p>
75
+
76
+
77
+ </div>
78
+ </div>
79
+ <div class="tags">
80
+
81
+ </div><h2>Defined Under Namespace</h2>
82
+ <p class="children">
83
+
84
+
85
+
86
+
87
+ <strong class="classes">Classes:</strong> <a href="Struct/ClassField.html" title="Rumai::IXP::Struct::ClassField (class)">ClassField</a>, <a href="Struct/Field.html" title="Rumai::IXP::Struct::Field (class)">Field</a>, <a href="Struct/Integer8Field.html" title="Rumai::IXP::Struct::Integer8Field (class)">Integer8Field</a>, <a href="Struct/StringField.html" title="Rumai::IXP::Struct::StringField (class)">StringField</a>
88
+
89
+
90
+ </p>
91
+
92
+
93
+ <h2>Instance Attribute Summary</h2>
94
+ <ul class="summary">
95
+
96
+ <li class="public ">
97
+ <span class="summary_signature">
98
+
99
+ <a href="#fields-instance_method" title="#fields (instance method)">- (Object) <strong>fields</strong> </a>
100
+
101
+
102
+
103
+ </span>
104
+
105
+
106
+ <span class="note title readonly">readonly</span>
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+ <span class="summary_desc"><div class='inline'><p>
115
+ Returns the value of attribute fields.
116
+ </p>
117
+ </div></span>
118
+
119
+ </li>
120
+
121
+
122
+ </ul>
123
+
124
+
125
+
126
+ <h2>Class Method Summary</h2>
127
+
128
+ <ul class="summary">
129
+
130
+ <li class="public ">
131
+ <span class="summary_signature">
132
+
133
+ <a href="#included-class_method" title="included (class method)">+ (Object) <strong>included</strong>(target) </a>
134
+
135
+
136
+
137
+ </span>
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+ <span class="summary_desc"><div class='inline'><p>
146
+ Provides a convenient DSL (for defining fields) to all objects which
147
+ <b>include</b> this module.
148
+ </p>
149
+ </div></span>
150
+
151
+ </li>
152
+
153
+
154
+ </ul>
155
+
156
+ <h2>Instance Method Summary</h2>
157
+
158
+ <ul class="summary">
159
+
160
+ <li class="public ">
161
+ <span class="summary_signature">
162
+
163
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Struct) <strong>initialize</strong>(field_values = {}) </a>
164
+
165
+
166
+
167
+ </span>
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+ <span class="summary_desc"><div class='inline'><p>
176
+ Allows field values to be initialized via the constructor.
177
+ </p>
178
+ </div></span>
179
+
180
+ </li>
181
+
182
+
183
+ <li class="public ">
184
+ <span class="summary_signature">
185
+
186
+ <a href="#load_9p-instance_method" title="#load_9p (instance method)">- (Object) <strong>load_9p</strong>(stream) </a>
187
+
188
+
189
+
190
+ </span>
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+ <span class="summary_desc"><div class='inline'><p>
199
+ Populates this object with information from the given 9P2000 byte stream.
200
+ </p>
201
+ </div></span>
202
+
203
+ </li>
204
+
205
+
206
+ <li class="public ">
207
+ <span class="summary_signature">
208
+
209
+ <a href="#to_9p-instance_method" title="#to_9p (instance method)">- (Object) <strong>to_9p</strong> </a>
210
+
211
+
212
+
213
+ </span>
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+ <span class="summary_desc"><div class='inline'><p>
222
+ Transforms this object into a string of 9P2000 bytes.
223
+ </p>
224
+ </div></span>
225
+
226
+ </li>
227
+
228
+
229
+ </ul>
230
+
231
+
232
+
233
+ <div id="instance_attr_details" class="attr_details">
234
+ <h2>Instance Attribute Details</h2>
235
+
236
+
237
+ <span id=""></span>
238
+ <span id="fields-instance_method"></span>
239
+ <div class="method_details first">
240
+ <p class="signature first" id="fields-instance_method">
241
+
242
+ - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>fields</strong> <span class="extras">(readonly)</span>
243
+
244
+
245
+
246
+ </p><div class="docstring">
247
+ <div class="discussion">
248
+ <p>
249
+ Returns the value of attribute fields
250
+ </p>
251
+
252
+
253
+ </div>
254
+ </div>
255
+ <div class="tags">
256
+
257
+ </div><table class="source_code">
258
+ <tr>
259
+ <td>
260
+ <pre class="lines">
261
+
262
+
263
+ 46
264
+ 47
265
+ 48</pre>
266
+ </td>
267
+ <td>
268
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/message.rb', line 46</span>
269
+
270
+ <span class='kw'>def</span> <span class='id fields'>fields</span>
271
+ <span class='ivar'>@fields</span>
272
+ <span class='kw'>end</span></pre>
273
+ </td>
274
+ </tr>
275
+ </table>
276
+ </div>
277
+
278
+ </div>
279
+
280
+
281
+ <div id="class_method_details" class="method_details_list">
282
+ <h2>Class Method Details</h2>
283
+
284
+
285
+ <div class="method_details first">
286
+ <p class="signature first" id="included-class_method">
287
+
288
+ + (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>included</strong>(target)
289
+
290
+
291
+
292
+ </p><div class="docstring">
293
+ <div class="discussion">
294
+ <p>
295
+ Provides a convenient DSL (for defining fields) to all objects which
296
+ <b>include</b> this module.
297
+ </p>
298
+
299
+
300
+ </div>
301
+ </div>
302
+ <div class="tags">
303
+
304
+ </div><table class="source_code">
305
+ <tr>
306
+ <td>
307
+ <pre class="lines">
308
+
309
+
310
+ 80
311
+ 81
312
+ 82
313
+ 83
314
+ 84
315
+ 85
316
+ 86
317
+ 87
318
+ 88
319
+ 89
320
+ 90
321
+ 91
322
+ 92
323
+ 93
324
+ 94
325
+ 95
326
+ 96
327
+ 97
328
+ 98
329
+ 99
330
+ 100
331
+ 101
332
+ 102
333
+ 103
334
+ 104
335
+ 105
336
+ 106
337
+ 107
338
+ 108
339
+ 109
340
+ 110
341
+ 111
342
+ 112
343
+ 113
344
+ 114
345
+ 115
346
+ 116
347
+ 117
348
+ 118
349
+ 119
350
+ 120
351
+ 121
352
+ 122
353
+ 123
354
+ 124
355
+ 125
356
+ 126
357
+ 127
358
+ 128
359
+ 129
360
+ 130
361
+ 131</pre>
362
+ </td>
363
+ <td>
364
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/message.rb', line 80</span>
365
+
366
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id included'>included</span> <span class='id target'>target</span>
367
+ <span class='kw'>class</span> <span class='op'>&lt;&lt;</span> <span class='id target'>target</span>
368
+ <span class='comment'>##
369
+ </span> <span class='comment'># Returns a list of fields which compose this Struct.
370
+ </span> <span class='comment'>#
371
+ </span> <span class='kw'>def</span> <span class='id fields'>fields</span>
372
+ <span class='ivar'>@fields</span> <span class='op'>||=</span>
373
+ <span class='kw'>if</span> <span class='id superclass'>superclass</span><span class='period'>.</span><span class='id respond_to?'>respond_to?</span> <span class='symbol'>:fields</span>
374
+ <span class='id superclass'>superclass</span><span class='period'>.</span><span class='id fields'>fields</span><span class='period'>.</span><span class='id dup'>dup</span>
375
+ <span class='kw'>else</span>
376
+ <span class='lbracket'>[</span><span class='rbracket'>]</span>
377
+ <span class='kw'>end</span>
378
+ <span class='kw'>end</span>
379
+
380
+ <span class='comment'>##
381
+ </span> <span class='comment'># Defines a new field in this Struct.
382
+ </span> <span class='comment'>#
383
+ </span> <span class='comment'># @param args
384
+ </span> <span class='comment'># arguments for {Field.new}
385
+ </span> <span class='comment'>#
386
+ </span> <span class='kw'>def</span> <span class='id field'>field</span> <span class='id name'>name</span><span class='comma'>,</span> <span class='id format'>format</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>*</span><span class='id args'>args</span>
387
+ <span class='id klass'>klass</span> <span class='op'>=</span> <span class='const'>Field</span><span class='period'>.</span><span class='id factory'>factory</span><span class='lparen'>(</span><span class='id format'>format</span><span class='rparen'>)</span>
388
+ <span class='id field'>field</span> <span class='op'>=</span> <span class='id klass'>klass</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id name'>name</span><span class='period'>.</span><span class='id to_sym'>to_sym</span><span class='comma'>,</span> <span class='id format'>format</span><span class='comma'>,</span> <span class='op'>*</span><span class='id args'>args</span><span class='rparen'>)</span>
389
+
390
+ <span class='comment'># register field as being part of this structure
391
+ </span> <span class='id fields'>fields</span> <span class='op'>&lt;&lt;</span> <span class='id field'>field</span>
392
+
393
+ <span class='comment'># provide accessor methods to field values
394
+ </span> <span class='kw'>self</span><span class='period'>.</span><span class='id class_eval'>class_eval</span> <span class='heredoc_beg'>&lt;&lt;-EOS</span><span class='tstring_content'> def </span><span class='embexpr_beg'>#{</span><span class='id field'>field</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'>
395
+ </span><span class='tstring_content'> @values[</span><span class='embexpr_beg'>#{</span><span class='id field'>field</span><span class='period'>.</span><span class='id name'>name</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_content'>]
396
+ end
397
+
398
+ </span><span class='tstring_content'> def </span><span class='embexpr_beg'>#{</span><span class='id field'>field</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'>= value
399
+ </span><span class='tstring_content'> @values[</span><span class='embexpr_beg'>#{</span><span class='id field'>field</span><span class='period'>.</span><span class='id name'>name</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_content'>] = value
400
+ end
401
+ </span><span class='heredoc_end'> EOS
402
+ </span><span class='comma'>,</span> <span class='kw'>__FILE__</span><span class='comma'>,</span> <span class='kw'>__LINE__</span>
403
+
404
+ <span class='id field'>field</span>
405
+ <span class='kw'>end</span>
406
+
407
+ <span class='comment'>##
408
+ </span> <span class='comment'># Creates a new instance of this class from the
409
+ </span> <span class='comment'># given 9P2000 byte stream and returns the instance.
410
+ </span> <span class='comment'>#
411
+ </span> <span class='kw'>def</span> <span class='id from_9p'>from_9p</span> <span class='id stream'>stream</span><span class='comma'>,</span> <span class='id msg_class'>msg_class</span> <span class='op'>=</span> <span class='kw'>self</span>
412
+ <span class='id msg'>msg</span> <span class='op'>=</span> <span class='id msg_class'>msg_class</span><span class='period'>.</span><span class='id new'>new</span>
413
+ <span class='id msg'>msg</span><span class='period'>.</span><span class='id load_9p'>load_9p</span><span class='lparen'>(</span><span class='id stream'>stream</span><span class='rparen'>)</span>
414
+ <span class='id msg'>msg</span>
415
+ <span class='kw'>end</span>
416
+ <span class='kw'>end</span>
417
+ <span class='kw'>end</span></pre>
418
+ </td>
419
+ </tr>
420
+ </table>
421
+ </div>
422
+
423
+ </div>
424
+
425
+ <div id="instance_method_details" class="method_details_list">
426
+ <h2>Instance Method Details</h2>
427
+
428
+
429
+ <div class="method_details first">
430
+ <p class="signature first" id="initialize-instance_method">
431
+
432
+ - (<tt><a href="" title="Rumai::IXP::Struct (module)">Struct</a></tt>) <strong>initialize</strong>(field_values = {})
433
+
434
+
435
+
436
+ </p><div class="docstring">
437
+ <div class="discussion">
438
+ <p>
439
+ Allows field values to be initialized via the constructor.
440
+ </p>
441
+
442
+
443
+ </div>
444
+ </div>
445
+ <div class="tags">
446
+ <h3>Parameters:</h3>
447
+ <ul class="param">
448
+
449
+ <li>
450
+
451
+ <span class='type'></span>
452
+
453
+
454
+ <span class='name'>field_values</span>
455
+
456
+
457
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
458
+
459
+
460
+ &mdash;
461
+ <div class='inline'><p>
462
+ a mapping from field name to field value
463
+ </p>
464
+ </div>
465
+
466
+ </li>
467
+
468
+ </ul>
469
+
470
+ </div><table class="source_code">
471
+ <tr>
472
+ <td>
473
+ <pre class="lines">
474
+
475
+
476
+ 54
477
+ 55
478
+ 56
479
+ 57</pre>
480
+ </td>
481
+ <td>
482
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/message.rb', line 54</span>
483
+
484
+ <span class='kw'>def</span> <span class='id initialize'>initialize</span> <span class='id field_values'>field_values</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
485
+ <span class='ivar'>@fields</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id class'>class</span><span class='period'>.</span><span class='id fields'>fields</span>
486
+ <span class='ivar'>@values</span> <span class='op'>=</span> <span class='id field_values'>field_values</span>
487
+ <span class='kw'>end</span></pre>
488
+ </td>
489
+ </tr>
490
+ </table>
491
+ </div>
492
+
493
+ <div class="method_details ">
494
+ <p class="signature " id="load_9p-instance_method">
495
+
496
+ - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>load_9p</strong>(stream)
497
+
498
+
499
+
500
+ </p><div class="docstring">
501
+ <div class="discussion">
502
+ <p>
503
+ Populates this object with information from the given 9P2000 byte stream.
504
+ </p>
505
+
506
+
507
+ </div>
508
+ </div>
509
+ <div class="tags">
510
+
511
+ </div><table class="source_code">
512
+ <tr>
513
+ <td>
514
+ <pre class="lines">
515
+
516
+
517
+ 70
518
+ 71
519
+ 72
520
+ 73
521
+ 74</pre>
522
+ </td>
523
+ <td>
524
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/message.rb', line 70</span>
525
+
526
+ <span class='kw'>def</span> <span class='id load_9p'>load_9p</span> <span class='id stream'>stream</span>
527
+ <span class='ivar'>@fields</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id f'>f</span><span class='op'>|</span>
528
+ <span class='id f'>f</span><span class='period'>.</span><span class='id load_9p'>load_9p</span> <span class='id stream'>stream</span><span class='comma'>,</span> <span class='ivar'>@values</span>
529
+ <span class='kw'>end</span>
530
+ <span class='kw'>end</span></pre>
531
+ </td>
532
+ </tr>
533
+ </table>
534
+ </div>
535
+
536
+ <div class="method_details ">
537
+ <p class="signature " id="to_9p-instance_method">
538
+
539
+ - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>to_9p</strong>
540
+
541
+
542
+
543
+ </p><div class="docstring">
544
+ <div class="discussion">
545
+ <p>
546
+ Transforms this object into a string of 9P2000 bytes.
547
+ </p>
548
+
549
+
550
+ </div>
551
+ </div>
552
+ <div class="tags">
553
+
554
+ </div><table class="source_code">
555
+ <tr>
556
+ <td>
557
+ <pre class="lines">
558
+
559
+
560
+ 62
561
+ 63
562
+ 64</pre>
563
+ </td>
564
+ <td>
565
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/message.rb', line 62</span>
566
+
567
+ <span class='kw'>def</span> <span class='id to_9p'>to_9p</span>
568
+ <span class='ivar'>@fields</span><span class='period'>.</span><span class='id inject'>inject</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id s'>s</span><span class='comma'>,</span><span class='id f'>f</span><span class='op'>|</span> <span class='id s'>s</span> <span class='op'>&lt;&lt;</span> <span class='id f'>f</span><span class='period'>.</span><span class='id to_9p'>to_9p</span><span class='lparen'>(</span><span class='ivar'>@values</span><span class='rparen'>)</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id join'>join</span>
569
+ <span class='kw'>end</span></pre>
570
+ </td>
571
+ </tr>
572
+ </table>
573
+ </div>
574
+
575
+ </div>
576
+
577
+ </div>
578
+
579
+ <div id="footer">
580
+ Generated on Mon Mar 22 22:23:55 2010 by
581
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
582
+ 0.5.4 (ruby-1.9.1).
583
+ </div>
584
+
585
+ </body>
586
+ </html>