Passed
Pull Request — master (#149)
by
unknown
03:38
created

BillShipper::__construct()   A

Complexity

Conditions 4
Paths 8

Size

Total Lines 12
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 6.5971

Importance

Changes 0
Metric Value
dl 0
loc 12
ccs 5
cts 11
cp 0.4545
rs 9.2
c 0
b 0
f 0
cc 4
eloc 7
nc 8
nop 1
crap 6.5971
1
<?php
2
3
namespace Ups\Entity;
4
5
/**
6
 * @author Eduard Sukharev <[email protected]>
7
 */
8
class BillShipper
9
{
10
    const TYPE_ALTERNATE_PAYMENT_METHOD_PAYPAL = '01';
11
12
    /**
13
     * @var string
14
     */
15
    private $accountNumber;
16
17
    /**
18
     * @var CreditCard
19
     */
20
    private $creditCard;
21
22
    /**
23
     * @var string
24
     */
25
    private $alternatePaymentMethod;
26
27
    /**
28
     * @param \stdClass|null $attributes
29
     */
30 3
    public function __construct(\stdClass $attributes = null)
31
    {
32 3
        if (isset($attributes->AccountNumber)) {
33
            $this->setAccountNumber($attributes->AccountNumber);
34
        }
35 3
        if (isset($attributes->CreditCard)) {
36
            $this->setCreditCard(new CreditCard($attributes->CreditCard));
37
        }
38 3
        if (isset($attributes->alternatePaymentMethod)) {
39
            $this->setAlternatePaymentMethod($attributes->alternatePaymentMethod);
40
        }
41 3
    }
42
43
    /**
44
     * @return string
45
     */
46
    public function getAccountNumber()
47
    {
48
        return $this->accountNumber;
49
    }
50
51
    /**
52
     * @param string $accountNumber
53
     *
54
     * @return BillShipper
55
     */
56
    public function setAccountNumber($accountNumber)
57
    {
58
        $this->accountNumber = $accountNumber;
59
60
        return $this;
61
    }
62
63
    /**
64
     * @return CreditCard
65
     */
66
    public function getCreditCard()
67
    {
68
        return $this->creditCard;
69
    }
70
71
    /**
72
     * @param CreditCard $creditCard
73
     * @return BillShipper
74
     */
75
    public function setCreditCard(CreditCard $creditCard)
76
    {
77
        $this->creditCard = $creditCard;
78
79
        return $this;
80
    }
81
82
    /**
83
     * @param string $type
84
     * @return BillShipper
85
     */
86
    public function setAlternatePaymentMethod($type)
87
    {
88
        $this->alternatePaymentMethod = $type;
89
90
        return $this;
91
    }
92
93
    /**
94
     * @return string|null
95
     */
96
    public function getAlternatePaymentMethod()
97
    {
98
        return $this->alternatePaymentMethod;
99
    }
100
}
101