class Bio::Command::Tmpdir
Bio::Command::Tmpdir
is a wrapper class to handle temporary directory like Tempfile class. A temporary directory is created when the object of the class is created, and automatically removed when the object is destroyed by GC.
BioRuby library internal use only.
Public Class Methods
new(prefix_suffix = nil, tmpdir = nil)
click to toggle source
Creates a new Tmpdir
object. The arguments are the same as Bio::Command.mktmpdir
.
Arguments:
-
(optional) prefix_suffix: String (or Array)
-
(optional) tmpdir: String: temporary directory’s path
- Returns
-
Tmpdir
object
# File lib/bio/command.rb 668 def initialize(prefix_suffix = nil, tmpdir = nil) 669 @data = [] 670 @clean_proc = Remover.new(@data) 671 ObjectSpace.define_finalizer(self, @clean_proc) 672 @data.push(@path = Bio::Command.mktmpdir(prefix_suffix, tmpdir).freeze) 673 end
Public Instance Methods
close!()
click to toggle source
Removes the temporary directory.
- Returns
-
nil
# File lib/bio/command.rb 685 def close! 686 # raise error if path is nil 687 self.path 688 # finilizer object is called to remove the directory 689 @clean_proc.call 690 # unregister finalizer 691 ObjectSpace.undefine_finalizer(self) 692 # @data and @path is removed 693 @data = @path = nil 694 end
path()
click to toggle source
Path to the temporay directory
- Returns
-
String
# File lib/bio/command.rb 678 def path 679 @path || raise(IOError, 'removed temporary directory') 680 end