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 10 20 30 40 50 Line Coverage (%) Cyclomatic Complexity Stewart\Runtime\Config\StewartConfigSchema — Coverage: 99.4% | Lines: 344 | Complexity: 27 Stewart\Runtime\Config\EnvironmentOverlay — Coverage: 100.0% | Lines: 81 | Complexity: 39 Stewart\Runtime\Config\ConfigSection — Coverage: 82.1% | Lines: 78 | Complexity: 44 Stewart\Runtime\Config\StewartConfig — Coverage: 100.0% | Lines: 35 | Complexity: 5 Stewart\Runtime\Config\Environment\EnvironmentValueParser — Coverage: 100.0% | Lines: 32 | Complexity: 32 Stewart\Runtime\Config\EnvironmentPlaceholders — Coverage: 100.0% | Lines: 31 | Complexity: 22 Stewart\Runtime\Config\SupervisionConfig — Coverage: 100.0% | Lines: 24 | Complexity: 4 Stewart\Runtime\Config\MqttConfig — Coverage: 100.0% | Lines: 23 | Complexity: 9 Stewart\Runtime\Config\MqttServerUrl — Coverage: 100.0% | Lines: 18 | Complexity: 12 Stewart\Runtime\Config\ConfigLoader — Coverage: 100.0% | Lines: 17 | Complexity: 12 Stewart\Runtime\Config\BackoffPolicy — Coverage: 100.0% | Lines: 16 | Complexity: 10 Stewart\Runtime\Config\UnixControlAddress — Coverage: 93.3% | Lines: 15 | Complexity: 8 Stewart\Runtime\Config\EnvironmentVariables — Coverage: 53.8% | Lines: 13 | Complexity: 8 Stewart\Runtime\Config\CodegenConfig — Coverage: 100.0% | Lines: 10 | Complexity: 2 Stewart\Runtime\Config\ConfigFileReader — Coverage: 80.0% | Lines: 10 | Complexity: 5 Stewart\Runtime\Config\HttpListenAddress — Coverage: 100.0% | Lines: 10 | Complexity: 10 Stewart\Runtime\Config\Psr4Map — Coverage: 0.0% | Lines: 10 | Complexity: 10 Stewart\Runtime\Config\PersistenceConfig — Coverage: 100.0% | Lines: 9 | Complexity: 3 Stewart\Runtime\Config\ServiceCallPolicy — Coverage: 100.0% | Lines: 9 | Complexity: 5 Stewart\Runtime\Config\AppOverride — Coverage: 100.0% | Lines: 8 | Complexity: 2 Stewart\Runtime\Config\ControlAddress — Coverage: 100.0% | Lines: 8 | Complexity: 3 Stewart\Runtime\Config\TcpControlAddress — Coverage: 100.0% | Lines: 8 | Complexity: 9 Stewart\Runtime\Config\AutoloadRoot — Coverage: 0.0% | Lines: 6 | Complexity: 3 Stewart\Runtime\Config\DomainAttributesConfig — Coverage: 100.0% | Lines: 6 | Complexity: 2 Stewart\Runtime\Config\ExposeConfig — Coverage: 100.0% | Lines: 6 | Complexity: 2 Stewart\Runtime\Config\GitDeployConfig — Coverage: 100.0% | Lines: 6 | Complexity: 2 Stewart\Runtime\Config\ProjectDirectory — Coverage: 83.3% | Lines: 6 | Complexity: 6 Stewart\Runtime\Config\BooleanSpelling — Coverage: 0.0% | Lines: 5 | Complexity: 5 Stewart\Runtime\Config\ClassNamespace — Coverage: 80.0% | Lines: 5 | Complexity: 3 Stewart\Runtime\Config\ControlConfig — Coverage: 100.0% | Lines: 5 | Complexity: 2 Stewart\Runtime\Config\HttpAdminConfig — Coverage: 100.0% | Lines: 5 | Complexity: 2 Stewart\Runtime\Config\HttpConfig — Coverage: 100.0% | Lines: 5 | Complexity: 2 Stewart\Runtime\Config\OptionalDuration — Coverage: 100.0% | Lines: 5 | Complexity: 7 Stewart\Runtime\Config\SecretFileReader — Coverage: 100.0% | Lines: 4 | Complexity: 4 Stewart\Runtime\Config\Collection\AppOverrideCollection — Coverage: 0.0% | Lines: 3 | Complexity: 3 Stewart\Runtime\Config\Collection\DomainAttributesConfigCollection — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Runtime\Config\ProjectRoot — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Runtime\Config\EnvironmentOverrideTarget — Coverage: 0.0% | Lines: 1 | Complexity: 1

