Skip to content

Commit f420e57

Browse files
author
Xavier Barbosa
committed
Added general information, messages and timeline renderer.
1 parent d65a552 commit f420e57

File tree

3 files changed

+92
-0
lines changed

3 files changed

+92
-0
lines changed

src/Renderers/General.php

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
namespace Madewithlove\LaravelDebugConsole\Renderers;
4+
5+
use Symfony\Component\Console\Helper\Table;
6+
7+
class General extends AbstractRenderer
8+
{
9+
/**
10+
* @param array $data
11+
*/
12+
public function render(array $data)
13+
{
14+
$this->output->title('General');
15+
16+
$table = new Table($this->output);
17+
$table->setHeaders([
18+
'Request Time',
19+
'Route',
20+
'Memory Usage',
21+
'Request Duration',
22+
'PHP Version',
23+
])
24+
->setRows([
25+
[
26+
array_get($data, '__meta.datetime'),
27+
array_get($data, '__meta.method') . ' ' . array_get($data, '__meta.uri'),
28+
array_get($data, 'memory.peak_usage_str'),
29+
array_get($data, 'time.duration_str'),
30+
array_get($data, 'php.version')
31+
],
32+
])
33+
->render();
34+
}
35+
}

src/Renderers/Messages.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
namespace Madewithlove\LaravelDebugConsole\Renderers;
4+
5+
class Messages extends AbstractRenderer
6+
{
7+
/**
8+
* @param array $data
9+
*/
10+
public function render(array $data)
11+
{
12+
$this->output->title('Messages');
13+
14+
array_map(function ($message) {
15+
$label = array_get($message, 'label');
16+
$message = array_get($message, 'message', '');
17+
18+
switch ($label) {
19+
case 'error':
20+
$this->output->error($message);
21+
break;
22+
case 'warning':
23+
$this->output->warning($message);
24+
break;
25+
case 'info':
26+
default;
27+
$this->output->block($message, $label, 'fg=black;bg=blue', ' ', true);
28+
}
29+
30+
}, array_get($data, 'messages.messages', []));
31+
}
32+
}

src/Renderers/Timeline.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace Madewithlove\LaravelDebugConsole\Renderers;
4+
5+
class Timeline extends AbstractRenderer
6+
{
7+
/**
8+
* @param array $data
9+
*/
10+
public function render(array $data)
11+
{
12+
$this->output->title('Timeline');
13+
14+
$duration = array_get($data, 'time.duration', 0) * 1000;
15+
16+
foreach (array_get($data, 'time.measures', []) as $measure) {
17+
$this->output->comment(sprintf('%s (%s)', array_get($measure, 'label'), array_get($measure, 'duration_str')));
18+
19+
$this->output->progressStart($duration);
20+
$this->output->progressAdvance(array_get($measure, 'duration') * 1000);
21+
22+
$this->output->newLine(2);
23+
}
24+
}
25+
}

0 commit comments

Comments
 (0)