PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.5
Independent Analytics – WordPress Analytics Plugin v2.15.5
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / illuminate / database / Console / Factories / FactoryMakeCommand.php
independent-analytics / vendor / illuminate / database / Console / Factories Last commit date
stubs 1 month ago FactoryMakeCommand.php 1 month ago
FactoryMakeCommand.php
116 lines
1 <?php
2
3 namespace IAWPSCOPED\Illuminate\Database\Console\Factories;
4
5 use IAWPSCOPED\Illuminate\Console\GeneratorCommand;
6 use IAWPSCOPED\Illuminate\Support\Str;
7 use IAWPSCOPED\Symfony\Component\Console\Attribute\AsCommand;
8 use IAWPSCOPED\Symfony\Component\Console\Input\InputOption;
9 /** @internal */
10 #[AsCommand(name: 'make:factory')]
11 class FactoryMakeCommand extends GeneratorCommand
12 {
13 /**
14 * The console command name.
15 *
16 * @var string
17 */
18 protected $name = 'make:factory';
19 /**
20 * The name of the console command.
21 *
22 * This name is used to identify the command during lazy loading.
23 *
24 * @var string|null
25 *
26 * @deprecated
27 */
28 protected static $defaultName = 'make:factory';
29 /**
30 * The console command description.
31 *
32 * @var string
33 */
34 protected $description = 'Create a new model factory';
35 /**
36 * The type of class being generated.
37 *
38 * @var string
39 */
40 protected $type = 'Factory';
41 /**
42 * Get the stub file for the generator.
43 *
44 * @return string
45 */
46 protected function getStub()
47 {
48 return $this->resolveStubPath('/stubs/factory.stub');
49 }
50 /**
51 * Resolve the fully-qualified path to the stub.
52 *
53 * @param string $stub
54 * @return string
55 */
56 protected function resolveStubPath($stub)
57 {
58 return \file_exists($customPath = $this->laravel->basePath(\trim($stub, '/'))) ? $customPath : __DIR__ . $stub;
59 }
60 /**
61 * Build the class with the given name.
62 *
63 * @param string $name
64 * @return string
65 */
66 protected function buildClass($name)
67 {
68 $factory = class_basename(Str::ucfirst(\str_replace('Factory', '', $name)));
69 $namespaceModel = $this->option('model') ? $this->qualifyModel($this->option('model')) : $this->qualifyModel($this->guessModelName($name));
70 $model = class_basename($namespaceModel);
71 $namespace = $this->getNamespace(Str::replaceFirst($this->rootNamespace(), 'Database\\Factories\\', $this->qualifyClass($this->getNameInput())));
72 $replace = ['{{ factoryNamespace }}' => $namespace, 'NamespacedDummyModel' => $namespaceModel, '{{ namespacedModel }}' => $namespaceModel, '{{namespacedModel}}' => $namespaceModel, 'DummyModel' => $model, '{{ model }}' => $model, '{{model}}' => $model, '{{ factory }}' => $factory, '{{factory}}' => $factory];
73 return \str_replace(\array_keys($replace), \array_values($replace), parent::buildClass($name));
74 }
75 /**
76 * Get the destination class path.
77 *
78 * @param string $name
79 * @return string
80 */
81 protected function getPath($name)
82 {
83 $name = (string) Str::of($name)->replaceFirst($this->rootNamespace(), '')->finish('Factory');
84 return $this->laravel->databasePath() . '/factories/' . \str_replace('\\', '/', $name) . '.php';
85 }
86 /**
87 * Guess the model name from the Factory name or return a default model name.
88 *
89 * @param string $name
90 * @return string
91 */
92 protected function guessModelName($name)
93 {
94 if (\str_ends_with($name, 'Factory')) {
95 $name = \substr($name, 0, -7);
96 }
97 $modelName = $this->qualifyModel(Str::after($name, $this->rootNamespace()));
98 if (\class_exists($modelName)) {
99 return $modelName;
100 }
101 if (\is_dir(app_path('Models/'))) {
102 return $this->rootNamespace() . 'Models\\Model';
103 }
104 return $this->rootNamespace() . 'Model';
105 }
106 /**
107 * Get the console command options.
108 *
109 * @return array
110 */
111 protected function getOptions()
112 {
113 return [['model', 'm', InputOption::VALUE_OPTIONAL, 'The name of the model']];
114 }
115 }
116