TempFile::__destruct()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 6
ccs 5
cts 5
cp 1
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 3
nc 2
nop 0
crap 2
1
<?php
2
3
namespace TreeHouse\Feeder\Resource;
4
5
/**
6
 * Provides a temporary file to work with.
7
 */
8
final class TempFile extends \SplFileObject
9
{
10
    /**
11
     * @var string
12
     */
13
    protected $fileName;
14
15
    /**
16
     * @param string|null $filename Leave empty to generate a tmp name
17
     */
18 114
    public function __construct($filename = null)
19
    {
20 114
        $this->fileName = $filename ?: tempnam(sys_get_temp_dir(), 'feeder');
21
22 114
        parent::__construct($this->fileName, 'a+');
23 114
    }
24
25
    /**
26
     * Clean up when done.
27
     */
28 84
    public function __destruct()
29
    {
30 84
        if (file_exists($this->fileName)) {
31 84
            unlink($this->fileName);
32 84
        }
33 84
    }
34
}
35