• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

orchestral / canvas / 6224137920

18 Sep 2023 02:42PM UTC coverage: 90.984% (+1.0%) from 89.945%
6224137920

push

github

crynobone
wip

Signed-off-by: Mior Muhammad Zaki <crynobone@gmail.com>

603 of 603 new or added lines in 34 files covered. (100.0%)

555 of 610 relevant lines covered (90.98%)

24.54 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

94.44
/src/Console/ControllerMakeCommand.php
1
<?php
2

3
namespace Orchestra\Canvas\Console;
4

5
use Illuminate\Filesystem\Filesystem;
6
use Orchestra\Canvas\Core\Concerns\CodeGenerator;
7
use Orchestra\Canvas\Core\Concerns\TestGenerator;
8
use Orchestra\Canvas\Core\Concerns\UsesGeneratorOverrides;
9
use Symfony\Component\Console\Attribute\AsCommand;
10

11
/**
12
 * @see https://github.com/laravel/framework/blob/9.x/src/Illuminate/Routing/Console/ControllerMakeCommand.php
13
 */
14
#[AsCommand(name: 'make:controller', description: 'Create a new controller class')]
15
class ControllerMakeCommand extends \Illuminate\Routing\Console\ControllerMakeCommand
16
{
17
    use CodeGenerator;
18
    use TestGenerator;
19
    use UsesGeneratorOverrides;
20

21
    /**
22
     * Create a new controller creator command instance.
23
     *
24
     * @return void
25
     */
26
    public function __construct(Filesystem $files)
27
    {
28
        parent::__construct($files);
13✔
29

30
        $this->addGeneratorPresetOptions();
13✔
31
    }
32

33
    /**
34
     * Execute the console command.
35
     *
36
     * @return bool|null
37
     *
38
     * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException
39
     */
40
    public function handle()
41
    {
42
        return $this->generateCode() ? self::SUCCESS : self::FAILURE;
13✔
43
    }
44

45
    /**
46
     * Qualify the given model class base name.
47
     *
48
     * @param  string  $model
49
     * @return string
50
     */
51
    protected function qualifyModel(string $model)
52
    {
53
        return $this->qualifyModelUsingCanvas($model);
5✔
54
    }
55

56
    /**
57
     * Build the replacements for a parent controller.
58
     *
59
     * @return array
60
     */
61
    protected function buildParentReplacements()
62
    {
63
        $parentModelClass = $this->parseModel($this->option('parent'));
2✔
64

65
        if (! class_exists($parentModelClass) &&
2✔
66
            $this->components->confirm("A {$parentModelClass} model does not exist. Do you want to generate it?", true)) {
2✔
67
            $this->call('make:model', ['name' => $parentModelClass, '--preset' => $this->option('preset')]);
×
68
        }
69

70
        return [
2✔
71
            'ParentDummyFullModelClass' => $parentModelClass,
2✔
72
            '{{ namespacedParentModel }}' => $parentModelClass,
2✔
73
            '{{namespacedParentModel}}' => $parentModelClass,
2✔
74
            'ParentDummyModelClass' => class_basename($parentModelClass),
2✔
75
            '{{ parentModel }}' => class_basename($parentModelClass),
2✔
76
            '{{parentModel}}' => class_basename($parentModelClass),
2✔
77
            'ParentDummyModelVariable' => lcfirst(class_basename($parentModelClass)),
2✔
78
            '{{ parentModelVariable }}' => lcfirst(class_basename($parentModelClass)),
2✔
79
            '{{parentModelVariable}}' => lcfirst(class_basename($parentModelClass)),
2✔
80
        ];
2✔
81
    }
82

83
    /**
84
     * Build the model replacement values.
85
     *
86
     * @param  array  $replace
87
     * @return array
88
     */
89
    protected function buildModelReplacements(array $replace)
90
    {
91
        $modelClass = $this->parseModel($this->option('model'));
5✔
92

93
        if (! class_exists($modelClass) && $this->components->confirm("A {$modelClass} model does not exist. Do you want to generate it?", true)) {
5✔
94
            $this->call('make:model', ['name' => $modelClass, '--preset' => $this->option('preset')]);
×
95
        }
96

97
        $replace = $this->buildFormRequestReplacements($replace, $modelClass);
5✔
98

99
        return array_merge($replace, [
5✔
100
            'DummyFullModelClass' => $modelClass,
5✔
101
            '{{ namespacedModel }}' => $modelClass,
5✔
102
            '{{namespacedModel}}' => $modelClass,
5✔
103
            'DummyModelClass' => class_basename($modelClass),
5✔
104
            '{{ model }}' => class_basename($modelClass),
5✔
105
            '{{model}}' => class_basename($modelClass),
5✔
106
            'DummyModelVariable' => lcfirst(class_basename($modelClass)),
5✔
107
            '{{ modelVariable }}' => lcfirst(class_basename($modelClass)),
5✔
108
            '{{modelVariable}}' => lcfirst(class_basename($modelClass)),
5✔
109
        ]);
5✔
110
    }
111

112
    /**
113
     * Get the destination class path.
114
     *
115
     * @param  string  $name
116
     * @return string
117
     */
118
    protected function getPath($name)
119
    {
120
        return $this->getPathUsingCanvas($name);
13✔
121
    }
122

123
    /**
124
     * Get the root namespace for the class.
125
     *
126
     * @return string
127
     */
128
    protected function rootNamespace()
129
    {
130
        return $this->rootNamespaceUsingCanvas();
13✔
131
    }
132
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc