| @@ 14-51 (lines=38) @@ | ||
| 11 | /** | |
| 12 | * @author Kevin Bond <[email protected]> | |
| 13 | */ | |
| 14 | class FlysystemDestinationFactory implements Factory | |
| 15 | { | |
| 16 | /** | |
| 17 |      * {@inheritdoc} | |
| 18 | */ | |
| 19 | public function getName() | |
| 20 |     { | |
| 21 | return 'flysystem'; | |
| 22 | } | |
| 23 | ||
| 24 | /** | |
| 25 |      * {@inheritdoc} | |
| 26 | */ | |
| 27 | public function create(ContainerBuilder $container, $id, array $config) | |
| 28 |     { | |
| 29 |         $serviceId = sprintf('zenstruck_backup.destination.%s', $id); | |
| 30 | ||
| 31 |         $container->setDefinition($serviceId, new DefinitionDecorator('zenstruck_backup.destination.abstract_flysystem')) | |
| 32 | ->replaceArgument(0, $id) | |
| 33 | ->replaceArgument(1, new Reference($config['filesystem_service'])) | |
| 34 |             ->addTag('zenstruck_backup.destination') | |
| 35 | ; | |
| 36 | ||
| 37 | return new Reference($serviceId); | |
| 38 | } | |
| 39 | ||
| 40 | /** | |
| 41 |      * {@inheritdoc} | |
| 42 | */ | |
| 43 | public function addConfiguration(ArrayNodeDefinition $builder) | |
| 44 |     { | |
| 45 | $builder | |
| 46 | ->children() | |
| 47 |                 ->scalarNode('filesystem_service')->isRequired()->end() | |
| 48 | ->end() | |
| 49 | ; | |
| 50 | } | |
| 51 | } | |
| 52 | ||
| @@ 14-51 (lines=38) @@ | ||
| 11 | /** | |
| 12 | * @author Kevin Bond <[email protected]> | |
| 13 | */ | |
| 14 | class StreamDestinationFactory implements Factory | |
| 15 | { | |
| 16 | /** | |
| 17 |      * {@inheritdoc} | |
| 18 | */ | |
| 19 | public function getName() | |
| 20 |     { | |
| 21 | return 'stream'; | |
| 22 | } | |
| 23 | ||
| 24 | /** | |
| 25 |      * {@inheritdoc} | |
| 26 | */ | |
| 27 | public function create(ContainerBuilder $container, $id, array $config) | |
| 28 |     { | |
| 29 |         $serviceId = sprintf('zenstruck_backup.destination.%s', $id); | |
| 30 | ||
| 31 |         $container->setDefinition($serviceId, new DefinitionDecorator('zenstruck_backup.destination.abstract_stream')) | |
| 32 | ->replaceArgument(0, $id) | |
| 33 | ->replaceArgument(1, $config['directory']) | |
| 34 |             ->addTag('zenstruck_backup.destination') | |
| 35 | ; | |
| 36 | ||
| 37 | return new Reference($serviceId); | |
| 38 | } | |
| 39 | ||
| 40 | /** | |
| 41 |      * {@inheritdoc} | |
| 42 | */ | |
| 43 | public function addConfiguration(ArrayNodeDefinition $builder) | |
| 44 |     { | |
| 45 | $builder | |
| 46 | ->children() | |
| 47 |                 ->scalarNode('directory')->isRequired()->end() | |
| 48 | ->end() | |
| 49 | ; | |
| 50 | } | |
| 51 | } | |
| 52 | ||
| @@ 15-51 (lines=37) @@ | ||
| 12 | /** | |
| 13 | * @author Kevin Bond <[email protected]> | |
| 14 | */ | |
| 15 | class SimpleNamerFactory implements Factory | |
| 16 | { | |
| 17 | /** | |
| 18 |      * {@inheritdoc} | |
| 19 | */ | |
| 20 | public function getName() | |
| 21 |     { | |
| 22 | return 'simple'; | |
| 23 | } | |
| 24 | ||
| 25 | /** | |
| 26 |      * {@inheritdoc} | |
| 27 | */ | |
| 28 | public function create(ContainerBuilder $container, $id, array $config) | |
| 29 |     { | |
| 30 |         $serviceId = sprintf('zenstruck_backup.namer.%s', $id); | |
| 31 | ||
| 32 |         $container->setDefinition($serviceId, new DefinitionDecorator('zenstruck_backup.namer.abstract_simple')) | |
| 33 | ->replaceArgument(0, $config['name']) | |
| 34 |             ->addTag('zenstruck_backup.namer') | |
| 35 | ; | |
| 36 | ||
| 37 | return new Reference($serviceId); | |
| 38 | } | |
| 39 | ||
| 40 | /** | |
| 41 |      * {@inheritdoc} | |
| 42 | */ | |
| 43 | public function addConfiguration(ArrayNodeDefinition $builder) | |
| 44 |     { | |
| 45 | $builder | |
| 46 | ->children() | |
| 47 |                 ->scalarNode('name')->defaultValue(SimpleNamer::DEFAULT_NAME)->end() | |
| 48 | ->end() | |
| 49 | ; | |
| 50 | } | |
| 51 | } | |
| 52 | ||