Sorted by descending CRAP index.

Class CRAP Coverage
Stewart\Runtime\Config\Psr4Map1100.0%
Stewart\Runtime\Config\ConfigSection55.1982.1%
Stewart\Runtime\Config\EnvironmentOverlay39100.0%
Stewart\Runtime\Config\Environment\EnvironmentValueParser32100.0%
Stewart\Runtime\Config\BooleanSpelling300.0%
Stewart\Runtime\Config\StewartConfigSchema2799.4%
Stewart\Runtime\Config\EnvironmentPlaceholders22100.0%
Stewart\Runtime\Config\EnvironmentVariables14.2953.8%
Stewart\Runtime\Config\AutoloadRoot120.0%
Stewart\Runtime\Config\Collection\AppOverrideCollection120.0%
Stewart\Runtime\Config\ConfigLoader12100.0%
Stewart\Runtime\Config\MqttServerUrl12100.0%
Stewart\Runtime\Config\BackoffPolicy10100.0%
Stewart\Runtime\Config\HttpListenAddress10100.0%
Stewart\Runtime\Config\MqttConfig9100.0%
Stewart\Runtime\Config\TcpControlAddress9100.0%
Stewart\Runtime\Config\UnixControlAddress8.0293.3%
Stewart\Runtime\Config\OptionalDuration7100.0%
Stewart\Runtime\Config\ProjectDirectory6.1783.3%
Stewart\Runtime\Config\Collection\DomainAttributesConfigCollection60.0%
Stewart\Runtime\Config\ProjectRoot60.0%
Stewart\Runtime\Config\ConfigFileReader5.2080.0%
Stewart\Runtime\Config\ServiceCallPolicy5100.0%
Stewart\Runtime\Config\StewartConfig5100.0%
Stewart\Runtime\Config\SecretFileReader4100.0%
Stewart\Runtime\Config\SupervisionConfig4100.0%
Stewart\Runtime\Config\ClassNamespace3.0780.0%
Stewart\Runtime\Config\ControlAddress3100.0%
Stewart\Runtime\Config\PersistenceConfig3100.0%
Stewart\Runtime\Config\AppOverride2100.0%
Stewart\Runtime\Config\CodegenConfig2100.0%
Stewart\Runtime\Config\ControlConfig2100.0%
Stewart\Runtime\Config\DomainAttributesConfig2100.0%
Stewart\Runtime\Config\EnvironmentOverrideTarget20.0%
Stewart\Runtime\Config\ExposeConfig2100.0%
Stewart\Runtime\Config\GitDeployConfig2100.0%
Stewart\Runtime\Config\HttpAdminConfig2100.0%
Stewart\Runtime\Config\HttpConfig2100.0%

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 Stewart\Runtime\Config\StewartConfigSchema::addMqttSection — Coverage: 100.0% | Lines: 38 | Complexity: 1 Stewart\Runtime\Config\StewartConfigSchema::addAppsSection — Coverage: 100.0% | Lines: 37 | Complexity: 4 Stewart\Runtime\Config\StewartConfigSchema::addTopLevelSettings — Coverage: 100.0% | Lines: 34 | Complexity: 1 Stewart\Runtime\Config\EnvironmentOverlay::collectEnvironmentOverrides — Coverage: 100.0% | Lines: 24 | Complexity: 7 Stewart\Runtime\Config\StewartConfigSchema::addHomeAssistantSection — Coverage: 100.0% | Lines: 24 | Complexity: 1 Stewart\Runtime\Config\StewartConfigSchema::addServiceCallsSection — Coverage: 100.0% | Lines: 23 | Complexity: 1 Stewart\Runtime\Config\StewartConfig::fromSection — Coverage: 100.0% | Lines: 22 | Complexity: 2 Stewart\Runtime\Config\StewartConfigSchema::addSupervisionSection — Coverage: 100.0% | Lines: 22 | Complexity: 1 Stewart\Runtime\Config\SupervisionConfig::fromSection — Coverage: 100.0% | Lines: 22 | Complexity: 2 Stewart\Runtime\Config\EnvironmentOverlay::resolveOverrideTarget — Coverage: 100.0% | Lines: 21 | Complexity: 9 Stewart\Runtime\Config\StewartConfigSchema::addHttpSection — Coverage: 100.0% | Lines: 21 | Complexity: 1 Stewart\Runtime\Config\ConfigSection::readDuration — Coverage: 62.5% | Lines: 16 | Complexity: 4 Stewart\Runtime\Config\StewartConfigSchema::getConfigTreeBuilder — Coverage: 100.0% | Lines: 16 | Complexity: 1 Stewart\Runtime\Config\StewartConfigSchema::addDeploySection — Coverage: 100.0% | Lines: 16 | Complexity: 1 Stewart\Runtime\Config\StewartConfigSchema::addExposeSection — Coverage: 100.0% | Lines: 15 | Complexity: 1 Stewart\Runtime\Config\EnvironmentPlaceholders::substitute — Coverage: 100.0% | Lines: 14 | Complexity: 5 Stewart\Runtime\Config\MqttServerUrl::parse — Coverage: 100.0% | Lines: 14 | Complexity: 8 Stewart\Runtime\Config\StewartConfigSchema::addControlSection — Coverage: 100.0% | Lines: 14 | Complexity: 1 Stewart\Runtime\Config\StewartConfigSchema::addCodegenSection — Coverage: 100.0% | Lines: 14 | Complexity: 1 Stewart\Runtime\Config\MqttConfig::fromSection — Coverage: 100.0% | Lines: 13 | Complexity: 5 Stewart\Runtime\Config\StewartConfigSchema::addPersistenceSection — Coverage: 100.0% | Lines: 13 | Complexity: 1 Stewart\Runtime\Config\ConfigSection::readBackoff — Coverage: 100.0% | Lines: 12 | Complexity: 2 Stewart\Runtime\Config\Environment\EnvironmentValueParser::inferValue — Coverage: 100.0% | Lines: 11 | Complexity: 10 Stewart\Runtime\Config\StewartConfig::readConnectionConfig — Coverage: 100.0% | Lines: 11 | Complexity: 1 Stewart\Runtime\Config\StewartConfigSchema::createDomainAttributesNode — Coverage: 100.0% | Lines: 11 | Complexity: 1 Stewart\Runtime\Config\BackoffPolicy::sumDelaysUpTo — Coverage: 100.0% | Lines: 10 | Complexity: 5 Stewart\Runtime\Config\ConfigFileReader::readYamlMap — Coverage: 80.0% | Lines: 10 | Complexity: 5 Stewart\Runtime\Config\ConfigSection::readOptionalDuration — Coverage: 40.0% | Lines: 10 | Complexity: 3 Stewart\Runtime\Config\StewartConfigSchema::createWebsocketUrlNode — Coverage: 100.0% | Lines: 10 | Complexity: 1 Stewart\Runtime\Config\CodegenConfig::fromSection — Coverage: 100.0% | Lines: 9 | Complexity: 1 Stewart\Runtime\Config\EnvironmentOverlay::resolveChildKey — Coverage: 100.0% | Lines: 9 | Complexity: 3 Stewart\Runtime\Config\MqttConfig::readWill — Coverage: 100.0% | Lines: 9 | Complexity: 3 Stewart\Runtime\Config\StewartConfigSchema::requireKeysMatching — Coverage: 100.0% | Lines: 9 | Complexity: 1 Stewart\Runtime\Config\UnixControlAddress::resolveSocketPath — Coverage: 100.0% | Lines: 9 | Complexity: 2 Stewart\Runtime\Config\ConfigLoader::mergeConfigTree — Coverage: 100.0% | Lines: 8 | Complexity: 3 Stewart\Runtime\Config\ControlAddress::parse — Coverage: 100.0% | Lines: 8 | Complexity: 3 Stewart\Runtime\Config\Psr4Map::findAutoloadRootContaining — Coverage: 0.0% | Lines: 8 | Complexity: 8 Stewart\Runtime\Config\AppOverride::fromSection — Coverage: 100.0% | Lines: 7 | Complexity: 1 Stewart\Runtime\Config\ConfigSection::readMap — Coverage: 85.7% | Lines: 7 | Complexity: 3 Stewart\Runtime\Config\EnvironmentOverlay::withValueAtPath — Coverage: 100.0% | Lines: 7 | Complexity: 3 Stewart\Runtime\Config\EnvironmentPlaceholders::substituteInTree — Coverage: 100.0% | Lines: 7 | Complexity: 6 Stewart\Runtime\Config\EnvironmentVariables::filterByPrefix — Coverage: 100.0% | Lines: 7 | Complexity: 3 Stewart\Runtime\Config\PersistenceConfig::fromSection — Coverage: 100.0% | Lines: 7 | Complexity: 1 Stewart\Runtime\Config\StewartConfigSchema::createPatternListNode — Coverage: 100.0% | Lines: 7 | Complexity: 1 Stewart\Runtime\Config\Environment\EnvironmentValueParser::parseForNode — Coverage: 100.0% | Lines: 6 | Complexity: 7 Stewart\Runtime\Config\Environment\EnvironmentValueParser::parseInlineList — Coverage: 100.0% | Lines: 6 | Complexity: 4 Stewart\Runtime\Config\EnvironmentOverlay::findSecretFileKey — Coverage: 100.0% | Lines: 6 | Complexity: 5 Stewart\Runtime\Config\StewartConfigSchema::addReconnectSection — Coverage: 100.0% | Lines: 6 | Complexity: 1 Stewart\Runtime\Config\AutoloadRoot::findClassNameForFile — Coverage: 0.0% | Lines: 5 | Complexity: 2 Stewart\Runtime\Config\ConfigSection::mapSubsections — Coverage: 100.0% | Lines: 5 | Complexity: 3 Stewart\Runtime\Config\DomainAttributesConfig::fromSection — Coverage: 100.0% | Lines: 5 | Complexity: 1 Stewart\Runtime\Config\EnvironmentOverlay::findPrototypedSecretFileKey — Coverage: 100.0% | Lines: 5 | Complexity: 4 Stewart\Runtime\Config\EnvironmentVariables::fromGlobals — Coverage: 0.0% | Lines: 5 | Complexity: 3 Stewart\Runtime\Config\ExposeConfig::fromSection — Coverage: 100.0% | Lines: 5 | Complexity: 1 Stewart\Runtime\Config\GitDeployConfig::fromSection — Coverage: 100.0% | Lines: 5 | Complexity: 1 Stewart\Runtime\Config\HttpListenAddress::__construct — Coverage: 100.0% | Lines: 5 | Complexity: 4 Stewart\Runtime\Config\ServiceCallPolicy::fromSection — Coverage: 100.0% | Lines: 5 | Complexity: 1 Stewart\Runtime\Config\BackoffPolicy::delayFor — Coverage: 100.0% | Lines: 4 | Complexity: 2 Stewart\Runtime\Config\BooleanSpelling::tryParseBoolean — Coverage: 0.0% | Lines: 4 | Complexity: 4 Stewart\Runtime\Config\ClassNamespace::__construct — Coverage: 100.0% | Lines: 4 | Complexity: 2 Stewart\Runtime\Config\ConfigSection::readStringMap — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Runtime\Config\ConfigSection::readParsedValue — Coverage: 100.0% | Lines: 4 | Complexity: 2 Stewart\Runtime\Config\ControlConfig::fromSection — Coverage: 100.0% | Lines: 4 | Complexity: 1 Stewart\Runtime\Config\EnvironmentPlaceholders::findChildNode — Coverage: 100.0% | Lines: 4 | Complexity: 6 Stewart\Runtime\Config\EnvironmentPlaceholders::resolveValue — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Runtime\Config\HttpAdminConfig::fromSection — Coverage: 100.0% | Lines: 4 | Complexity: 1 Stewart\Runtime\Config\HttpConfig::fromSection — Coverage: 100.0% | Lines: 4 | Complexity: 1 Stewart\Runtime\Config\ProjectDirectory::__construct — Coverage: 100.0% | Lines: 4 | Complexity: 4 Stewart\Runtime\Config\SecretFileReader::readSecretFile — Coverage: 100.0% | Lines: 4 | Complexity: 4 Stewart\Runtime\Config\TcpControlAddress::__construct — Coverage: 100.0% | Lines: 4 | Complexity: 4 Stewart\Runtime\Config\ConfigLoader::buildValidatedConfigTree — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Runtime\Config\EnvironmentOverlay::findExistingFileKey — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Runtime\Config\HttpListenAddress::parse — Coverage: 100.0% | Lines: 3 | Complexity: 3 Stewart\Runtime\Config\StewartConfigSchema::createDurationNode — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Runtime\Config\StewartConfigSchema::appendBackoffNodes — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Runtime\Config\StewartConfigSchema::createScalarNode — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Runtime\Config\StewartConfigSchema::createSizeLimitNode — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Runtime\Config\ConfigLoader::findMissingDefaultFile — Coverage: 100.0% | Lines: 2 | Complexity: 3 Stewart\Runtime\Config\ConfigSection::findSection — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Runtime\Config\ConfigSection::readInt — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Runtime\Config\ConfigSection::readBool — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Runtime\Config\ConfigSection::findString — Coverage: 100.0% | Lines: 2 | Complexity: 3 Stewart\Runtime\Config\ConfigSection::findInt — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Runtime\Config\ConfigSection::findSwitchableValue — Coverage: 100.0% | Lines: 2 | Complexity: 4 Stewart\Runtime\Config\Environment\EnvironmentValueParser::parseInteger — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Runtime\Config\Environment\EnvironmentValueParser::parseFloat — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Runtime\Config\Environment\EnvironmentValueParser::isInlineCollection — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Runtime\Config\UnixControlAddress::__construct — Coverage: 50.0% | Lines: 2 | Complexity: 2 Stewart\Runtime\Config\AppOverride::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\AutoloadRoot::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\BackoffPolicy::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\BackoffPolicy::isDelayFinalAt — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Runtime\Config\BooleanSpelling::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ClassNamespace::__toString — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\CodegenConfig::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\Collection\AppOverrideCollection::keyedByAppId — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\Collection\AppOverrideCollection::find — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\Collection\AppOverrideCollection::findMatchingApp — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\Collection\DomainAttributesConfigCollection::keyedByDomain — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\Collection\DomainAttributesConfigCollection::find — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ConfigLoader::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ConfigLoader::loadConfig — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ConfigLoader::locateConfigFile — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ConfigLoader::readConfigFile — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Runtime\Config\ConfigSection::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ConfigSection::forRoot — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ConfigSection::readSection — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ConfigSection::readString — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ConfigSection::readStringList — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ConfigSection::createKeyInvalidFailure — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ConfigSection::createSchemaMismatchFailure — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ConfigSection::buildKeyPath — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Runtime\Config\ControlConfig::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\DomainAttributesConfig::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\Environment\EnvironmentValueParser::supportsNode — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Runtime\Config\Environment\EnvironmentValueParser::isScalarList — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Runtime\Config\Environment\EnvironmentValueParser::createValueInvalidFailure — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\EnvironmentOverlay::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\EnvironmentOverlay::isReadElsewhere — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Runtime\Config\EnvironmentOverlay::findMatchingFileKey — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\EnvironmentOverlay::findFileKeyBy — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\EnvironmentOverlay::normalizeForKeyComparison — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\EnvironmentOverlay::foldForKeyComparison — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\EnvironmentOverrideTarget::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\EnvironmentPlaceholders::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\EnvironmentPlaceholders::resolve — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\EnvironmentVariables::get — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ExposeConfig::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\GitDeployConfig::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\HttpAdminConfig::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\HttpConfig::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\HttpListenAddress::__toString — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\HttpListenAddress::formatAddress — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Runtime\Config\MqttConfig::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\MqttServerUrl::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\MqttServerUrl::revealPassword — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\MqttServerUrl::toSocketUri — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\MqttServerUrl::__toString — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\OptionalDuration::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\OptionalDuration::parse — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Runtime\Config\OptionalDuration::off — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\OptionalDuration::findDuration — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\OptionalDuration::__toString — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Runtime\Config\PersistenceConfig::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\PersistenceConfig::isStoreConfigured — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ProjectDirectory::resolveWithin — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ProjectDirectory::__toString — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ProjectRoot::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ProjectRoot::resolvePath — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\Psr4Map::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\Psr4Map::listDirectoriesFor — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ServiceCallPolicy::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ServiceCallPolicy::limitsPerWorker — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ServiceCallPolicy::boundsTotal — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\ServiceCallPolicy::createDryRunContext — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\StewartConfig::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\StewartConfig::requireHomeAssistant — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\StewartConfigSchema::isOff — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\StewartConfigSchema::buildConfigTree — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\SupervisionConfig::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\SupervisionConfig::killsUnresponsiveWorkers — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\TcpControlAddress::isLoopback — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\TcpControlAddress::toConnectableAddress — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Runtime\Config\TcpControlAddress::resolveSocketAddress — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\TcpControlAddress::__toString — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\UnixControlAddress::isLoopback — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\UnixControlAddress::toConnectableAddress — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\UnixControlAddress::resolveSocketAddress — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Runtime\Config\UnixControlAddress::__toString — Coverage: 100.0% | Lines: 1 | Complexity: 1

