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

Jagepard / Rudra-Cli / 15920986328

27 Jun 2025 07:42AM UTC coverage: 4.771% (-95.2%) from 100.0%
15920986328

push

github

web-flow
Merge pull request #29 from Jagepard/wip

adds commands

0 of 479 new or added lines in 20 files covered. (0.0%)

24 of 503 relevant lines covered (4.77%)

0.12 hits per line

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

0.0
/src/Command/CreateModelCommand.php
1
<?php
2

3
namespace Rudra\Cli\Command;
4

5
use App\Ship\Utils\FileCreator;
6
use Rudra\Container\Facades\Rudra;
7
use Rudra\Cli\Command\ConsoleFacade as Cli;
8

9
class CreateModelCommand extends FileCreator
10
{
11
    /**
12
     * Creates a file with Seed data
13
     * -----------------------------
14
     * Создает файл с данными Seed
15
     */
NEW
16
    public function actionIndex(): void
×
17
    {
NEW
18
        Cli::printer("Enter table name: ", "magneta");
×
NEW
19
        $prefix    = str_replace(PHP_EOL, "", Cli::reader());
×
NEW
20
        $className = ucfirst($prefix);
×
21

NEW
22
        Cli::printer("Enter container: ", "magneta");
×
NEW
23
        $container = ucfirst(str_replace(PHP_EOL, "", Cli::reader()));
×
24

NEW
25
        if (!empty($container)) {
×
NEW
26
            if (!is_dir(Rudra::config()->get('app.path') . "/app/Containers/$container/")) {
×
NEW
27
                Cli::printer("⚠️  Container '$container' does not exist" . PHP_EOL, "light_yellow");
×
NEW
28
                return;
×
29
            }
30

NEW
31
            $this->writeFile(
×
NEW
32
                [Rudra::config()->get('app.path') . "/app/Containers/$container/Entity/", "{$className}.php"],
×
NEW
33
                $this->createEntity($className, $container)
×
NEW
34
            );
×
35

NEW
36
            $this->writeFile(
×
NEW
37
                [Rudra::config()->get('app.path') . "/app/Containers/$container/Repository/", "{$className}Repository.php"],
×
NEW
38
                $this->createRepository($className, $container)
×
NEW
39
            );
×
40
        } else {
NEW
41
            $this->actionIndex();
×
42
        }
43
    }
44

45
    /**
46
     * Creates class data
47
     * ------------------
48
     * Создает данные класса
49
     *
50
     * @param string $className
51
     * @param string $container
52
     * @return string
53
     */
NEW
54
    private function createEntity(string $className, string $container): string
×
55
    {
NEW
56
        $table = strtolower($className);
×
57

NEW
58
        return <<<EOT
×
NEW
59
<?php
×
60

NEW
61
namespace App\Containers\\{$container}\Entity;
×
62

63
use Rudra\Model\Entity;
64

65
/**
NEW
66
 * @see \App\Containers\\$container\Repository\\{$className}Repository
×
67
 */
NEW
68
class {$className} extends Entity
×
69
{
NEW
70
    public static string \$table = "$table";
×
71
}\r\n
NEW
72
EOT;
×
73
    }
74

75
    /**
76
     * Creates class data
77
     * ------------------
78
     * Создает данные класса
79
     *
80
     * @param string $className
81
     * @param string $container
82
     * @return string
83
     */
NEW
84
    private function createRepository(string $className, string $container): string
×
85
    {
NEW
86
        $table = strtolower($className);
×
87

NEW
88
        return <<<EOT
×
NEW
89
<?php
×
90

NEW
91
namespace App\Containers\\{$container}\Repository;
×
92

93
use Rudra\Model\Repository;
94

NEW
95
class {$className}Repository extends Repository
×
96
{
97

98
}\r\n
NEW
99
EOT;
×
100
    }
101
}
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

© 2026 Coveralls, Inc