Command   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 83
Duplicated Lines 0 %

Test Coverage

Coverage 88%

Importance

Changes 8
Bugs 0 Features 0
Metric Value
wmc 7
eloc 17
c 8
b 0
f 0
dl 0
loc 83
ccs 22
cts 25
cp 0.88
rs 10

7 Methods

Rating   Name   Duplication   Size   Complexity  
A setLaravel() 0 3 1
A title() 0 12 1
A call() 0 5 1
A callSilent() 0 5 1
A setHidden() 0 5 1
A schedule() 0 2 1
A task() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * This file is part of Laravel Zero.
7
 *
8
 * (c) Nuno Maduro <[email protected]>
9
 *
10
 *  For the full copyright and license information, please view the LICENSE
11
 *  file that was distributed with this source code.
12
 */
13
14
namespace LaravelZero\Framework\Commands;
15
16
use function func_get_args;
17
use Illuminate\Console\Command as BaseCommand;
18
use Illuminate\Console\Scheduling\Schedule;
19
use LaravelZero\Framework\Providers\CommandRecorder\CommandRecorderRepository;
20
use function str_repeat;
21
use function strlen;
22
23
abstract class Command extends BaseCommand
24
{
25
    /**
26
     * Holds an instance of the app, if any.
27
     *
28
     * @var \LaravelZero\Framework\Application
29
     */
30
    protected $app;
31
32
    /**
33
     * Define the command's schedule.
34
     *
35
     * @param  \Illuminate\Console\Scheduling\Schedule $schedule
36
     * @return void
37
     */
38 39
    public function schedule(Schedule $schedule)
0 ignored issues
show
Unused Code introduced by
The parameter $schedule is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

38
    public function schedule(/** @scrutinizer ignore-unused */ Schedule $schedule)

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
39
    {
40 39
    }
41
42
    /**
43
     * {@inheritdoc}
44
     */
45 39
    public function setLaravel($laravel): void
46
    {
47 39
        parent::setLaravel($this->app = $laravel);
48 39
    }
49
50
    /**
51
     * Performs the given task, outputs and
52
     * returns the result.
53
     */
54 17
    public function task(string $title = '', $task = null): bool
55
    {
56 17
        return $this->__call('task', func_get_args());
57
    }
58
59
    /*
60
     * Displays the given string as title.
61
     */
62 2
    public function title(string $title): Command
63
    {
64 2
        $size = strlen($title);
65 2
        $spaces = str_repeat(' ', $size);
66
67 2
        $this->output->newLine();
68 2
        $this->output->writeln("<bg=blue;fg=white>$spaces$spaces$spaces</>");
69 2
        $this->output->writeln("<bg=blue;fg=white>$spaces$title$spaces</>");
70 2
        $this->output->writeln("<bg=blue;fg=white>$spaces$spaces$spaces</>");
71 2
        $this->output->newLine();
72
73 2
        return $this;
74
    }
75
76
    /**
77
     * {@inheritdoc}
78
     */
79 1
    public function call($command, array $arguments = [])
80
    {
81 1
        resolve(CommandRecorderRepository::class)->create($command, $arguments);
82
83 1
        return parent::call($command, $arguments);
84
    }
85
86
    /**
87
     * {@inheritdoc}
88
     */
89
    public function callSilent($command, array $arguments = [])
90
    {
91
        resolve(CommandRecorderRepository::class)->create($command, $arguments, CommandRecorderRepository::MODE_SILENT);
92
93
        return parent::callSilent($command, $arguments);
94
    }
95
96
    /**
97
     * {@inheritdoc}
98
     *
99
     * @see {https://github.com/laravel/framework/pull/27005}
100
     */
101 39
    public function setHidden($hidden)
102
    {
103 39
        parent::setHidden($this->hidden = $hidden);
104
105 39
        return $this;
106
    }
107
}
108