/** * @param DomainEvent $event * @return void */ protected function when(DomainEvent $event) { $method = 'when' . ClassFunctions::short($event); if (is_callable([$this, $method])) { $this->{$method}($event); } }
/** * Construct. */ public function __construct() { $this->translator = $this->getServiceContainer()->getTranslator(); if (!$this->defaultDomain) { $this->defaultDomain = 'tl_workflow_' . strtolower(ClassFunctions::short($this)); } }
public function handle(Command $command) { $short = ClassFunctions::short($command); $method = 'handle' . $short; if (!is_callable([$this, $method])) { $message = <<<MSG The CommandHandler needs the following code to operate: protected function {$method}({$short} \$command) { } MSG; throw CommandCouldNotBeHandled::forCommand($command, $this, $message); } $this->{$method}($command); }
/** * @test */ public function constants() { $this->assertEquals(['MY_CONST1' => 'a', 'MY_CONST2' => 'b'], ClassFunctions::constants('Verraes\\ClassFunctions\\Tests\\MyClass')); }
/** * @return string */ public function getName() { return ClassFunctions::short($this); }
/** * Create default log namespace. * * @return string */ protected function createDefaultLogNamespace() { $className = ClassFunctions::underscore(ClassFunctions::short($this)); return preg_replace('/_action$/', '', $className, 1); }
public static function forCommand(Command $command, CommandHandler $commandHandler, $message = "") { return new CommandCouldNotBeHandled(sprintf("The command %s could not be handled by %s\n%s", ClassFunctions::fqcn($command), ClassFunctions::fqcn($commandHandler), $message)); }
/** * Make a contract from an fully qualified class name, of the form My.Namespace.Class * @param object|string $object * @return Contract */ public static function canonicalFrom($object) { return Contract::with(ClassFunctions::canonical($object)); }
protected function when(DomainEvent $event) { $method = 'when' . ClassFunctions::short($event); $this->{$method}($event); }
/** * @param DomainEvent[] $streamEvents * @return array */ private function convertToClientProcessEvents(array $streamEvents) { $clientEvents = []; foreach ($streamEvents as $streamEvent) { $clientEvent = ['name' => ClassFunctions::short($streamEvent->messageName()), 'process_id' => $streamEvent->metadata()['aggregate_id'], 'payload' => $streamEvent->payload(), 'occurred_on' => $streamEvent->createdAt()->format(\DateTime::ISO8601)]; $taskListPosition = null; if (isset($clientEvent['payload']['taskListPosition'])) { $taskListPosition = TaskListPosition::fromString($clientEvent['payload']['taskListPosition']); } $clientEvent['task_list_id'] = $taskListPosition ? $taskListPosition->taskListId()->toString() : null; $clientEvent['task_id'] = $taskListPosition ? $taskListPosition->position() - 1 : null; $clientEvents[] = $clientEvent; } return $clientEvents; }