@@ 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) |
@@ 127-136 (lines=10) @@ | ||
124 | $mapper = new DefinitionDecorator('mrtn_json_api.object_mapper.abstract'); |
|
125 | $mapper->addTag('mrtn_json_api.object_mapper', ['alias' => $name]); |
|
126 | ||
127 | foreach ($mapperDefinition['handlers'] as $handlerName) |
|
128 | { |
|
129 | if (! isset($handlers[$handlerName])) { |
|
130 | throw new \LogicException(sprintf('Mapping handler with name "%s" has not been registered as a service.', $handlerName)); |
|
131 | } |
|
132 | ||
133 | $mapper->addMethodCall('addHandler', [ |
|
134 | new Reference($handlers[$handlerName]) |
|
135 | ]); |
|
136 | } |
|
137 | ||
138 | $container->setDefinition('mrtn_json_api.object_mapper.' . $name, $mapper); |
|
139 | } |