Completed
Pull Request — master (#15)
by Gabriel
03:36
created

CollectionContext   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
c 1
b 0
f 0
lcom 0
cbo 1
dl 0
loc 37
ccs 7
cts 7
cp 1
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A getProgress() 0 4 1
A createWithProgress() 0 4 1
1
<?php
2
/*
3
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
4
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
5
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
6
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
7
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
8
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
10
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
11
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
12
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
13
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14
 *
15
 * This software consists of voluntary contributions made by many individuals
16
 * and is licensed under the MIT license. For more information, see
17
 * <http://www.doctrine-project.org>.
18
 */
19
20
namespace Baleen\Migrations\Shared\Event\Context;
21
22
use Baleen\Migrations\Shared\Event\Progress;
23
24
/**
25
 * Class CollectionContext
26
 * @author Gabriel Somoza <[email protected]>
27
 */
28
final class CollectionContext implements CollectionContextInterface
29
{
30
    /** @var Progress */
31
    private $progress;
32
33
    /**
34
     * CollectionContext constructor.
35
     * @param Progress $progress
36
     */
37 26
    public function __construct(Progress $progress)
38
    {
39 26
        $this->progress = $progress;
40 26
    }
41
42
    /**
43
     * Returns a Progress object that can indicate the current progress of the run.
44
     *
45
     * @return null|\Baleen\Migrations\Shared\Event\Progress
46
     */
47 21
    public function getProgress()
48
    {
49 21
        return $this->progress;
50
    }
51
52
    /**
53
     * Creates a new instance with an instance of Progress created with the specified parameters
54
     *
55
     * @param $total
56
     * @param $current
57
     *
58
     * @return static
59
     */
60 22
    public static function createWithProgress($total, $current)
61
    {
62 22
        return new static(new Progress($total, $current));
63
    }
64
}
65