Code Duplication    Length = 69-84 lines in 2 locations

src/Api/MailSettings.php 1 location

@@ 11-94 (lines=84) @@
8
use Sichikawa\LaravelSendgridDriver\Api\MailSettings\SandboxMode;
9
use Sichikawa\LaravelSendgridDriver\Api\MailSettings\SpamCheck;
10
11
class MailSettings
12
{
13
    /**
14
     * @var Bcc
15
     */
16
    public $bcc;
17
18
    /**
19
     * @var BypassListManagement
20
     */
21
    public $bypass_list_management;
22
23
    /**
24
     * @var Footer
25
     */
26
    public $footer;
27
28
    /**
29
     * @var SandboxMode
30
     */
31
    public $sandbox_mode;
32
33
    /**
34
     * @var SpamCheck
35
     */
36
    public $spam_check;
37
38
    /**
39
     * @param Bcc $bcc
40
     * @return MailSettings
41
     */
42
    public function setBcc($bcc)
43
    {
44
        $this->bcc = $bcc;
45
        return $this;
46
    }
47
48
    /**
49
     * @param BypassListManagement $bypass_list_management
50
     * @return MailSettings
51
     */
52
    public function setBypassListManagement($bypass_list_management)
53
    {
54
        $this->bypass_list_management = $bypass_list_management;
55
        return $this;
56
    }
57
58
    /**
59
     * @param Footer $footer
60
     * @return MailSettings
61
     */
62
    public function setFooter($footer)
63
    {
64
        $this->footer = $footer;
65
        return $this;
66
    }
67
68
    /**
69
     * @param SandboxMode $sandbox_mode
70
     * @return MailSettings
71
     */
72
    public function setSandboxMode($sandbox_mode)
73
    {
74
        $this->sandbox_mode = $sandbox_mode;
75
        return $this;
76
    }
77
78
    /**
79
     * @param SpamCheck $spam_check
80
     * @return MailSettings
81
     */
82
    public function setSpamCheck($spam_check)
83
    {
84
        $this->spam_check = $spam_check;
85
        return $this;
86
    }
87
88
    public function toArray()
89
    {
90
        return array_filter(json_decode(json_encode($this), true), function ($val) {
91
            return !empty($val);
92
        });
93
    }
94
}

src/Api/TrackingSettings.php 1 location

@@ 9-77 (lines=69) @@
6
use Sichikawa\LaravelSendgridDriver\Api\TrackingSettings\OpenTracking;
7
use Sichikawa\LaravelSendgridDriver\Api\TrackingSettings\SubscriptionTracking;
8
9
class TrackingSettings
10
{
11
    /**
12
     * @var ClickTracking
13
     */
14
    public $click_tracking;
15
16
    /**
17
     * @var OpenTracking
18
     */
19
    public $open_tracking;
20
21
    /**
22
     * @var SubscriptionTracking
23
     */
24
    public $subscription_tracking;
25
26
    /**
27
     * @var GAnalytics
28
     */
29
    public $ganalytics;
30
31
    /**
32
     * @param ClickTracking $click_tracking
33
     * @return TrackingSettings
34
     */
35
    public function setClickTracking($click_tracking)
36
    {
37
        $this->click_tracking = $click_tracking;
38
        return $this;
39
    }
40
41
    /**
42
     * @param OpenTracking $open_tracking
43
     * @return TrackingSettings
44
     */
45
    public function setOpenTracking($open_tracking)
46
    {
47
        $this->open_tracking = $open_tracking;
48
        return $this;
49
    }
50
51
    /**
52
     * @param SubscriptionTracking $subscription_tracking
53
     * @return TrackingSettings
54
     */
55
    public function setSubscriptionTracking($subscription_tracking)
56
    {
57
        $this->subscription_tracking = $subscription_tracking;
58
        return $this;
59
    }
60
61
    /**
62
     * @param GAnalytics $ganalytics
63
     * @return TrackingSettings
64
     */
65
    public function setGanalytics($ganalytics)
66
    {
67
        $this->ganalytics = $ganalytics;
68
        return $this;
69
    }
70
71
    public function toArray()
72
    {
73
        return array_filter(json_decode(json_encode($this), true), function ($val) {
74
            return !empty($val);
75
        });
76
    }
77
}