1 | <?php |
||
10 | class Runner |
||
11 | { |
||
12 | private $app; |
||
13 | private $mapping; |
||
14 | |||
15 | 2 | public function __construct(Application $app) |
|
19 | |||
20 | 2 | public function getMapping() : array |
|
21 | { |
||
22 | 2 | if (!$this->mapping) { |
|
23 | 2 | $jobs = []; |
|
24 | 2 | foreach ($this->app->get(Framework::class)->listClasses('Job') as $class) { |
|
25 | 2 | $jobs[substr($class, strlen('Basis\\Job\\'))] = $class; |
|
26 | } |
||
27 | 2 | $serviceName = ucfirst($this->app->get(Config::class)['service']); |
|
28 | foreach ($this->app->get(Filesystem::class)->listClasses('Job') as $class) { |
||
29 | $jobs[$serviceName.'\\'.substr($class, strlen('Job\\'))] = $class; |
||
30 | $jobs[substr($class, strlen('Job\\'))] = $class; |
||
31 | } |
||
32 | |||
33 | |||
34 | foreach ($jobs as $part => $class) { |
||
35 | $nick = str_replace('\\', '.', $part); |
||
36 | $jobs[$nick] = $class; |
||
37 | $jobs[strtolower($nick)] = $class; |
||
38 | } |
||
39 | |||
40 | $this->mapping = $jobs; |
||
41 | } |
||
42 | |||
43 | return $this->mapping; |
||
44 | } |
||
45 | |||
46 | 2 | public function hasJob(string $nick) : bool |
|
50 | |||
51 | public function getJobClass(string $nick) : string |
||
65 | |||
66 | public function dispatch(string $nick, array $arguments = []) |
||
81 | |||
82 | private function castArguments(string $class, array $arguments) : array |
||
95 | } |
||
96 |