Class: Tempdir

Inherits:
Object
  • Object
show all
Defined in:
lib/tempdir.rb,
lib/tempdir/tempfile.rb

Defined Under Namespace

Classes: Tempfile

Constant Summary collapse

@@tmpdir =
Pathname.new(Dir.tmpdir)

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = nil) ⇒ Tempdir

Returns a new instance of Tempdir.



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/tempdir.rb', line 14

def initialize(name = nil)
  @dir = create_tmpdir(name)
  @dir.mkpath
  @exit_proc = add_exit
  if block_given?
    begin 
      yield @dir
    ensure
      close
    end
  end
end

Instance Attribute Details

#dirObject (readonly)

Returns the value of attribute dir.



13
14
15
# File 'lib/tempdir.rb', line 13

def dir
  @dir
end

Class Method Details

.open(name = nil, &block) ⇒ Object



31
32
33
# File 'lib/tempdir.rb', line 31

def self.open(name = nil, &block)
  new(name, &block)
end

.tmpdirObject



10
# File 'lib/tempdir.rb', line 10

def self.tmpdir; @@tmpdir; end

.tmpdir=(d) ⇒ Object



11
# File 'lib/tempdir.rb', line 11

def self.tmpdir=(d); @@tmpdir = Pathname.new(d); end

Instance Method Details

#closeObject



27
28
29
# File 'lib/tempdir.rb', line 27

def close
  @dir.rmtree if @dir.directory?
end