Completed
Push — master ( 4a78f3...b358a3 )
by ARCANEDEV
02:55
created

SettingsMiddleware   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 56
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 3
Bugs 0 Features 0
Metric Value
wmc 3
c 3
b 0
f 0
lcom 1
cbo 1
dl 0
loc 56
ccs 10
cts 10
cp 1
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A handle() 0 4 1
A terminate() 0 7 1
1
<?php namespace Arcanedev\Settings\Http\Middleware;
2
3
use Arcanedev\Settings\Contracts\Store as Settings;
4
use Closure;
5
use Illuminate\Http\Request;
6
use Symfony\Component\HttpFoundation\Response;
7
8
/**
9
 * Class     SettingsMiddleware
10
 *
11
 * @package  Arcanedev\Settings\Http\Middleware
12
 * @author   ARCANEDEV <[email protected]>
13
 */
14
class SettingsMiddleware
15
{
16
    /* ------------------------------------------------------------------------------------------------
17
     |  Properties
18
     | ------------------------------------------------------------------------------------------------
19
     */
20
    /**
21
     * @var \Arcanedev\Settings\Contracts\Store
22
     */
23
    private $settings;
24
25
    /* ------------------------------------------------------------------------------------------------
26
     |  Constructor
27
     | ------------------------------------------------------------------------------------------------
28
     */
29
    /**
30
     * Create a new save settings middleware
31
     *
32
     * @param  \Arcanedev\Settings\Contracts\Store  $settings
33
     */
34 3
    public function __construct(Settings $settings)
35
    {
36 3
        $this->settings = $settings;
37 3
    }
38
39
    /* ------------------------------------------------------------------------------------------------
40
     |  Main Functions
41
     | ------------------------------------------------------------------------------------------------
42
     */
43
    /**
44
     * Handle an incoming request.
45
     *
46
     * @param  \Illuminate\Http\Request  $request
47
     * @param  \Closure                  $next
48
     *
49
     * @return mixed
50
     */
51 3
    public function handle(Request $request, Closure $next)
52
    {
53 3
        return $next($request);
54
    }
55
56
    /**
57
     * Perform any final actions for the request lifecycle.
58
     *
59
     * @param  \Illuminate\Http\Request                    $request
60
     * @param  \Symfony\Component\HttpFoundation\Response  $response
61
     */
62 3
    public function terminate(Request $request, Response $response)
63
    {
64 3
        $this->settings->save();
65
66 3
        $unused = compact('request', 'response');
67 3
        unset($unused);
68 3
    }
69
}
70