CsvDictionary   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
dl 0
loc 31
rs 10
c 0
b 0
f 0
wmc 2
lcom 1
cbo 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A toString() 0 15 2
1
<?php
2
3
namespace Gettext\Generators;
4
5
use Gettext\Translations;
6
use Gettext\Utils\DictionaryTrait;
7
use Gettext\Utils\CsvTrait;
8
9
class CsvDictionary extends Generator implements GeneratorInterface
10
{
11
    use DictionaryTrait;
12
    use CsvTrait;
13
14
    public static $options = [
15
        'includeHeaders' => false,
16
        'delimiter' => ",",
17
        'enclosure' => '"',
18
        'escape_char' => "\\"
19
    ];
20
21
    /**
22
     * {@parentDoc}.
23
     */
24
    public static function toString(Translations $translations, array $options = [])
25
    {
26
        $options += static::$options;
27
        $handle = fopen('php://memory', 'w');
28
29
        foreach (static::toArray($translations, $options['includeHeaders']) as $original => $translation) {
30
            static::fputcsv($handle, [$original, $translation], $options);
31
        }
32
33
        rewind($handle);
34
        $csv = stream_get_contents($handle);
35
        fclose($handle);
36
37
        return $csv;
38
    }
39
}
40