Completed
Push — master ( d04d10...34d6d1 )
by Peter
02:14
created

TranslatorBootstrapper   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 4
dl 0
loc 26
ccs 10
cts 10
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A run() 0 9 1
A registerBindings() 0 6 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Foo\Translate\Bootstrapper;
6
7
use Foo\Translate\ITranslator;
8
use Foo\Translate\Translator;
9
use Opulence\Ioc\Bootstrappers\Bootstrapper;
10
use Opulence\Ioc\IContainer;
11
use Opulence\Views\Compilers\Fortune\ITranspiler;
12
13
class TranslatorBootstrapper extends Bootstrapper
14
{
15
    /**
16
     * @param ITranspiler $transpiler
17
     * @param Translator  $translator
18
     */
19 1
    public function run(ITranspiler $transpiler, Translator $translator)
20
    {
21 1
        $transpiler->registerViewFunction(
22 1
            'tr',
23 1
            function (string $key, ...$args) use ($translator) {
24
                return $translator->translateByArgs($key, $args);
25 1
            }
26
        );
27 1
    }
28
29
    /**
30
     * @param IContainer $container
31
     */
32 1
    public function registerBindings(IContainer $container)
33
    {
34 1
        $translator = new Translator();
35
36 1
        $container->bindInstance(ITranslator::class, $translator);
37
    }
38
}