Completed
Push — master ( a27d66...168bdb )
by WEBEWEB
05:24
created

BadgeFactory   A

Complexity

Total Complexity 19

Size/Duplication

Total Lines 188
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 11

Importance

Changes 0
Metric Value
wmc 19
lcom 1
cbo 11
dl 0
loc 188
rs 10
c 0
b 0
f 0

19 Methods

Rating   Name   Duplication   Size   Complexity  
A newDangerBadge() 0 3 1
A newDarkBadge() 0 3 1
A newDefaultBadge() 0 3 1
A newInfoBadge() 0 3 1
A newLightBadge() 0 3 1
A newPrimaryBadge() 0 3 1
A newSecondaryBadge() 0 3 1
A newSuccessBadge() 0 3 1
A newWarningBadge() 0 3 1
A parseBadge() 0 7 1
A parseDangerBadge() 0 3 1
A parseDarkBadge() 0 3 1
A parseDefaultBadge() 0 3 1
A parseInfoBadge() 0 3 1
A parseLightBadge() 0 3 1
A parsePrimaryBadge() 0 3 1
A parseSecondaryBadge() 0 3 1
A parseSuccessBadge() 0 3 1
A parseWarningBadge() 0 3 1
1
<?php
2
3
/*
4
 * This file is part of the bootstrap-bundle package.
5
 *
6
 * (c) 2019 WEBEWEB
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace WBW\Bundle\BootstrapBundle\Badge;
13
14
use WBW\Library\Core\Argument\ArrayHelper;
15
16
/**
17
 * Badge factory.
18
 *
19
 * @author webeweb <https://github.com/webeweb/>
20
 * @package WBW\Bundle\BootstrapBundle\Badge
21
 */
22
class BadgeFactory {
23
24
    /**
25
     * Creates a new danger badge.
26
     *
27
     * @return BadgeInterface Returns the danger badge.
28
     */
29
    public static function newDangerBadge() {
30
        return new DangerBadge();
31
    }
32
33
    /**
34
     * Creates a new dark badge.
35
     *
36
     * @return BadgeInterface Returns the dark badge.
37
     */
38
    public static function newDarkBadge() {
39
        return new DarkBadge();
40
    }
41
42
    /**
43
     * Creates a new default badge.
44
     *
45
     * @return BadgeInterface Returns the default badge.
46
     */
47
    public static function newDefaultBadge() {
48
        return new DefaultBadge();
49
    }
50
51
    /**
52
     * Creates a new info badge.
53
     *
54
     * @return BadgeInterface Returns the info badge.
55
     */
56
    public static function newInfoBadge() {
57
        return new InfoBadge();
58
    }
59
60
    /**
61
     * Creates a new light badge.
62
     *
63
     * @return BadgeInterface Returns the light badge.
64
     */
65
    public static function newLightBadge() {
66
        return new LightBadge();
67
    }
68
69
    /**
70
     * Creates a new primary badge.
71
     *
72
     * @return BadgeInterface Returns the primary badge.
73
     */
74
    public static function newPrimaryBadge() {
75
        return new PrimaryBadge();
76
    }
77
78
    /**
79
     * Creates a new secondary badge.
80
     *
81
     * @return BadgeInterface Returns the secondary badge.
82
     */
83
    public static function newSecondaryBadge() {
84
        return new SecondaryBadge();
85
    }
86
87
    /**
88
     * Creates a new success badge.
89
     *
90
     * @return BadgeInterface Returns the success badge.
91
     */
92
    public static function newSuccessBadge() {
93
        return new SuccessBadge();
94
    }
95
96
    /**
97
     * Creates a new warning badge.
98
     *
99
     * @return BadgeInterface Returns the warning badge.
100
     */
101
    public static function newWarningBadge() {
102
        return new WarningBadge();
103
    }
104
105
    /**
106
     * Parses a badge.
107
     *
108
     * @param BadgeInterface $badge The badge.
109
     * @param array $args The arguments.
110
     * @return BadgeInterface Returns the badge.
111
     */
112
    protected static function parseBadge(BadgeInterface $badge, array $args) {
113
114
        $badge->setContent(ArrayHelper::get($args, "content"));
115
        $badge->setPill(ArrayHelper::get($args, "pill", false));
116
117
        return $badge;
118
    }
119
120
    /**
121
     * Parse a danger badge.
122
     *
123
     * @param array $args The arguments.
124
     * @return BadgeInterface Returns the danger badge.
125
     */
126
    public static function parseDangerBadge(array $args) {
127
        return static::parseBadge(static::newDangerBadge(), $args);
128
    }
129
130
    /**
131
     * Parse a dark badge.
132
     *
133
     * @param array $args The arguments.
134
     * @return BadgeInterface Returns the dark badge.
135
     */
136
    public static function parseDarkBadge(array $args) {
137
        return static::parseBadge(static::newDarkBadge(), $args);
138
    }
139
140
    /**
141
     * Parse a default badge.
142
     *
143
     * @param array $args The arguments.
144
     * @return BadgeInterface Returns the default badge.
145
     */
146
    public static function parseDefaultBadge(array $args) {
147
        return static::parseBadge(static::newDefaultBadge(), $args);
148
    }
149
150
    /**
151
     * Parse a info badge.
152
     *
153
     * @param array $args The arguments.
154
     * @return BadgeInterface Returns the info badge.
155
     */
156
    public static function parseInfoBadge(array $args) {
157
        return static::parseBadge(static::newInfoBadge(), $args);
158
    }
159
160
    /**
161
     * Parse a light badge.
162
     *
163
     * @param array $args The arguments.
164
     * @return BadgeInterface Returns the light badge.
165
     */
166
    public static function parseLightBadge(array $args) {
167
        return static::parseBadge(static::newLightBadge(), $args);
168
    }
169
170
    /**
171
     * Parse a primary badge.
172
     *
173
     * @param array $args The arguments.
174
     * @return BadgeInterface Returns the primary badge.
175
     */
176
    public static function parsePrimaryBadge(array $args) {
177
        return static::parseBadge(static::newPrimaryBadge(), $args);
178
    }
179
180
    /**
181
     * Parse a secondary badge.
182
     *
183
     * @param array $args The arguments.
184
     * @return BadgeInterface Returns the secondary badge.
185
     */
186
    public static function parseSecondaryBadge(array $args) {
187
        return static::parseBadge(static::newSecondaryBadge(), $args);
188
    }
189
190
    /**
191
     * Parse a success badge.
192
     *
193
     * @param array $args The arguments.
194
     * @return BadgeInterface Returns the success badge.
195
     */
196
    public static function parseSuccessBadge(array $args) {
197
        return static::parseBadge(static::newSuccessBadge(), $args);
198
    }
199
200
    /**
201
     * Parse a warning badge.
202
     *
203
     * @param array $args The arguments.
204
     * @return BadgeInterface Returns the warning badge.
205
     */
206
    public static function parseWarningBadge(array $args) {
207
        return static::parseBadge(static::newWarningBadge(), $args);
208
    }
209
}
210