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">&lt;&lt;</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">&lt;&lt;</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">&lt;&lt;</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