rumai 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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>