doc/api/classes/Rumai/IXP/Struct.src/M000033.html in rumai-1.0.0 vs doc/api/classes/Rumai/IXP/Struct.src/M000033.html in rumai-2.0.0
- old
+ new
@@ -3,16 +3,55 @@
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
- <title>to_9p (Rumai::IXP::Struct)</title>
+ <title>included (Rumai::IXP::Struct)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
</head>
<body class="standalone-code">
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/message.rb, line 63</span>
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_9p</span>
- <span class="ruby-identifier">fields</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-value str">''</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">to_9p</span>(<span class="ruby-keyword kw">self</span>) }
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/message.rb, line 66</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">included</span> <span class="ruby-identifier">aTarget</span>
+ <span class="ruby-keyword kw">class</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">aTarget</span>
+ <span class="ruby-comment cmt"># Returns a list of fields which compose this Struct.</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fields</span>
+ <span class="ruby-ivar">@fields</span> <span class="ruby-operator">||=</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">superclass</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:fields</span>
+ <span class="ruby-identifier">superclass</span>.<span class="ruby-identifier">fields</span>.<span class="ruby-identifier">dup</span>
+ <span class="ruby-keyword kw">else</span>
+ []
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+
+ <span class="ruby-comment cmt"># Defines a new field in this Struct.</span>
+ <span class="ruby-comment cmt"># aArgs:: arguments for Field.new()</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">field</span> <span class="ruby-identifier">aName</span>, <span class="ruby-identifier">aFormat</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">aArgs</span>
+ <span class="ruby-identifier">c</span> = <span class="ruby-constant">Field</span>.<span class="ruby-identifier">factory</span>(<span class="ruby-identifier">aFormat</span>)
+ <span class="ruby-identifier">f</span> = <span class="ruby-identifier">c</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">aName</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">aFormat</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">aArgs</span>)
+ <span class="ruby-identifier">fields</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">f</span> <span class="ruby-comment cmt"># register field as being part of this structure</span>
+
+ <span class="ruby-comment cmt"># provide accessor methods to field values</span>
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-node">%{
+ def #{f.name}
+ @values[#{f.name.inspect}]
+ end
+
+ def #{f.name}= aValue
+ @values[#{f.name.inspect}] = aValue
+ end
+ }</span>
+
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">f</span>
+ <span class="ruby-keyword kw">end</span>
+
+ <span class="ruby-comment cmt"># Creates a new instance of this class from the</span>
+ <span class="ruby-comment cmt"># given 9P2000 byte stream and returns the instance.</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">from_9p</span> <span class="ruby-identifier">aStream</span>, <span class="ruby-identifier">aMsgClass</span> = <span class="ruby-keyword kw">self</span>
+ <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">aMsgClass</span>.<span class="ruby-identifier">new</span>
+ <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">load_9p</span>(<span class="ruby-identifier">aStream</span>)
+ <span class="ruby-identifier">msg</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
<span class="ruby-keyword kw">end</span></pre>
</body>
</html>
\ No newline at end of file