RepoFacadeFactory   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 2
c 1
b 0
f 1
lcom 1
cbo 2
dl 0
loc 27
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A create() 0 6 1
1
<?php
2
3
namespace DevBoardLib\GithubApiFacade\Repo;
4
5
use DevBoardLib\GithubApiFacade\Auth\GithubAccessToken;
6
use DevBoardLib\GithubApiFacade\Client\ClientFactory;
7
use DevBoardLib\GithubCore\Repo\GithubRepo;
8
9
/**
10
 * Class RepoFacadeFactory.
11
 */
12
class RepoFacadeFactory
13
{
14
    private $clientFactory;
15
16
    /**
17
     * RepoFacadeFactory constructor.
18
     *
19
     * @param $clientFactory
20
     */
21
    public function __construct(ClientFactory $clientFactory)
22
    {
23
        $this->clientFactory = $clientFactory;
24
    }
25
26
    /**
27
     * @param GithubRepo        $githubRepo
28
     * @param GithubAccessToken $user
29
     *
30
     * @return PaginatedKnpLabsRepoFacade
31
     */
32
    public function create(GithubRepo $githubRepo, GithubAccessToken $user)
33
    {
34
        $client = $this->clientFactory->createTokenAuthenticatedClient($user);
35
36
        return new PaginatedKnpLabsRepoFacade($client, $githubRepo);
37
    }
38
}
39