Passed
Push — master ( 98541d...d359a0 )
by
unknown
08:18
created

Converse::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 5
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 2
ccs 0
cts 4
cp 0
crap 2
rs 9.4285
1
<?php
2
3
declare(strict_types=1);
4
5
namespace FondBot\Foundation\Commands;
6
7
use FondBot\Conversation\Intent;
8
use FondBot\Contracts\Conversable;
9
use FondBot\Events\MessageReceived;
10
use FondBot\Conversation\Interaction;
11
12
class Converse
13
{
14
    private $conversable;
15
    private $message;
16
17
    public function __construct(Conversable $conversable, MessageReceived $message)
18
    {
19
        $this->conversable = $conversable;
20
        $this->message = $message;
21
    }
22
23
    public function handle(): void
24
    {
25
        if ($this->conversable instanceof Intent) {
26
            $session = session();
27
            $session->setIntent($this->conversable);
28
            $session->setInteraction(null);
29
30
            kernel()->setSession($session);
31
32
            $this->conversable->handle($this->message);
33
        } elseif ($this->conversable instanceof Interaction) {
34
            $this->conversable->handle($this->message);
35
        } else {
36
            $this->conversable->handle($this->message);
37
        }
38
    }
39
}
40