Passed
Push — master ( 43fcfe...3bc5dd )
by Marc
06:52
created

AggregationTrait::min()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
c 0
b 0
f 0
rs 10
cc 1
nc 1
nop 1
1
<?php
2
declare(strict_types=1);
3
4
namespace TBolier\RethinkQL\Query\Aggregation;
5
6
use TBolier\RethinkQL\Query\QueryInterface;
7
8
trait AggregationTrait
9
{
10
    public function count(): QueryInterface
11
    {
12
        return new Count($this->rethink, /** @scrutinizer ignore-type */ $this);
13
    }
14
15
    public function group(string $key)
16
    {
17
        return new Group($this->rethink, /** @scrutinizer ignore-type */ $this, $key);
18
    }
19
20
    public function ungroup()
21
    {
22
        return new Ungroup($this->rethink, /** @scrutinizer ignore-type */ $this);
23
    }
24
25
    public function sum(string $key): QueryInterface
26
    {
27
        return new Sum($this->rethink, /** @scrutinizer ignore-type */ $this, $key);
28
    }
29
30
    public function avg(string $key): QueryInterface
31
    {
32
        return new Avg($this->rethink, /** @scrutinizer ignore-type */ $this, $key);
33
    }
34
35
    public function min(string $key)
36
    {
37
        return new Min($this->rethink, /** @scrutinizer ignore-type */ $this, $key);
38
    }
39
40
    public function max(string $key)
41
    {
42
        return new Max($this->rethink, /** @scrutinizer ignore-type */ $this, $key);
43
    }
44
}
45