Passed
Push — master ( 0b518c...5d9f70 )
by Benjamin
08:02 queued 13s
created

PluginTrait   A

Complexity

Total Complexity 12

Size/Duplication

Total Lines 100
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 15
dl 0
loc 100
rs 10
c 2
b 0
f 0
wmc 12

8 Methods

Rating   Name   Duplication   Size   Complexity  
A getTwitter() 0 4 1
A getConsumerSecret() 0 9 3
A getOauth() 0 4 1
A getPublish() 0 4 1
A getAccounts() 0 4 1
A getConsumerKey() 0 9 3
A getCache() 0 4 1
A getApi() 0 4 1
1
<?php
2
/**
3
 * @link      https://dukt.net/twitter/
4
 * @copyright Copyright (c) 2021, Dukt
5
 * @license   https://github.com/dukt/twitter/blob/master/LICENSE.md
6
 */
7
8
namespace dukt\twitter\base;
9
10
use Craft;
11
use dukt\twitter\Plugin;
12
13
/**
14
 * PluginTrait implements the common methods and properties for plugin classes.
15
 *
16
 * @property \dukt\twitter\services\Twitter $twitter    The twitter service
17
 * @property \dukt\twitter\services\Api     $api        The api service
18
 * @property \dukt\twitter\services\Cache   $cache      The cache service
19
 * @property \dukt\twitter\services\Oauth   $oauth      The oauth service
20
 * @property \dukt\twitter\services\Publish $publish    The publish service
21
 */
22
trait PluginTrait
23
{
24
    /**
25
     * Returns the twitter service.
26
     *
27
     * @return \dukt\twitter\services\Twitter The twitter service
28
     */
29
    public function getTwitter()
30
    {
31
        /** @var Twitter $this */
32
        return $this->get('twitter');
33
    }
34
35
    /**
36
     * Returns the accounts service.
37
     *
38
     * @return \dukt\twitter\services\Accounts The accounts service
39
     */
40
    public function getAccounts()
41
    {
42
        /** @var Twitter $this */
43
        return $this->get('accounts');
44
    }
45
46
    /**
47
     * Returns the api service.
48
     *
49
     * @return \dukt\twitter\services\Api The api service
50
     */
51
    public function getApi()
52
    {
53
        /** @var Twitter $this */
54
        return $this->get('api');
55
    }
56
57
    /**
58
     * Returns the cache service.
59
     *
60
     * @return \dukt\twitter\services\Cache The cache service
61
     */
62
    public function getCache()
63
    {
64
        /** @var Twitter $this */
65
        return $this->get('cache');
66
    }
67
68
    /**
69
     * Returns the oauth service.
70
     *
71
     * @return \dukt\twitter\services\Oauth The oauth service
72
     */
73
    public function getOauth()
74
    {
75
        /** @var Twitter $this */
76
        return $this->get('oauth');
77
    }
78
79
    /**
80
     * Returns the publish service.
81
     *
82
     * @return \dukt\twitter\services\Publish The publish service
83
     */
84
    public function getPublish()
85
    {
86
        /** @var Twitter $this */
87
        return $this->get('publish');
88
    }
89
90
    /**
91
     * Gets the OAuth consumer key
92
     *
93
     * @param bool $parse
94
     * @return string|null
95
     */
96
    public function getConsumerKey(bool $parse = true)
97
    {
98
        $consumerKey = Plugin::$plugin->getSettings()->oauthConsumerKey;
99
100
        if (!$consumerKey) {
101
            return null;
102
        }
103
104
        return $parse ? Craft::parseEnv($consumerKey) : $consumerKey;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $parse ? Craft::p...umerKey) : $consumerKey also could return the type boolean which is incompatible with the documented return type null|string.
Loading history...
105
    }
106
107
    /**
108
     * Gets the OAuth consumer secret
109
     *
110
     * @param bool $parse
111
     * @return string|null
112
     */
113
    public function getConsumerSecret(bool $parse = true)
114
    {
115
        $consumerSecret = Plugin::$plugin->getSettings()->oauthConsumerSecret;
116
117
        if (!$consumerSecret) {
118
            return null;
119
        }
120
121
        return $parse ? Craft::parseEnv($consumerSecret) : $consumerSecret;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $parse ? Craft::p...cret) : $consumerSecret also could return the type boolean which is incompatible with the documented return type null|string.
Loading history...
122
    }
123
}
124