ScriptScoringFunction   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 70
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 6
eloc 17
c 1
b 0
f 0
dl 0
loc 70
rs 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A getInline() 0 3 1
A getParams() 0 3 1
A toArray() 0 15 2
A setParams() 0 5 1
A setInline() 0 5 1
1
<?php
2
3
namespace Nord\Lumen\Elasticsearch\Search\Scoring\Functions;
4
5
/**
6
 * Class ScriptScoringFunction
7
 * @package Nord\Lumen\Elasticsearch\Search\Scoring\Functions
8
 */
9
class ScriptScoringFunction extends AbstractScoringFunction
10
{
11
    /**
12
     * @var mixed
13
     */
14
    private $params;
15
16
    /**
17
     * @var string
18
     */
19
    private $inline;
20
21
    /**
22
     * @return mixed
23
     */
24
    public function getParams()
25
    {
26
        return $this->params;
27
    }
28
29
    /**
30
     * @param mixed $params
31
     *
32
     * @return $this
33
     */
34
    public function setParams($params)
35
    {
36
        $this->params = $params;
37
38
        return $this;
39
    }
40
41
    /**
42
     * @return string
43
     */
44
    public function getInline()
45
    {
46
        return $this->inline;
47
    }
48
49
    /**
50
     * @param string $inline
51
     *
52
     * @return $this
53
     */
54
    public function setInline($inline)
55
    {
56
        $this->inline = $inline;
57
58
        return $this;
59
    }
60
61
    /**
62
     * @return array
63
     */
64
    public function toArray()
65
    {
66
        $script = [
67
            'inline' => $this->getInline(),
68
        ];
69
70
        $params = $this->getParams();
71
72
        if (!empty($params)) {
73
            $script['params'] = $this->getParams();
74
        }
75
76
        return [
77
            'script_score' => [
78
                'script' => $script
79
            ]
80
        ];
81
    }
82
}
83