Passed
Push — main ( ad68f8...37010c )
by Aleksandr
03:12
created

TransferReturnAct::getIterator()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 1
c 1
b 0
f 1
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace DalliSDK\Models;
6
7
use DalliSDK\Traits\Fillable;
8
use JMS\Serializer\Annotation as JMS;
9
10
/**
11
 * Модель для акта возврата
12
 *
13
 * @see https://api.dalli-service.com/v1/doc/returnTransfers
14
 *
15
 * @JMS\XmlRoot("act")
16
 *
17
 * @template-implements \IteratorAggregate<int, OrderTransferReturn>
18
 */
19
class TransferReturnAct implements \IteratorAggregate
20
{
21
    use Fillable;
22
23
    /**
24
     * Номер акта
25
     *
26
     * @JMS\XmlAttribute()
27
     * @JMS\Type("string")
28
     * @JMS\SerializedName("number")
29
     */
30
    private string $number;
31
32
    /**
33
     * Дата создания акта (Y-m-d)
34
     *
35
     * @JMS\XmlAttribute()
36
     * @JMS\Type("DateTimeImmutable<'Y-m-d'>")
37
     * @JMS\SerializedName("date")
38
     */
39
    private \DateTimeImmutable $date;
40
41
    /**
42
     * @JMS\Type("array<DalliSDK\Models\OrderTransferReturn>")
43
     * @JMS\XmlList(inline = true, entry = "order")
44
     * @var OrderTransferReturn[]
45
     */
46
    private array $orders;
47
48
    /**
49
     * @return \Traversable|OrderTransferReturn[]
50
     */
51 1
    public function getIterator(): \ArrayIterator
52
    {
53 1
        return new \ArrayIterator($this->getOrders());
54
    }
55
56
    /**
57
     * @return OrderTransferReturn[]
58
     */
59 2
    public function getOrders(): array
60
    {
61 2
        return $this->orders;
62
    }
63
64
    /**
65
     * @return string
66
     */
67 2
    public function getNumber(): string
68
    {
69 2
        return $this->number;
70
    }
71
72
    /**
73
     * @return \DateTimeImmutable
74
     */
75 2
    public function getDate(): \DateTimeImmutable
76
    {
77 2
        return $this->date;
78
    }
79
}
80