X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Fsrc%2FPlugin%2FDMU%2FRewriter%2FGenericDeriver.php;fp=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Fsrc%2FPlugin%2FDMU%2FRewriter%2FGenericDeriver.php;h=9ca0960c7504bac842064b884d9189f4c4527cc7;hp=0000000000000000000000000000000000000000;hb=8acec36f19c470dfcda1ae2336826a782f41874c;hpb=e0411c4e83ba0d079034db83c3f7f55be24a0e35 diff --git a/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Rewriter/GenericDeriver.php b/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Rewriter/GenericDeriver.php new file mode 100644 index 000000000..9ca0960c7 --- /dev/null +++ b/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Rewriter/GenericDeriver.php @@ -0,0 +1,56 @@ +config = $config; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, $base_plugin_id) { + return new static( + $container->get('config.factory')->get('drupalmoduleupgrader.rewriters')->get('definitions') + ); + } + + /** + * {@inheritdoc} + */ + public function getDerivativeDefinition($derivative_id, $base_definition) { + $derivatives = $this->getDerivativeDefinitions($base_definition); + + if (isset($derivatives[$derivative_id])) { + return $derivatives[$derivative_id]; + } + } + + /** + * {@inheritdoc} + */ + public function getDerivativeDefinitions($base_definition) { + $derivatives = []; + + foreach ($this->config as $data_type => $definition) { + $derivatives[$data_type] = $definition + $base_definition; + } + + return $derivatives; + } + +}