X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fmigrate%2Fsrc%2FPlugin%2Fmigrate%2Fprocess%2FCallback.php;h=0d955c7f99dfaa9ce1334a88f6d998d463d3ec31;hb=1c1cb0980bfa6caf0c24cce671b6bb541dc87583;hp=8721899f46367e90939bbfde70a73c74d21972b9;hpb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;p=yaffs-website diff --git a/web/core/modules/migrate/src/Plugin/migrate/process/Callback.php b/web/core/modules/migrate/src/Plugin/migrate/process/Callback.php index 8721899f4..0d955c7f9 100644 --- a/web/core/modules/migrate/src/Plugin/migrate/process/Callback.php +++ b/web/core/modules/migrate/src/Plugin/migrate/process/Callback.php @@ -49,11 +49,21 @@ class Callback extends ProcessPluginBase { /** * {@inheritdoc} */ - public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) { - if (is_callable($this->configuration['callable'])) { - $value = call_user_func($this->configuration['callable'], $value); + public function __construct(array $configuration, $plugin_id, $plugin_definition) { + if (!isset($configuration['callable'])) { + throw new \InvalidArgumentException('The "callable" must be set.'); + } + elseif (!is_callable($configuration['callable'])) { + throw new \InvalidArgumentException('The "callable" must be a valid function or method.'); } - return $value; + parent::__construct($configuration, $plugin_id, $plugin_definition); + } + + /** + * {@inheritdoc} + */ + public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) { + return call_user_func($this->configuration['callable'], $value); } }