1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
8 <title>Class: Filesys</title>
10 <link rel="stylesheet" href="./rdoc.css" type="text/css" media="screen" />
12 <script src="./js/jquery.js" type="text/javascript"
13 charset="utf-8"></script>
14 <script src="./js/thickbox-compressed.js" type="text/javascript"
15 charset="utf-8"></script>
16 <script src="./js/quicksearch.js" type="text/javascript"
17 charset="utf-8"></script>
18 <script src="./js/darkfish.js" type="text/javascript"
19 charset="utf-8"></script>
25 <div id="home-metadata">
26 <div id="home-section" class="section">
27 <h3 class="section-header">
28 <a href="./index.html">Home</a>
29 <a href="./index.html#classes">Classes</a>
30 <a href="./index.html#methods">Methods</a>
35 <div id="file-metadata">
36 <div id="file-list-section" class="section">
37 <h3 class="section-header">In Files</h3>
38 <div class="section-body">
41 <li><a href="./filesys_rb.html?TB_iframe=true&height=550&width=785"
42 class="thickbox" title="filesys.rb">filesys.rb</a></li>
51 <div id="class-metadata">
55 <div id="parent-class-section" class="section">
56 <h3 class="section-header">Parent</h3>
58 <p class="link">Object</p>
63 <!-- Namespace Contents -->
66 <!-- Method Quickref -->
68 <div id="method-list-section" class="section">
69 <h3 class="section-header">Methods</h3>
70 <ul class="link-list">
72 <li><a href="#method-c-new">::new</a></li>
74 <li><a href="#method-c-open">::open</a></li>
76 <li><a href="#method-c-zopen">::zopen</a></li>
78 <li><a href="#method-i-close">#close</a></li>
80 <li><a href="#method-i-each">#each</a></li>
86 <!-- Included Modules -->
88 <div id="includes-section" class="section">
89 <h3 class="section-header">Included Modules</h3>
90 <ul class="link-list">
93 <li><span class="include">Enumerable</span></li>
101 <div id="project-metadata">
105 <div id="classindex-section" class="section project-section">
106 <h3 class="section-header">Class Index
107 <span class="search-toggle"><img src="./images/find.png"
108 height="16" width="16" alt="[+]"
109 title="show/hide quicksearch" /></span></h3>
110 <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
112 <legend>Quicksearch</legend>
113 <input type="text" name="quicksearch" value=""
114 class="quicksearch-field" />
118 <ul class="link-list">
120 <li><a href="./Base36.html">Base36</a></li>
122 <li><a href="./Base36Error.html">Base36Error</a></li>
124 <li><a href="./Biopieces.html">Biopieces</a></li>
126 <li><a href="./BitArray.html">BitArray</a></li>
128 <li><a href="./BitArrayError.html">BitArrayError</a></li>
130 <li><a href="./Boulder.html">Boulder</a></li>
132 <li><a href="./BoulderError.html">BoulderError</a></li>
134 <li><a href="./CastError.html">CastError</a></li>
136 <li><a href="./Casts.html">Casts</a></li>
138 <li><a href="./Digest.html">Digest</a></li>
140 <li><a href="./DigestError.html">DigestError</a></li>
142 <li><a href="./Fasta.html">Fasta</a></li>
144 <li><a href="./FastaError.html">FastaError</a></li>
146 <li><a href="./Fastq.html">Fastq</a></li>
148 <li><a href="./FastqError.html">FastqError</a></li>
150 <li><a href="./Filesys.html">Filesys</a></li>
152 <li><a href="./FilesysError.html">FilesysError</a></li>
154 <li><a href="./Genbank.html">Genbank</a></li>
156 <li><a href="./GenbankError.html">GenbankError</a></li>
158 <li><a href="./GenbankFeatures.html">GenbankFeatures</a></li>
160 <li><a href="./Locator.html">Locator</a></li>
162 <li><a href="./LocatorError.html">LocatorError</a></li>
164 <li><a href="./OptionHandler.html">OptionHandler</a></li>
166 <li><a href="./Read.html">Read</a></li>
168 <li><a href="./SFF.html">SFF</a></li>
170 <li><a href="./SFFError.html">SFFError</a></li>
172 <li><a href="./Seq.html">Seq</a></li>
174 <li><a href="./SeqError.html">SeqError</a></li>
176 <li><a href="./Status.html">Status</a></li>
178 <li><a href="./Stream.html">Stream</a></li>
180 <li><a href="./String.html">String</a></li>
182 <li><a href="./StringError.html">StringError</a></li>
185 <div id="no-class-search-results" style="display: none;">No matching classes.</div>
192 <div id="documentation">
193 <h1 class="class">Filesys</h1>
195 <div id="description">
207 <div id="public-class-method-details" class="method-section section">
208 <h3 class="section-header">Public Class Methods</h3>
211 <div id="new-method" class="method-detail ">
212 <a name="method-c-new"></a>
214 <div class="method-heading">
216 <span class="method-name">new</span><span
217 class="method-args">(io, type=nil)</span>
218 <span class="method-click-advice">click to toggle source</span>
222 <div class="method-description">
228 <div class="method-source-code"
231 <span class="ruby-comment cmt"># File filesys.rb, line 58</span>
232 58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">io</span>, <span class="ruby-identifier">type</span>=<span class="ruby-keyword kw">nil</span>)
233 59: <span class="ruby-ivar">@io</span> = <span class="ruby-identifier">io</span>
234 60: <span class="ruby-ivar">@type</span> = <span class="ruby-identifier">type</span>
235 61: <span class="ruby-keyword kw">end</span></pre>
246 <div id="open-method" class="method-detail ">
247 <a name="method-c-open"></a>
249 <div class="method-heading">
251 <span class="method-name">open</span><span
252 class="method-args">(*args)</span>
253 <span class="method-click-advice">click to toggle source</span>
257 <div class="method-description">
260 Class method allowing open to be used on (zipped) files. See File.open.
265 <div class="method-source-code"
268 <span class="ruby-comment cmt"># File filesys.rb, line 35</span>
269 35: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">open</span>(*<span class="ruby-identifier">args</span>)
270 36: <span class="ruby-identifier">args</span> = *<span class="ruby-identifier">args</span>
271 37: <span class="ruby-identifier">file</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span>
273 39: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"-"</span>
274 40: <span class="ruby-identifier">ios</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">STDIN</span>)
275 41: <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">pipe?</span> <span class="ruby-identifier">file</span>
276 42: <span class="ruby-identifier">ios</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(*<span class="ruby-identifier">args</span>))
277 43: <span class="ruby-keyword kw">else</span>
278 44: <span class="ruby-identifier">ios</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">zopen</span>(*<span class="ruby-identifier">args</span>)
279 45: <span class="ruby-keyword kw">end</span>
281 47: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
282 48: <span class="ruby-keyword kw">begin</span>
283 49: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">ios</span>
284 50: <span class="ruby-keyword kw">ensure</span>
285 51: <span class="ruby-identifier">ios</span>.<span class="ruby-identifier">close</span>
286 52: <span class="ruby-keyword kw">end</span>
287 53: <span class="ruby-keyword kw">else</span>
288 54: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">ios</span>
289 55: <span class="ruby-keyword kw">end</span>
290 56: <span class="ruby-keyword kw">end</span></pre>
303 <div id="private-class-method-details" class="method-section section">
304 <h3 class="section-header">Private Class Methods</h3>
307 <div id="zopen-method" class="method-detail ">
308 <a name="method-c-zopen"></a>
310 <div class="method-heading">
312 <span class="method-name">zopen</span><span
313 class="method-args">(*args)</span>
314 <span class="method-click-advice">click to toggle source</span>
318 <div class="method-description">
321 Helper method to return an ios to a file that may be zipped in which case
322 the ios is unzipped on the fly. See File.open.
327 <div class="method-source-code"
330 <span class="ruby-comment cmt"># File filesys.rb, line 79</span>
331 79: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">zopen</span>(*<span class="ruby-identifier">args</span>)
332 80: <span class="ruby-identifier">ios</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(*<span class="ruby-identifier">args</span>)
334 82: <span class="ruby-keyword kw">begin</span>
335 83: <span class="ruby-identifier">ios</span> = <span class="ruby-constant">Zlib</span><span class="ruby-operator">::</span><span class="ruby-constant">GzipReader</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">ios</span>)
336 84: <span class="ruby-keyword kw">rescue</span>
337 85: <span class="ruby-identifier">ios</span>.<span class="ruby-identifier">rewind</span>
338 86: <span class="ruby-keyword kw">end</span>
340 88: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">ios</span>)
341 89: <span class="ruby-keyword kw">end</span></pre>
354 <div id="public-instance-method-details" class="method-section section">
355 <h3 class="section-header">Public Instance Methods</h3>
358 <div id="close-method" class="method-detail ">
359 <a name="method-i-close"></a>
361 <div class="method-heading">
363 <span class="method-name">close</span><span
364 class="method-args">()</span>
365 <span class="method-click-advice">click to toggle source</span>
369 <div class="method-description">
377 <div class="method-source-code"
380 <span class="ruby-comment cmt"># File filesys.rb, line 64</span>
381 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
382 65: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">close</span>
383 66: <span class="ruby-keyword kw">end</span></pre>
394 <div id="each-method" class="method-detail ">
395 <a name="method-i-each"></a>
397 <div class="method-heading">
399 <span class="method-name">each</span><span
400 class="method-args">()</span>
401 <span class="method-click-advice">click to toggle source</span>
405 <div class="method-description">
408 Iterator method for parsing entries.
413 <div class="method-source-code"
416 <span class="ruby-comment cmt"># File filesys.rb, line 69</span>
417 69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
418 70: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">entry</span> = <span class="ruby-identifier">get_entry</span> <span class="ruby-keyword kw">do</span>
419 71: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">entry</span>
420 72: <span class="ruby-keyword kw">end</span>
421 73: <span class="ruby-keyword kw">end</span></pre>
438 <div id="rdoc-debugging-section-dump" class="debugging-section">
440 <p>Disabled; run with --debug to generate this.</p>
444 <div id="validator-badges">
445 <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
446 <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
447 Rdoc Generator</a> 1.1.6</small>.</p>