TaskInfo.php 768 Bytes
Newer Older
Ketan's avatar
Ketan committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
<?php
namespace Robo;

class TaskInfo
{
    /**
     * Return a context useful for logging messages.
     *
     * @param object $task
     *
     * @return array
     */
    public static function getTaskContext($task)
    {
        return [
            'name' => TaskInfo::formatTaskName($task),
            'task' => $task,
        ];
    }

    /**
     * @param object $task
     *
     * @return string
     */
    public static function formatTaskName($task)
    {
        $name = get_class($task);
        $name = preg_replace('~Stack^~', '', $name);
        $name = str_replace('Robo\\Task\Base\\', '', $name);
        $name = str_replace('Robo\\Task\\', '', $name);
        $name = str_replace('Robo\\Collection\\', '', $name);
        return $name;
    }
}