LaravelApiResponses::bindMacros()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 1
1
<?php
2
3
namespace Igorsgm\LaravelApiResponses;
4
5
use Illuminate\Contracts\Routing\ResponseFactory;
6
7
class LaravelApiResponses
8
{
9
    /**
10
     * Macros.
11
     * @var array
12
     */
13
    protected $macros = [];
14
15
    /**
16
     * LaravelApiResponses constructor.
17
     * @param  ResponseFactory  $factory
18
     */
19
    public function __construct(ResponseFactory $factory)
20
    {
21
        $this->macros = [
22
            Macros\Success::class,
23
            Macros\SuccessMessage::class,
24
            Macros\Error::class,
25
            Macros\ErrorMessage::class,
26
            Macros\ExceptionError::class,
27
        ];
28
29
        $this->bindMacros($factory);
30
    }
31
32
    /**
33
     * Bind macros.
34
     * @param  ResponseFactory  $factory
35
     * @return void
36
     */
37
    public function bindMacros($factory)
38
    {
39
        foreach ($this->macros as $macro) {
40
            (new $macro)->run($factory);
41
        }
42
    }
43
}
44