@@ 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) |
@@ 75-84 (lines=10) @@ | ||
72 | $mapper = new DefinitionDecorator('mrtn_json_api.object_mapper.abstract'); |
|
73 | $mapper->addTag('mrtn_json_api.object_mapper', ['alias' => $name]); |
|
74 | ||
75 | foreach ($mapperDefinition['handlers'] as $handlerName) |
|
76 | { |
|
77 | if (! isset($handlers[$handlerName])) { |
|
78 | throw new \LogicException(sprintf('Mapping handler with name "%s" has not been registered as a service.', $handlerName)); |
|
79 | } |
|
80 | ||
81 | $mapper->addMethodCall('addHandler', [ |
|
82 | new Reference($handlers[$handlerName]) |
|
83 | ]); |
|
84 | } |
|
85 | ||
86 | $container->setDefinition('mrtn_json_api.object_mapper.' . $name, $mapper); |
|
87 | } |