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

StaticUrlBuilder::configure()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 2
crap 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