Classes

Line coverage against cyclomatic complexity. Bubble size is the number of executable lines; hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 5 10 15 20 25 Line Coverage (%) Cyclomatic Complexity Lucent\Validation\Constraints\Enum — Coverage: 100.0% | Lines: 26 | Complexity: 14 Lucent\Validation\Constraints\Boolean — Coverage: 100.0% | Lines: 19 | Complexity: 10 Lucent\Validation\Constraints\Matches — Coverage: 100.0% | Lines: 19 | Complexity: 12 Lucent\Validation\Constraints\Range — Coverage: 100.0% | Lines: 16 | Complexity: 20 Lucent\Validation\Constraints\Length — Coverage: 64.3% | Lines: 14 | Complexity: 21 Lucent\Validation\Constraints\Date — Coverage: 92.3% | Lines: 13 | Complexity: 7 Lucent\Validation\Constraints\Distinct — Coverage: 100.0% | Lines: 10 | Complexity: 5 Lucent\Validation\Constraints\NotIn — Coverage: 100.0% | Lines: 10 | Complexity: 13 Lucent\Validation\Constraints\Numeric — Coverage: 85.7% | Lines: 7 | Complexity: 6 Lucent\Validation\Constraints\Required — Coverage: 85.7% | Lines: 7 | Complexity: 6 Lucent\Validation\Constraints\Unique — Coverage: 100.0% | Lines: 6 | Complexity: 6 Lucent\Validation\Constraints\Uri — Coverage: 100.0% | Lines: 6 | Complexity: 5 Lucent\Validation\Constraints\Ip — Coverage: 100.0% | Lines: 4 | Complexity: 4 Lucent\Validation\Constraints\Email — Coverage: 100.0% | Lines: 3 | Complexity: 3 Lucent\Validation\Constraints\SameAs — Coverage: 100.0% | Lines: 3 | Complexity: 3 Lucent\Validation\Constraints\UploadedFile — Coverage: 100.0% | Lines: 3 | Complexity: 3 Lucent\Validation\Constraints\Uuid — Coverage: 100.0% | Lines: 3 | Complexity: 4 Lucent\Validation\Constraints\Integer — Coverage: 100.0% | Lines: 2 | Complexity: 2 Lucent\Validation\Constraints\Number — Coverage: 100.0% | Lines: 2 | Complexity: 3 Lucent\Validation\Constraints\Present — Coverage: 100.0% | Lines: 2 | Complexity: 2 Lucent\Validation\Constraints\Str — Coverage: 100.0% | Lines: 2 | Complexity: 2

Sorted by descending CRAP index.

Methods

Line coverage against cyclomatic complexity. Bubble size is the number of executable lines; hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 5 10 15 Line Coverage (%) Cyclomatic Complexity Lucent\Validation\Constraints\Boolean::validate — Coverage: 100.0% | Lines: 18 | Complexity: 9 Lucent\Validation\Constraints\Date::validate — Coverage: 90.9% | Lines: 11 | Complexity: 5 Lucent\Validation\Constraints\Range::validate — Coverage: 100.0% | Lines: 11 | Complexity: 11 Lucent\Validation\Constraints\Distinct::validate — Coverage: 100.0% | Lines: 9 | Complexity: 4 Lucent\Validation\Constraints\Enum::validate — Coverage: 100.0% | Lines: 9 | Complexity: 3 Lucent\Validation\Constraints\Enum::resolveCase — Coverage: 100.0% | Lines: 8 | Complexity: 5 Lucent\Validation\Constraints\Length::validate — Coverage: 62.5% | Lines: 8 | Complexity: 10 Lucent\Validation\Constraints\NotIn::stringify — Coverage: 100.0% | Lines: 7 | Complexity: 10 Lucent\Validation\Constraints\Enum::allowedValues — Coverage: 100.0% | Lines: 6 | Complexity: 3 Lucent\Validation\Constraints\Matches::safePattern — Coverage: 100.0% | Lines: 6 | Complexity: 3 Lucent\Validation\Constraints\Numeric::validate — Coverage: 83.3% | Lines: 6 | Complexity: 5 Lucent\Validation\Constraints\Required::validate — Coverage: 83.3% | Lines: 6 | Complexity: 5 Lucent\Validation\Constraints\Unique::validate — Coverage: 100.0% | Lines: 4 | Complexity: 4 Lucent\Validation\Constraints\Uri::validate — Coverage: 100.0% | Lines: 4 | Complexity: 3 Lucent\Validation\Constraints\Length::defaultMessage — Coverage: 66.7% | Lines: 3 | Complexity: 6 Lucent\Validation\Constraints\Range::defaultMessage — Coverage: 100.0% | Lines: 3 | Complexity: 6 Lucent\Validation\Constraints\Email::validate — Coverage: 100.0% | Lines: 2 | Complexity: 2 Lucent\Validation\Constraints\Enum::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 2 Lucent\Validation\Constraints\Ip::validate — Coverage: 100.0% | Lines: 2 | Complexity: 2 Lucent\Validation\Constraints\Length::__construct — Coverage: 50.0% | Lines: 2 | Complexity: 3 Lucent\Validation\Constraints\Matches::mobile — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\Constraints\Matches::password — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\Constraints\Matches::alpha — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\Constraints\Matches::alphanumeric — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\Constraints\Matches::hexColor — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\Constraints\Range::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 3 Lucent\Validation\Constraints\UploadedFile::validate — Coverage: 100.0% | Lines: 2 | Complexity: 2 Lucent\Validation\Constraints\Boolean::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Date::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Date::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Distinct::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Email::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Enum::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Integer::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Integer::validate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Ip::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Ip::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Length::unit — Coverage: 100.0% | Lines: 1 | Complexity: 2 Lucent\Validation\Constraints\Matches::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Matches::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Matches::validate — Coverage: 100.0% | Lines: 1 | Complexity: 2 Lucent\Validation\Constraints\NotIn::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\NotIn::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\NotIn::validate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Number::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Number::validate — Coverage: 100.0% | Lines: 1 | Complexity: 2 Lucent\Validation\Constraints\Numeric::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Present::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Present::validate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Required::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\SameAs::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\SameAs::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\SameAs::validate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Str::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Str::validate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Unique::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Unique::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\UploadedFile::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Uri::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Uri::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Uuid::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Uuid::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Uuid::validate — Coverage: 100.0% | Lines: 1 | Complexity: 2

