Completed
Push — master ( 4da284...7cdfcc )
by Márk
03:21
created

StaticUrlBuilder   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 85
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 87.5%

Importance

Changes 5
Bugs 0 Features 1
Metric Value
wmc 7
c 5
b 0
f 1
lcom 1
cbo 1
dl 0
loc 85
ccs 14
cts 16
cp 0.875
rs 10

6 Methods

Rating   Name   Duplication   Size   Complexity  
A getUrlBuilder() 0 8 2
A configure() 0 4 1
A avatar() 0 4 1
A profile() 0 4 1
A vcard() 0 4 1
A qrCode() 0 4 1
1
<?php
2
3
namespace Gravatar;
4
5
/**
6
 * Provides helper for static access.
7
 *
8
 * @author Márk Sági-Kazár <[email protected]>
9
 */
10
class StaticUrlBuilder
11
{
12
    /**
13
     * @var UrlBuilder
14
     */
15
    protected static $urlBuilder;
16
17
    /**
18
     * Returns an UrlBuilder instance.
19
     *
20
     * @return UrlBuilder
21
     */
22 15
    protected static function getUrlBuilder()
23
    {
24 15
        if (null === static::$urlBuilder) {
25
            static::configure();
26
        }
27
28 15
        return static::$urlBuilder;
29
    }
30
31
    /**
32
     * Configures the underlying URL Builder.
33
     *
34
     * @param array $defaultParams
35
     * @param bool  $secure
36
     */
37 16
    public static function configure(array $defaultParams = [], $secure = true)
38
    {
39 16
        static::$urlBuilder = new UrlBuilder($defaultParams, $secure);
40 16
    }
41
42
    /**
43
     * Returns an Avatar URL.
44
     *
45
     * @param string    $email
46
     * @param array     $options
47
     * @param bool|null $secure
48
     *
49
     * @return string
50
     */
51 5
    public static function avatar($email, array $options = [], $secure = null)
52
    {
53 5
        return static::getUrlBuilder()->avatar($email, $options, $secure);
54
    }
55
56
    /**
57
     * Returns a profile URL.
58
     *
59
     * @param string    $email
60
     * @param bool|null $secure
61
     *
62
     * @return string
63
     */
64 4
    public static function profile($email, $secure = null)
65
    {
66 4
        return static::getUrlBuilder()->profile($email, $secure);
67
    }
68
69
    /**
70
     * Returns a vCard URL.
71
     *
72
     * @param string    $email
73
     * @param bool|null $secure
74
     *
75
     * @return string
76
     */
77 3
    public static function vcard($email, $secure = null)
78
    {
79 3
        return static::getUrlBuilder()->vcard($email, $secure);
80
    }
81
82
    /**
83
     * Returns a QR Code URL.
84
     *
85
     * @param string    $email
86
     * @param bool|null $secure
87
     *
88
     * @return string
89
     */
90 3
    public static function qrCode($email, $secure = null)
91
    {
92 3
        return static::getUrlBuilder()->qrCode($email, $secure);
93
    }
94
}
95