AbstractRepositoryListHandler   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
c 1
b 0
f 0
lcom 0
cbo 4
dl 0
loc 29
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A outputVersions() 0 4 1
A getCollection() 0 9 2
1
<?php
2
3
/*
4
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
5
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
6
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
7
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
8
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
9
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
10
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
11
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
12
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
13
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
14
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
15
 *
16
 * This software consists of voluntary contributions made by many individuals
17
 * and is licensed under the MIT license. For more information, see
18
 * <http://www.doctrine-project.org>.
19
 */
20
21
namespace Baleen\Cli\CommandBus\Repository;
22
23
use Baleen\Migrations\Repository\RepositoryInterface;
24
use Baleen\Migrations\Version\Collection\LinkedVersions;
25
use Symfony\Component\Console\Output\OutputInterface;
26
27
/**
28
 * Class AbstractRepositoryListHandler.
29
 *
30
 * @author Gabriel Somoza <[email protected]>
31
 */
32
class AbstractRepositoryListHandler
33
{
34
    /**
35
     * @param LinkedVersions  $versions
36
     * @param OutputInterface $output
37
     */
38
    protected function outputVersions(LinkedVersions $versions, OutputInterface $output)
39
    {
40
        $output->writeln($versions->last()->getId());
41
    }
42
43
    /**
44
     * getCollection.
45
     *
46
     * @param RepositoryInterface $repository
47
     * @param callable|null       $comparator
48
     *
49
     * @return LinkedVersions
50
     */
51
    protected function getCollection(RepositoryInterface $repository, callable $comparator = null)
52
    {
53
        $versions = $repository->fetchAll();
54
        if ($comparator) {
55
            $versions->sortWith($comparator);
56
        }
57
58
        return $versions;
59
    }
60
}
61