Sorted by descending CRAP index.

Method CRAP Coverage
Lucent\Validation\Constraints\Length::validate15.2762.5%
Lucent\Validation\Constraints\Range::validate11100.0%
Lucent\Validation\Constraints\NotIn::stringify10100.0%
Lucent\Validation\Constraints\Boolean::validate9100.0%
Lucent\Validation\Constraints\Length::defaultMessage7.3366.7%
Lucent\Validation\Constraints\Range::defaultMessage6100.0%
Lucent\Validation\Constraints\Numeric::validate5.1283.3%
Lucent\Validation\Constraints\Required::validate5.1283.3%
Lucent\Validation\Constraints\Date::validate5.0290.9%
Lucent\Validation\Constraints\Enum::resolveCase5100.0%
Lucent\Validation\Constraints\Length::__construct4.1250.0%
Lucent\Validation\Constraints\Distinct::validate4100.0%
Lucent\Validation\Constraints\Unique::validate4100.0%
Lucent\Validation\Constraints\Enum::validate3100.0%
Lucent\Validation\Constraints\Enum::allowedValues3100.0%
Lucent\Validation\Constraints\Matches::safePattern3100.0%
Lucent\Validation\Constraints\Range::__construct3100.0%
Lucent\Validation\Constraints\Uri::validate3100.0%
Lucent\Validation\Constraints\Email::validate2100.0%
Lucent\Validation\Constraints\Enum::__construct2100.0%
Lucent\Validation\Constraints\Ip::validate2100.0%
Lucent\Validation\Constraints\Length::unit2100.0%
Lucent\Validation\Constraints\Matches::validate2100.0%
Lucent\Validation\Constraints\Number::validate2100.0%
Lucent\Validation\Constraints\UploadedFile::validate2100.0%
Lucent\Validation\Constraints\Uuid::validate2100.0%
Lucent\Validation\Constraints\Boolean::defaultMessage1100.0%
Lucent\Validation\Constraints\Date::__construct1100.0%
Lucent\Validation\Constraints\Date::defaultMessage1100.0%
Lucent\Validation\Constraints\Distinct::defaultMessage1100.0%
Lucent\Validation\Constraints\Email::defaultMessage1100.0%
Lucent\Validation\Constraints\Enum::defaultMessage1100.0%
Lucent\Validation\Constraints\Integer::defaultMessage1100.0%
Lucent\Validation\Constraints\Integer::validate1100.0%
Lucent\Validation\Constraints\Ip::__construct1100.0%
Lucent\Validation\Constraints\Ip::defaultMessage1100.0%
Lucent\Validation\Constraints\Matches::mobile1100.0%
Lucent\Validation\Constraints\Matches::password1100.0%
Lucent\Validation\Constraints\Matches::alpha1100.0%
Lucent\Validation\Constraints\Matches::alphanumeric1100.0%
Lucent\Validation\Constraints\Matches::hexColor1100.0%
Lucent\Validation\Constraints\Matches::__construct1100.0%
Lucent\Validation\Constraints\Matches::defaultMessage1100.0%
Lucent\Validation\Constraints\NotIn::__construct1100.0%
Lucent\Validation\Constraints\NotIn::defaultMessage1100.0%
Lucent\Validation\Constraints\NotIn::validate1100.0%
Lucent\Validation\Constraints\Number::defaultMessage1100.0%
Lucent\Validation\Constraints\Numeric::defaultMessage1100.0%
Lucent\Validation\Constraints\Present::defaultMessage1100.0%
Lucent\Validation\Constraints\Present::validate1100.0%
Lucent\Validation\Constraints\Required::defaultMessage1100.0%
Lucent\Validation\Constraints\SameAs::__construct1100.0%
Lucent\Validation\Constraints\SameAs::defaultMessage1100.0%
Lucent\Validation\Constraints\SameAs::validate1100.0%
Lucent\Validation\Constraints\Str::defaultMessage1100.0%
Lucent\Validation\Constraints\Str::validate1100.0%
Lucent\Validation\Constraints\Unique::__construct1100.0%
Lucent\Validation\Constraints\Unique::defaultMessage1100.0%
Lucent\Validation\Constraints\UploadedFile::defaultMessage1100.0%
Lucent\Validation\Constraints\Uri::__construct1100.0%
Lucent\Validation\Constraints\Uri::defaultMessage1100.0%
Lucent\Validation\Constraints\Uuid::__construct1100.0%
Lucent\Validation\Constraints\Uuid::defaultMessage1100.0%