Lines 100.00% 5 / 5
Functions and Methods 100.00% 1 / 1
Classes and Traits 100.00% 1 / 1
Name Lines Functions and Methods CRAP Classes and Traits
MemberScope 100.00% 5 / 5 100.00% 1 / 1 5 100.00% 1 / 1
 getCollisionSuffix 100.00% 5 / 5 100.00% 1 / 1 5
1<?php
2
3declare(strict_types=1);
4
5namespace Stewart\Codegen\Php;
6
7enum MemberScope
8{
9    case RootClasses;
10    case ClassStems;
11    case EntityHandle;
12    case DomainServices;
13    case StateView;
14    case Parameters;
15    case TargetedParameters;
16
17    public function getCollisionSuffix(): string
18    {
19        return match ($this) {
20            self::RootClasses, self::ClassStems => 'Domain',
21            self::EntityHandle, self::DomainServices => 'Service',
22            self::StateView => 'Attribute',
23            self::Parameters, self::TargetedParameters => 'Field',
24        };
25    }
26}