Passed
Push — dev ( 6d0bb0...baaf02 )
by Marcin
04:35
created

ResponseBuilderServiceProvider   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Test Coverage

Coverage 69.23%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
c 1
b 0
f 0
dl 0
loc 41
ccs 9
cts 13
cp 0.6923
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A boot() 0 7 1
A register() 0 4 1
A mergeConfigFrom() 0 4 1
1
<?php
2
/**
3
 * Disable return type hint inspection as we do not have it specified in that
4
 * class for a purpose. The base class is also not having return type hints.
5
 *
6
 * @noinspection ReturnTypeCanBeDeclaredInspection
7
 */
8
9
declare(strict_types=1);
10
11
namespace MarcinOrlowski\ResponseBuilder;
12
13
/**
14
 * Laravel API Response Builder
15
 *
16
 * @package   MarcinOrlowski\ResponseBuilder
17
 *
18
 * @author    Marcin Orlowski <mail (#) marcinOrlowski (.) com>
19
 * @copyright 2016-2019 Marcin Orlowski
20
 * @license   http://www.opensource.org/licenses/mit-license.php MIT
21
 * @link      https://github.com/MarcinOrlowski/laravel-api-response-builder
22
 */
23
24
use Illuminate\Support\ServiceProvider;
25
26
class ResponseBuilderServiceProvider extends ServiceProvider
27
{
28
    /**
29
     * Register bindings in the container.
30
     *
31
     * @return void
32
     */
33
    public function register()
34
    {
35
        $this->mergeConfigFrom(
36
            __DIR__ . '/../config/response_builder.php', 'response_builder'
37
        );
38
    }
39
40
    /**
41
     * Sets up package resources
42
     *
43
     * @return void
44
     */
45 80
    public function boot()
46
    {
47 80
        $this->loadTranslationsFrom(__DIR__ . '/lang', 'response-builder');
48
49 80
        $source = __DIR__ . '/../config/response_builder.php';
50 80
        $this->publishes([
51 80
            $source => config_path('response_builder.php'),
52
        ]);
53 80
    }
54
55
    /**
56
     * Merge the given configuration with the existing configuration.
57
     *
58
     * @param string $path
59
     * @param string $key
60
     *
61
     * @return void
62
     */
63 80
    protected function mergeConfigFrom($path, $key)
64
    {
65 80
        $config = $this->app['config']->get($key, []);
66 80
        $this->app['config']->set($key, Util::mergeConfig(require $path, $config));
67 80
    }
68
69
}
70