Class: Bio::FlatFileIndex::FileIDs
- Defined in:
- lib/bio/io/flatfile/index.rb
Overview
FileIDs class.
Internal use only.
Instance Method Summary collapse
- #[](n) ⇒ Object
- #[]=(n, data) ⇒ Object
- #add(*arg) ⇒ Object
- #cache_all ⇒ Object
- #check_all ⇒ Object (also: #check)
- #close_all ⇒ Object (also: #close)
- #each ⇒ Object
- #each_with_index ⇒ Object
- #filenames ⇒ Object
-
#initialize(prefix, hash) ⇒ FileIDs
constructor
A new instance of FileIDs.
- #keys ⇒ Object
- #recalc_all ⇒ Object (also: #recalc)
Constructor Details
#initialize(prefix, hash) ⇒ FileIDs
Returns a new instance of FileIDs.
572 573 574 575 |
# File 'lib/bio/io/flatfile/index.rb', line 572 def initialize(prefix, hash) @hash = hash @prefix = prefix end |
Instance Method Details
#[](n) ⇒ Object
577 578 579 580 581 582 583 584 585 586 587 588 |
# File 'lib/bio/io/flatfile/index.rb', line 577 def [](n) r = super(n) if r then r else data = @hash["#{@prefix}#{n}"] if data then self[n] = data end super(n) end end |
#[]=(n, data) ⇒ Object
590 591 592 593 594 595 596 597 598 599 600 |
# File 'lib/bio/io/flatfile/index.rb', line 590 def []=(n, data) if data.is_a?(FileID) then super(n, data) elsif data then super(n, FileID.new_from_string(data)) else # data is nil super(n, nil) end self[n] end |
#add(*arg) ⇒ Object
602 603 604 605 606 |
# File 'lib/bio/io/flatfile/index.rb', line 602 def add(*arg) arg.each do |filename| self << FileID.new(filename) end end |
#cache_all ⇒ Object
608 609 610 611 612 613 614 615 616 617 618 619 620 621 |
# File 'lib/bio/io/flatfile/index.rb', line 608 def cache_all a = @hash.keys.collect do |k| if k =~ /\A#{Regexp.escape(@prefix)}(\d+)/ then $1.to_i else nil end end a.compact! a.each do |i| self[i] end a end |
#check_all ⇒ Object Also known as: check
657 658 659 660 661 662 663 664 665 |
# File 'lib/bio/io/flatfile/index.rb', line 657 def check_all self.cache_all r = true self.each do |x| r = x.check break unless r end r end |
#close_all ⇒ Object Also known as: close
668 669 670 671 672 673 |
# File 'lib/bio/io/flatfile/index.rb', line 668 def close_all self.each do |x| x.close end nil end |
#each ⇒ Object
623 624 625 626 627 628 629 |
# File 'lib/bio/io/flatfile/index.rb', line 623 def each (0...self.size).each do |i| x = self[i] yield(x) if x end self end |
#each_with_index ⇒ Object
631 632 633 634 635 636 637 |
# File 'lib/bio/io/flatfile/index.rb', line 631 def each_with_index (0...self.size).each do |i| x = self[i] yield(x, i) if x end self end |
#filenames ⇒ Object
648 649 650 651 652 653 654 655 |
# File 'lib/bio/io/flatfile/index.rb', line 648 def filenames self.cache_all a = [] self.each do |x| a << x.filename end a end |
#keys ⇒ Object
639 640 641 642 643 644 645 646 |
# File 'lib/bio/io/flatfile/index.rb', line 639 def keys self.cache_all a = [] (0...self.size).each do |i| a << i if self[i] end a end |
#recalc_all ⇒ Object Also known as: recalc
676 677 678 679 680 681 682 |
# File 'lib/bio/io/flatfile/index.rb', line 676 def recalc_all self.cache_all self.each do |x| x.recalc end true end |