@@ 31-43 (lines=13) @@ | ||
28 | $definition = $container->findDefinition('mrtn_json_api.object_mapper.link_repository_provider'); |
|
29 | $repositories = $container->findTaggedServiceIds('mrtn_json_api.object_mapper.link_repository'); |
|
30 | ||
31 | foreach ($repositories as $id => $tags) { |
|
32 | foreach ($tags as $tag) |
|
33 | { |
|
34 | if (! isset($tag['alias'])) { |
|
35 | throw new \LogicException('Alias must be defined for a "link-repository" tag'); |
|
36 | } |
|
37 | ||
38 | $definition->addMethodCall('registerRepository', [ |
|
39 | trim($tag['alias']), |
|
40 | new Reference($id) |
|
41 | ]); |
|
42 | } |
|
43 | } |
|
44 | } |
|
45 | ||
46 | protected function processDataTypeHandlers(ContainerBuilder $container) |
@@ 68-77 (lines=10) @@ | ||
65 | $mapper = new DefinitionDecorator('mrtn_json_api.object_mapper.abstract'); |
|
66 | $mapper->addTag('mrtn_json_api.object_mapper', ['alias' => $name]); |
|
67 | ||
68 | foreach ($mapperDefinition['handlers'] as $handlerName) |
|
69 | { |
|
70 | if (! isset($handlers[$handlerName])) { |
|
71 | throw new \LogicException(sprintf('Mapping handler with name "%s" has not been registered as a service.', $handlerName)); |
|
72 | } |
|
73 | ||
74 | $mapper->addMethodCall('addHandler', [ |
|
75 | new Reference($handlers[$handlerName]) |
|
76 | ]); |
|
77 | } |
|
78 | ||
79 | $container->setDefinition('mrtn_json_api.object_mapper.' . $name, $mapper); |
|
80 | } |