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

RonasIT / laravel-entity-generator / 12026977149

26 Nov 2024 08:49AM UTC coverage: 39.655% (+0.1%) from 39.537%
12026977149

Pull #108

github

web-flow
Merge ddd257d48 into 8497bb4ef
Pull Request #108: feat: skip generation for invalid stubs

33 of 75 new or added lines in 15 files covered. (44.0%)

23 existing lines in 2 files now uncovered.

391 of 986 relevant lines covered (39.66%)

1.31 hits per line

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

0.0
/src/Generators/ResourceGenerator.php
1
<?php
2

3
namespace RonasIT\Support\Generators;
4

5
use RonasIT\Support\Events\SuccessCreateMessage;
6
use RonasIT\Support\Exceptions\ClassAlreadyExistsException;
7

8
class ResourceGenerator extends EntityGenerator
9
{
10
    public function generate(): void
11
    {
NEW
12
        if ($this->checkStubExists('resource')) {
×
NEW
13
            $this->generateResource();
×
NEW
14
            $this->generateCollectionResource();
×
15
        }
16
    }
17

18
    public function generateCollectionResource(): void
19
    {
20
        $pluralName = $this->getPluralName($this->model);
×
21

22
        if ($this->classExists('resources', "{$pluralName}CollectionResource")) {
×
23
            $this->throwFailureException(
×
24
                ClassAlreadyExistsException::class,
×
25
                "Cannot create {$pluralName}CollectionResource cause {$pluralName}CollectionResource already exists.",
×
26
                "Remove {$pluralName}CollectionResource."
×
27
            );
×
28
        }
29

30
        $collectionResourceContent = $this->getStub('collection_resource', [
×
31
            'singular_name' => $this->model,
×
32
            'plural_name' => $pluralName,
×
33
            'namespace' => $this->getOrCreateNamespace('resources')
×
34
        ]);
×
35

36
        $this->saveClass('resources', "{$pluralName}CollectionResource", $collectionResourceContent);
×
37

38
        event(new SuccessCreateMessage("Created a new CollectionResource: {$pluralName}CollectionResource"));
×
39
    }
40

41
    public function generateResource(): void
42
    {
43
        if ($this->classExists('resources', "{$this->model}Resource")) {
×
44
            $this->throwFailureException(
×
45
                ClassAlreadyExistsException::class,
×
46
                "Cannot create {$this->model}Resource cause {$this->model}Resource already exists.",
×
47
                "Remove {$this->model}Resource."
×
48
            );
×
49
        }
50

51
        $resourceContent = $this->getStub('resource', [
×
52
            'entity' => $this->model,
×
53
            'namespace' => $this->getOrCreateNamespace('resources'),
×
54
            'model_namespace' => $this->getOrCreateNamespace('models'),
×
UNCOV
55
        ]);
×
56

UNCOV
57
        $this->saveClass('resources', "{$this->model}Resource", $resourceContent);
×
58

UNCOV
59
        event(new SuccessCreateMessage("Created a new Resource: {$this->model}Resource"));
×
60
    }
61
}
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