Sonata\DeliveryBundle\DependencyInjection\Configuration::addDeliverySection PHP Method

addDeliverySection() private method

private addDeliverySection ( ArrayNodeDefinition $node )
$node Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition
    private function addDeliverySection(ArrayNodeDefinition $node)
    {
        $node->validate()->ifTrue(function ($v) {
            foreach ($v['methods'] as $methodCode => $service) {
                if (null === $service || '' === $service) {
                    foreach ($v['services'] as $serviceConf) {
                        if ($methodCode === $serviceConf['code']) {
                            break 2;
                        }
                    }
                    return true;
                }
            }
            return false;
        })->thenInvalid('Custom delivery methods require a service id. Provided delivery methods need to be configured with their method code as key.')->end()->children()->arrayNode('services')->children()->arrayNode('free_address_required')->children()->scalarNode('name')->defaultValue('free_address_required')->cannotBeEmpty()->end()->scalarNode('code')->defaultValue('free_address_required')->cannotBeEmpty()->end()->scalarNode('priority')->defaultValue(10)->cannotBeEmpty()->end()->end()->end()->arrayNode('free_address_not_required')->children()->scalarNode('name')->defaultValue('free_address_not_required')->cannotBeEmpty()->end()->scalarNode('code')->defaultValue('free_address_not_required')->cannotBeEmpty()->end()->scalarNode('priority')->defaultValue(10)->cannotBeEmpty()->end()->end()->end()->end()->end()->arrayNode('methods')->useAttributeAsKey('code')->prototype('scalar')->end()->end()->end();
    }