Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
<?php

namespace DigitalAscetic\GoogleApiClientBundle\DependencyInjection;

use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;

class Configuration implements ConfigurationInterface {

  public function getConfigTreeBuilder() {

    $treeBuilder = new TreeBuilder('digital_ascetic_google_api_client');

    /**
     * Configuration name must match bundle name GoogleApiClient[Bundle]
     * @var ArrayNodeDefinition $rootNode
     */
    $rootNode = $treeBuilder->getRootNode();

    $rootNode
      ->children()
        ->booleanNode('enabled')->defaultFalse()->end()
        ->arrayNode('calendar')
            ->canBeEnabled()
            ->children()
                ->scalarNode('clean_disconnect')->defaultTrue()->end()
                ->scalarNode('watch')->defaultFalse()->end()
                ->scalarNode('event_service')->end()
            ->end()
        ->end()
        ->arrayNode('gmail')
            ->canBeEnabled()
        ->end()
        ->arrayNode('auth')
            ->children()
                ->scalarNode('protocol')->cannotBeEmpty()->defaultValue('https')->end()
                ->arrayNode('user')
                    ->children()
                        ->scalarNode('user_class')->isRequired()->cannotBeEmpty()->end()
                        ->scalarNode('property_id')->isRequired()->cannotBeEmpty()->end()
                    ->end()
                ->end()
                ->scalarNode('client_secret_file_path')->isRequired()->cannotBeEmpty()->end()
                ->scalarNode('application_name')->isRequired()->cannotBeEmpty()->end()
                ->scalarNode('oauth_redirect_uri')->end()
                ->arrayNode('scopes')->prototype('scalar')->end()
            ->end()
        ->end()
      ->end();

    return $treeBuilder;

  }

}