StdinInput   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
eloc 8
c 1
b 0
f 0
dl 0
loc 20
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getName() 0 3 1
A getContents() 0 11 4
1
<?php
2
3
declare(strict_types=1);
4
5
namespace hanneskod\readmetester\Compiler;
6
7
final class StdinInput implements InputInterface
8
{
9
    private string $content = '';
10
11
    public function getContents(): string
12
    {
13
        if (!$this->content && defined('STDIN')) {
14
            $this->content = (string)stream_get_contents(STDIN);
15
        }
16
17
        if ($this->content) {
18
            return $this->content;
19
        }
20
21
        throw new \RuntimeException('Unable to read from stdin');
22
    }
23
24
    public function getName(): string
25
    {
26
        return 'STDIN';
27
    }
28
}
29