GroupBy   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 100%
Metric Value
dl 0
loc 30
wmc 5
lcom 1
cbo 0
ccs 14
cts 14
cp 1
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A addGroupBy() 0 9 2
A toString() 0 9 2
1
<?php
2
3
namespace Muffin\Queries\Snippets;
4
5
use Muffin\Snippet;
6
7
class GroupBy implements Snippet
8
{
9
    private
10
        $groupBy;
11
12 29
    public function __construct()
13
    {
14 29
        $this->groupBy = array();
15 29
    }
16
17 7
    public function addGroupBy($column)
18
    {
19 7
        if(!empty($column))
20 7
        {
21 5
            $this->groupBy[$column] = $column;
22 5
        }
23
24 7
        return $this;
25
    }
26
27 25
    public function toString()
28
    {
29 25
        if(empty($this->groupBy))
30 25
        {
31 20
            return '';
32
        }
33
34 5
        return sprintf('GROUP BY %s', implode(', ', $this->groupBy));
35
    }
36
}
37