Completed
Push — next ( 1ef695...fe15be )
by Mathias
04:39
created

ClientFactory::createService()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
ccs 2
cts 2
cp 1
cc 1
eloc 2
nc 1
nop 1
crap 1
1
<?php
2
/**
3
 * YAWIK Stackoverflow API
4
 *
5
 * @filesource
6
 * @license MIT
7
 * @copyright  2016 - 2017 Cross Solution <http://cross-solution.de>
8
 */
9
  
10
/** */
11
namespace StackoverflowApi\Factory\Client;
12
13
use Interop\Container\ContainerInterface;
14
use StackoverflowApi\Client\Client;
15
use StackoverflowApi\Client\DataTransformer;
16
use Zend\ServiceManager\Factory\FactoryInterface;
17
18
/**
19
 * Factory for \StackoverflowApi\Client\Client
20
 * 
21
 * @author Mathias Gelhausen <[email protected]>
22
 * @since 0.1.0
23
 */
24
class ClientFactory implements FactoryInterface
25
{
26
27
    /**
28
     * Create the client.
29
     *
30
     * @param ContainerInterface $container
31
     * @param string             $requestedName
32
     * @param array|null         $options
33
     *
34
     * @return Client
35
     */
36 1
    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
37
    {
38
        /* @var \StackOverflowApi\Options\ModuleOptions $options */
39 1
        $options     = $container->get('StackoverflowApi/ModuleOptions');
40 1
        $log         = $container->get('Log/StackoverflowApi');
41 1
        $transformer = $container->get(DataTransformer::class);
42
43 1
        $client = new Client($options->getAuthorizationCode());
44
        $client
45 1
            ->setLogger($log)
46 1
            ->setTransformer($transformer)
47
        ;
48
49 1
        return $client;
50
    }
51
}
52