Completed
Push — master ( f7d62f...5e8002 )
by Matt
02:53
created

Subscription   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Coupling/Cohesion

Components 2
Dependencies 4

Test Coverage

Coverage 33.33%

Importance

Changes 0
Metric Value
wmc 6
lcom 2
cbo 4
dl 0
loc 44
ccs 6
cts 18
cp 0.3333
rs 10
c 0
b 0
f 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A addPayment() 0 4 1
A addOrder() 0 4 1
A addPaymentSchedule() 0 4 1
A addBillTo() 0 4 1
A addShipTo() 0 4 1
A addProfile() 0 4 1
1
<?php
2
3
namespace CommerceGuys\AuthNet\DataTypes;
4
5
class Subscription extends BaseDataType
6
{
7
    protected $propertyMap = [
8
        'name',
9
        'paymentSchedule',
10
        'amount',
11
        'trialAmount',
12
        'payment',
13
        'order',
14
        'billTo',
15
        'shipTo',
16
        'profile',
17
    ];
18
19 1
    public function addPaymentSchedule(PaymentSchedule $paymentSchedule)
20
    {
21 1
        $this->properties['paymentSchedule'] = $paymentSchedule->toArray();
22 1
    }
23
24
    public function addPayment(PaymentMethodInterface $payment)
25
    {
26
        $this->properties['payment'] = $payment->toArray();
27
    }
28
29
    public function addOrder(Order $order)
30
    {
31
        $this->addDataType($order);
32
    }
33
34
    public function addBillTo(BillTo $billTo)
35
    {
36
        $this->addDataType($billTo);
37
    }
38
39
    public function addShipTo(ShipTo $shipTo)
40
    {
41
        $this->addDataType($shipTo);
42
    }
43
44 1
    public function addProfile(CustomerProfileId $profile)
45
    {
46 1
        $this->properties['profile'] = $profile->toArray();
47 1
    }
48
}
49