Class: Bio::FlatFileIndex::FileID
- Defined in:
- lib/bio/io/flatfile/index.rb
Overview
FileID class.
Internal use only.
Instance Attribute Summary collapse
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
-
#filesize ⇒ Object
readonly
Returns the value of attribute filesize.
Class Method Summary collapse
Instance Method Summary collapse
- #check ⇒ Object
- #close ⇒ Object
- #get(pos, length) ⇒ Object
-
#initialize(filename, filesize = nil) ⇒ FileID
constructor
A new instance of FileID.
- #open ⇒ Object
- #read(size) ⇒ Object
- #recalc ⇒ Object
- #seek(*arg) ⇒ Object
- #to_s(i = nil) ⇒ Object
Constructor Details
#initialize(filename, filesize = nil) ⇒ FileID
Returns a new instance of FileID.
495 496 497 498 499 |
# File 'lib/bio/io/flatfile/index.rb', line 495 def initialize(filename, filesize = nil) @filename = filename @filesize = filesize @io = nil end |
Instance Attribute Details
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
500 501 502 |
# File 'lib/bio/io/flatfile/index.rb', line 500 def filename @filename end |
#filesize ⇒ Object (readonly)
Returns the value of attribute filesize.
500 501 502 |
# File 'lib/bio/io/flatfile/index.rb', line 500 def filesize @filesize end |
Class Method Details
.new_from_string(str) ⇒ Object
489 490 491 492 493 |
# File 'lib/bio/io/flatfile/index.rb', line 489 def self.new_from_string(str) a = str.split("\t", 2) a[1] = a[1].to_i if a[1] self.new(a[0], a[1]) end |
Instance Method Details
#check ⇒ Object
502 503 504 505 506 507 508 509 510 511 512 513 514 |
# File 'lib/bio/io/flatfile/index.rb', line 502 def check begin fsize = File.size(@filename) r = ( fsize == @filesize) rescue Errno::ENOENT fsize = -1 r = nil end DEBUG.print "FileID: File.size(#{@filename.inspect}) = ", fsize, (r ? ' == ' : ' != ') , @filesize, (r ? '' : ' bad!'), "\n" r end |
#close ⇒ Object
540 541 542 543 544 545 546 547 548 549 |
# File 'lib/bio/io/flatfile/index.rb', line 540 def close if @io then DEBUG.print "FileID: close #{@filename}\n" @io.close @io = nil nil else true end end |
#get(pos, length) ⇒ Object
559 560 561 562 563 564 565 |
# File 'lib/bio/io/flatfile/index.rb', line 559 def get(pos, length) open seek(pos, IO::SEEK_SET) data = read(length) close data end |
#open ⇒ Object
530 531 532 533 534 535 536 537 538 |
# File 'lib/bio/io/flatfile/index.rb', line 530 def open unless @io then DEBUG.print "FileID: open #{@filename}\n" @io = File.open(@filename, 'rb') true else nil end end |
#read(size) ⇒ Object
555 556 557 |
# File 'lib/bio/io/flatfile/index.rb', line 555 def read(size) @io.read(size) end |
#recalc ⇒ Object
516 517 518 |
# File 'lib/bio/io/flatfile/index.rb', line 516 def recalc @filesize = File.size(@filename) end |
#seek(*arg) ⇒ Object
551 552 553 |
# File 'lib/bio/io/flatfile/index.rb', line 551 def seek(*arg) @io.seek(*arg) end |
#to_s(i = nil) ⇒ Object
520 521 522 523 524 525 526 527 528 |
# File 'lib/bio/io/flatfile/index.rb', line 520 def to_s(i = nil) if i then str = "fileid_#{i}\t" else str = '' end str << "#{@filename}\t#{@filesize}" str end |