Merge pull request #9302 from systopia/CRM-19639-2
[civicrm-core.git] / Civi / Test / CiviEnvBuilder / CallbackStep.php
CommitLineData
728bbd5b
TO
1<?php
2namespace Civi\Test\CiviEnvBuilder;
3class CallbackStep implements StepInterface {
4 private $callback;
5 private $sig;
6
7 /**
8 * CallbackStep constructor.
9 * @param $callback
10 * @param $sig
11 */
12 public function __construct($callback, $sig = NULL) {
13 $this->callback = $callback;
14 $this->sig = $sig === NULL ? md5(var_export($callback, 1)) : $sig;
15 }
16
17 public function getSig() {
18 return $this->sig;
19 }
20
21 public function isValid() {
22 return is_callable($this->callback);
23 }
24
25 public function run($ctx) {
26 call_user_func($this->callback, $ctx);
27 }
28
29}