Sorted by descending CRAP index.

Method CRAP Coverage
Stewart\Runtime\Config\Psr4Map::findAutoloadRootContaining720.0%
Stewart\Runtime\Config\BooleanSpelling::tryParseBoolean200.0%
Stewart\Runtime\Config\EnvironmentVariables::fromGlobals120.0%
Stewart\Runtime\Config\Environment\EnvironmentValueParser::inferValue10100.0%
Stewart\Runtime\Config\EnvironmentOverlay::resolveOverrideTarget9100.0%
Stewart\Runtime\Config\MqttServerUrl::parse8100.0%
Stewart\Runtime\Config\Environment\EnvironmentValueParser::parseForNode7100.0%
Stewart\Runtime\Config\EnvironmentOverlay::collectEnvironmentOverrides7100.0%
Stewart\Runtime\Config\AutoloadRoot::findClassNameForFile60.0%
Stewart\Runtime\Config\EnvironmentPlaceholders::substituteInTree6100.0%
Stewart\Runtime\Config\EnvironmentPlaceholders::findChildNode6100.0%
Stewart\Runtime\Config\ConfigFileReader::readYamlMap5.2080.0%
Stewart\Runtime\Config\BackoffPolicy::sumDelaysUpTo5100.0%
Stewart\Runtime\Config\EnvironmentOverlay::findSecretFileKey5100.0%
Stewart\Runtime\Config\EnvironmentPlaceholders::substitute5100.0%
Stewart\Runtime\Config\MqttConfig::fromSection5100.0%
Stewart\Runtime\Config\ConfigSection::readOptionalDuration4.9440.0%
Stewart\Runtime\Config\ConfigSection::readDuration4.8462.5%
Stewart\Runtime\Config\ConfigSection::findSwitchableValue4100.0%
Stewart\Runtime\Config\Environment\EnvironmentValueParser::parseInlineList4100.0%
Stewart\Runtime\Config\EnvironmentOverlay::findPrototypedSecretFileKey4100.0%
Stewart\Runtime\Config\HttpListenAddress::__construct4100.0%
Stewart\Runtime\Config\ProjectDirectory::__construct4100.0%
Stewart\Runtime\Config\SecretFileReader::readSecretFile4100.0%
Stewart\Runtime\Config\StewartConfigSchema::addAppsSection4100.0%
Stewart\Runtime\Config\TcpControlAddress::__construct4100.0%
Stewart\Runtime\Config\ConfigSection::readMap3.0385.7%
Stewart\Runtime\Config\ConfigLoader::mergeConfigTree3100.0%
Stewart\Runtime\Config\ConfigLoader::findMissingDefaultFile3100.0%
Stewart\Runtime\Config\ConfigSection::mapSubsections3100.0%
Stewart\Runtime\Config\ConfigSection::findString3100.0%
Stewart\Runtime\Config\ConfigSection::readStringMap3100.0%
Stewart\Runtime\Config\ControlAddress::parse3100.0%
Stewart\Runtime\Config\EnvironmentOverlay::withValueAtPath3100.0%
Stewart\Runtime\Config\EnvironmentOverlay::resolveChildKey3100.0%
Stewart\Runtime\Config\EnvironmentPlaceholders::resolveValue3100.0%
Stewart\Runtime\Config\EnvironmentVariables::filterByPrefix3100.0%
Stewart\Runtime\Config\HttpListenAddress::parse3100.0%
Stewart\Runtime\Config\MqttConfig::readWill3100.0%
Stewart\Runtime\Config\UnixControlAddress::__construct2.5050.0%
Stewart\Runtime\Config\AutoloadRoot::__construct20.0%
Stewart\Runtime\Config\BackoffPolicy::delayFor2100.0%
Stewart\Runtime\Config\BackoffPolicy::isDelayFinalAt2100.0%
Stewart\Runtime\Config\BooleanSpelling::__construct20.0%
Stewart\Runtime\Config\ClassNamespace::__construct2100.0%
Stewart\Runtime\Config\ClassNamespace::__toString20.0%
Stewart\Runtime\Config\Collection\AppOverrideCollection::keyedByAppId20.0%
Stewart\Runtime\Config\Collection\AppOverrideCollection::find20.0%
Stewart\Runtime\Config\Collection\AppOverrideCollection::findMatchingApp20.0%
Stewart\Runtime\Config\Collection\DomainAttributesConfigCollection::keyedByDomain20.0%
Stewart\Runtime\Config\Collection\DomainAttributesConfigCollection::find20.0%
Stewart\Runtime\Config\ConfigLoader::readConfigFile2100.0%
Stewart\Runtime\Config\ConfigSection::findSection2100.0%
Stewart\Runtime\Config\ConfigSection::readInt2100.0%
Stewart\Runtime\Config\ConfigSection::readBool2100.0%
Stewart\Runtime\Config\ConfigSection::findInt2100.0%
Stewart\Runtime\Config\ConfigSection::readBackoff2100.0%
Stewart\Runtime\Config\ConfigSection::readParsedValue2100.0%
Stewart\Runtime\Config\ConfigSection::createKeyInvalidFailure20.0%
Stewart\Runtime\Config\ConfigSection::buildKeyPath2100.0%
Stewart\Runtime\Config\Environment\EnvironmentValueParser::supportsNode2100.0%
Stewart\Runtime\Config\Environment\EnvironmentValueParser::parseInteger2100.0%
Stewart\Runtime\Config\Environment\EnvironmentValueParser::parseFloat2100.0%
Stewart\Runtime\Config\Environment\EnvironmentValueParser::isScalarList2100.0%
Stewart\Runtime\Config\Environment\EnvironmentValueParser::isInlineCollection2100.0%
Stewart\Runtime\Config\EnvironmentOverlay::isReadElsewhere2100.0%
Stewart\Runtime\Config\EnvironmentOverrideTarget::__construct20.0%
Stewart\Runtime\Config\EnvironmentVariables::get20.0%
Stewart\Runtime\Config\HttpListenAddress::formatAddress2100.0%
Stewart\Runtime\Config\OptionalDuration::parse2100.0%
Stewart\Runtime\Config\OptionalDuration::__toString2100.0%
Stewart\Runtime\Config\ProjectDirectory::__toString20.0%
Stewart\Runtime\Config\ProjectRoot::__construct20.0%
Stewart\Runtime\Config\ProjectRoot::resolvePath20.0%
Stewart\Runtime\Config\Psr4Map::__construct20.0%
Stewart\Runtime\Config\Psr4Map::listDirectoriesFor20.0%
Stewart\Runtime\Config\StewartConfig::fromSection2100.0%
Stewart\Runtime\Config\StewartConfigSchema::isOff20.0%
Stewart\Runtime\Config\StewartConfigSchema::buildConfigTree20.0%
Stewart\Runtime\Config\SupervisionConfig::fromSection2100.0%
Stewart\Runtime\Config\TcpControlAddress::toConnectableAddress2100.0%
Stewart\Runtime\Config\UnixControlAddress::resolveSocketPath2100.0%
Stewart\Runtime\Config\AppOverride::__construct1100.0%
Stewart\Runtime\Config\AppOverride::fromSection1100.0%
Stewart\Runtime\Config\BackoffPolicy::__construct1100.0%
Stewart\Runtime\Config\CodegenConfig::__construct1100.0%
Stewart\Runtime\Config\CodegenConfig::fromSection1100.0%
Stewart\Runtime\Config\ConfigLoader::__construct1100.0%
Stewart\Runtime\Config\ConfigLoader::loadConfig1100.0%
Stewart\Runtime\Config\ConfigLoader::buildValidatedConfigTree1100.0%
Stewart\Runtime\Config\ConfigLoader::locateConfigFile1100.0%
Stewart\Runtime\Config\ConfigSection::__construct1100.0%
Stewart\Runtime\Config\ConfigSection::forRoot1100.0%
Stewart\Runtime\Config\ConfigSection::readSection1100.0%
Stewart\Runtime\Config\ConfigSection::readString1100.0%
Stewart\Runtime\Config\ConfigSection::readStringList1100.0%
Stewart\Runtime\Config\ConfigSection::createSchemaMismatchFailure1100.0%
Stewart\Runtime\Config\ControlConfig::__construct1100.0%
Stewart\Runtime\Config\ControlConfig::fromSection1100.0%
Stewart\Runtime\Config\DomainAttributesConfig::__construct1100.0%
Stewart\Runtime\Config\DomainAttributesConfig::fromSection1100.0%
Stewart\Runtime\Config\Environment\EnvironmentValueParser::createValueInvalidFailure1100.0%
Stewart\Runtime\Config\EnvironmentOverlay::__construct1100.0%
Stewart\Runtime\Config\EnvironmentOverlay::findMatchingFileKey1100.0%
Stewart\Runtime\Config\EnvironmentOverlay::findExistingFileKey1100.0%
Stewart\Runtime\Config\EnvironmentOverlay::findFileKeyBy1100.0%
Stewart\Runtime\Config\EnvironmentOverlay::normalizeForKeyComparison1100.0%
Stewart\Runtime\Config\EnvironmentOverlay::foldForKeyComparison1100.0%
Stewart\Runtime\Config\EnvironmentPlaceholders::__construct1100.0%
Stewart\Runtime\Config\EnvironmentPlaceholders::resolve1100.0%
Stewart\Runtime\Config\EnvironmentVariables::__construct1100.0%
Stewart\Runtime\Config\ExposeConfig::__construct1100.0%
Stewart\Runtime\Config\ExposeConfig::fromSection1100.0%
Stewart\Runtime\Config\GitDeployConfig::__construct1100.0%
Stewart\Runtime\Config\GitDeployConfig::fromSection1100.0%
Stewart\Runtime\Config\HttpAdminConfig::__construct1100.0%
Stewart\Runtime\Config\HttpAdminConfig::fromSection1100.0%
Stewart\Runtime\Config\HttpConfig::__construct1100.0%
Stewart\Runtime\Config\HttpConfig::fromSection1100.0%
Stewart\Runtime\Config\HttpListenAddress::__toString1100.0%
Stewart\Runtime\Config\MqttConfig::__construct1100.0%
Stewart\Runtime\Config\MqttServerUrl::__construct1100.0%
Stewart\Runtime\Config\MqttServerUrl::revealPassword1100.0%
Stewart\Runtime\Config\MqttServerUrl::toSocketUri1100.0%
Stewart\Runtime\Config\MqttServerUrl::__toString1100.0%
Stewart\Runtime\Config\OptionalDuration::__construct1100.0%
Stewart\Runtime\Config\OptionalDuration::off1100.0%
Stewart\Runtime\Config\OptionalDuration::findDuration1100.0%
Stewart\Runtime\Config\PersistenceConfig::__construct1100.0%
Stewart\Runtime\Config\PersistenceConfig::fromSection1100.0%
Stewart\Runtime\Config\PersistenceConfig::isStoreConfigured1100.0%
Stewart\Runtime\Config\ProjectDirectory::resolveWithin1100.0%
Stewart\Runtime\Config\ServiceCallPolicy::__construct1100.0%
Stewart\Runtime\Config\ServiceCallPolicy::fromSection1100.0%
Stewart\Runtime\Config\ServiceCallPolicy::limitsPerWorker1100.0%
Stewart\Runtime\Config\ServiceCallPolicy::boundsTotal1100.0%
Stewart\Runtime\Config\ServiceCallPolicy::createDryRunContext1100.0%
Stewart\Runtime\Config\StewartConfig::__construct1100.0%
Stewart\Runtime\Config\StewartConfig::requireHomeAssistant1100.0%
Stewart\Runtime\Config\StewartConfig::readConnectionConfig1100.0%
Stewart\Runtime\Config\StewartConfigSchema::getConfigTreeBuilder1100.0%
Stewart\Runtime\Config\StewartConfigSchema::addTopLevelSettings1100.0%
Stewart\Runtime\Config\StewartConfigSchema::requireKeysMatching1100.0%
Stewart\Runtime\Config\StewartConfigSchema::createDurationNode1100.0%
Stewart\Runtime\Config\StewartConfigSchema::appendBackoffNodes1100.0%
Stewart\Runtime\Config\StewartConfigSchema::createScalarNode1100.0%
Stewart\Runtime\Config\StewartConfigSchema::addHomeAssistantSection1100.0%
Stewart\Runtime\Config\StewartConfigSchema::addReconnectSection1100.0%
Stewart\Runtime\Config\StewartConfigSchema::addSupervisionSection1100.0%
Stewart\Runtime\Config\StewartConfigSchema::addPersistenceSection1100.0%
Stewart\Runtime\Config\StewartConfigSchema::addMqttSection1100.0%
Stewart\Runtime\Config\StewartConfigSchema::addControlSection1100.0%
Stewart\Runtime\Config\StewartConfigSchema::addHttpSection1100.0%
Stewart\Runtime\Config\StewartConfigSchema::addCodegenSection1100.0%
Stewart\Runtime\Config\StewartConfigSchema::addDeploySection1100.0%
Stewart\Runtime\Config\StewartConfigSchema::addExposeSection1100.0%
Stewart\Runtime\Config\StewartConfigSchema::createWebsocketUrlNode1100.0%
Stewart\Runtime\Config\StewartConfigSchema::createSizeLimitNode1100.0%
Stewart\Runtime\Config\StewartConfigSchema::createPatternListNode1100.0%
Stewart\Runtime\Config\StewartConfigSchema::createDomainAttributesNode1100.0%
Stewart\Runtime\Config\StewartConfigSchema::addServiceCallsSection1100.0%
Stewart\Runtime\Config\SupervisionConfig::__construct1100.0%
Stewart\Runtime\Config\SupervisionConfig::killsUnresponsiveWorkers1100.0%
Stewart\Runtime\Config\TcpControlAddress::isLoopback1100.0%
Stewart\Runtime\Config\TcpControlAddress::resolveSocketAddress1100.0%
Stewart\Runtime\Config\TcpControlAddress::__toString1100.0%
Stewart\Runtime\Config\UnixControlAddress::isLoopback1100.0%
Stewart\Runtime\Config\UnixControlAddress::toConnectableAddress1100.0%
Stewart\Runtime\Config\UnixControlAddress::resolveSocketAddress1100.0%
Stewart\Runtime\Config\UnixControlAddress::__toString1100.0%
Stewart\Runtime\Config\ControlAddress::isLoopback0100.0%
Stewart\Runtime\Config\ControlAddress::toConnectableAddress0100.0%
Stewart\Runtime\Config\ControlAddress::resolveSocketAddress0100.0%