Completed
Push — master ( dd23a3...589bb6 )
by Nick
05:48 queued 02:41
created

Captures   A

Complexity

Total Complexity 14

Size/Duplication

Total Lines 139
Duplicated Lines 6.47 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 14
lcom 0
cbo 3
dl 9
loc 139
rs 10
c 0
b 0
f 0

7 Methods

Rating   Name   Duplication   Size   Complexity  
A setTouchIdentifier() 0 9 2
A setIdentity() 0 9 2
A setIdentitySource() 0 9 2
A setDoNotTrack() 0 9 2
A setReturnSegments() 0 9 2
A setSiteId() 9 9 2
A setCaptures() 0 9 2

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
3
namespace Acquia\LiftClient\Entity;
4
5
use Acquia\LiftClient\Exception\LiftSdkException;
6
7
class Captures extends CapturesBase
8
{
9
    /**
10
     * Sets the 'touch_identifier' parameter.
11
     *
12
     * @param string $touchIdentifier Internal identifier for the touch, if this field is left empty, lift will
13
     *                                generate a touch identifier and include it in the response
14
     *
15
     * @throws \Acquia\LiftClient\Exception\LiftSdkException
16
     *
17
     * @return \Acquia\LiftClient\Entity\Captures
18
     */
19
    public function setTouchIdentifier($touchIdentifier)
20
    {
21
        if (!is_string($touchIdentifier)) {
22
            throw new LiftSdkException('Argument must be an instance of string.');
23
        }
24
        $this['touch_identifier'] = $touchIdentifier;
25
26
        return $this;
27
    }
28
29
    /**
30
     * Sets the 'identity' parameter.
31
     *
32
     * @param string $identity Visitor's primary identity information
33
     *
34
     * @throws \Acquia\LiftClient\Exception\LiftSdkException
35
     *
36
     * @return \Acquia\LiftClient\Entity\Captures
37
     */
38
    public function setIdentity($identity)
39
    {
40
        if (!is_string($identity)) {
41
            throw new LiftSdkException('Argument must be an instance of string.');
42
        }
43
        $this['identity'] = $identity;
44
45
        return $this;
46
    }
47
48
    /**
49
     * Sets the 'identity_source' parameter.
50
     *
51
     * @param string $identitySource Type of visitor's primary identity information. Specific string (account, email,
52
     *                               facebook, twitter, tracking, name) or custom identifier type
53
     *
54
     * @throws \Acquia\LiftClient\Exception\LiftSdkException
55
     *
56
     * @return \Acquia\LiftClient\Entity\Captures
57
     */
58
    public function setIdentitySource($identitySource)
59
    {
60
        if (!is_string($identitySource)) {
61
            throw new LiftSdkException('Argument must be an instance of string.');
62
        }
63
        $this['identity_source'] = $identitySource;
64
65
        return $this;
66
    }
67
68
    /**
69
     * Sets the 'do_not_track' parameter.
70
     *
71
     * @param bool $doNotTrack Flag to indicate whether the person should not be tracked
72
     *
73
     * @throws \Acquia\LiftClient\Exception\LiftSdkException
74
     *
75
     * @return \Acquia\LiftClient\Entity\Captures
76
     */
77
    public function setDoNotTrack($doNotTrack)
78
    {
79
        if (!is_bool($doNotTrack)) {
80
            throw new LiftSdkException('Argument must be an instance of boolean.');
81
        }
82
        $this['do_not_track'] = $doNotTrack;
83
84
        return $this;
85
    }
86
87
    /**
88
     * Sets the 'return_segments' parameter.
89
     *
90
     * @param bool $returnSegments Flag to indicate whether the person should not be tracked
91
     *
92
     * @throws \Acquia\LiftClient\Exception\LiftSdkException
93
     *
94
     * @return \Acquia\LiftClient\Entity\Captures
95
     */
96
    public function setReturnSegments($returnSegments)
97
    {
98
        if (!is_bool($returnSegments)) {
99
            throw new LiftSdkException('Argument must be an instance of boolean.');
100
        }
101
        $this['return_segments'] = $returnSegments;
102
103
        return $this;
104
    }
105
106
    /**
107
     * Sets the 'site_id' parameter.
108
     *
109
     * @param string $siteId The customer site matching external_site_id in the configuration database. Used for
110
     *                       filtering segments to evaluate and the default site_id for captures. If not specified then
111
     *                       the last capture is used to calculate the site_id for filtering segments
112
     *
113
     * @throws \Acquia\LiftClient\Exception\LiftSdkException
114
     *
115
     * @return \Acquia\LiftClient\Entity\Captures
116
     */
117 View Code Duplication
    public function setSiteId($siteId)
118
    {
119
        if (!is_string($siteId)) {
120
            throw new LiftSdkException('Argument must be an instance of string.');
121
        }
122
        $this['site_id'] = $siteId;
123
124
        return $this;
125
    }
126
127
    /**
128
     * Sets the 'captures' parameter.
129
     *
130
     * @param Capture[] $captures List of captures
131
     *
132
     * @throws \Acquia\LiftClient\Exception\LiftSdkException
133
     *
134
     * @return \Acquia\LiftClient\Entity\Captures
135
     */
136
    public function setCaptures($captures)
137
    {
138
        $this['captures'] = [];
139
        foreach ($captures as $capture) {
140
            $this['captures'][] = $capture->getArrayCopy();
141
        }
142
143
        return $this;
144
    }
145
}
146