Format console output
This commit is contained in:
parent
aa3e6960a3
commit
ce3ce1e971
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\Command;
|
namespace App\Command;
|
||||||
|
|
||||||
|
use App\Comment;
|
||||||
use App\Service\Picker;
|
use App\Service\Picker;
|
||||||
use GuzzleHttp\Client;
|
use GuzzleHttp\Client;
|
||||||
use Symfony\Component\Cache\Simple\FilesystemCache;
|
use Symfony\Component\Cache\Simple\FilesystemCache;
|
||||||
|
@ -65,16 +66,30 @@ class PickWinnerCommand extends Command
|
||||||
{
|
{
|
||||||
$io = new SymfonyStyle($input, $output);
|
$io = new SymfonyStyle($input, $output);
|
||||||
|
|
||||||
|
$io->title('Joind.in Winner Picker!');
|
||||||
|
|
||||||
$tag = $input->getArgument('tag');
|
$tag = $input->getArgument('tag');
|
||||||
$startDate = (new \DateTime($input->getArgument('start')))->format('Y-m-d');
|
$startDate = (new \DateTime($input->getArgument('start')))->format('Y-m-d');
|
||||||
$endDate = (new \DateTime($input->getArgument('end')))->format('Y-m-d');
|
$endDate = (new \DateTime($input->getArgument('end')))->format('Y-m-d');
|
||||||
|
|
||||||
|
$io->comment(vsprintf('Selecting from #%s events between %s and %s.', [
|
||||||
|
$tag,
|
||||||
|
$startDate,
|
||||||
|
$endDate,
|
||||||
|
]));
|
||||||
|
|
||||||
$events = collect($this->getEventData($tag, $startDate, $endDate));
|
$events = collect($this->getEventData($tag, $startDate, $endDate));
|
||||||
$this->picker->setHosts($events);
|
$this->picker->setHosts($events);
|
||||||
$this->picker->setComments($this->allComments($events));
|
$this->picker->setComments($this->allComments($events));
|
||||||
|
|
||||||
var_dump($this->picker->getWinners(1)->first());
|
$this->picker->getWinners(1)->each(function (Comment $comment) use ($io) {
|
||||||
|
$io->section(vsprintf('%s (%s)', [
|
||||||
|
$comment->getUserDisplayName(),
|
||||||
|
$comment->getTalkTitle(),
|
||||||
|
]));
|
||||||
|
$io->text($comment->getText());
|
||||||
|
$io->text($comment->getUri());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -14,12 +14,26 @@ class Comment
|
||||||
*/
|
*/
|
||||||
private $userDisplayName;
|
private $userDisplayName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The URI for the comment.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $uri;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The title of the talk that was commented on.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $talkTitle;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the comment text.
|
* Set the comment text.
|
||||||
*
|
*
|
||||||
* @param string $text
|
* @param string $text
|
||||||
*/
|
*/
|
||||||
public function setText(string $text)
|
public function setText(string $text): void
|
||||||
{
|
{
|
||||||
$this->text = $text;
|
$this->text = $text;
|
||||||
}
|
}
|
||||||
|
@ -29,11 +43,31 @@ class Comment
|
||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
*/
|
*/
|
||||||
public function setUserDisplayName(string $name)
|
public function setUserDisplayName(string $name): void
|
||||||
{
|
{
|
||||||
$this->userDisplayName = $name;
|
$this->userDisplayName = $name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the URI for the comment.
|
||||||
|
*
|
||||||
|
* @param string $uri
|
||||||
|
*/
|
||||||
|
public function setUri(string $uri): void
|
||||||
|
{
|
||||||
|
$this->uri = $uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the talk title.
|
||||||
|
*
|
||||||
|
* @param string $talkTitle
|
||||||
|
*/
|
||||||
|
public function setTalkTitle(string $talkTitle): void
|
||||||
|
{
|
||||||
|
$this->talkTitle = $talkTitle;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
|
@ -49,4 +83,24 @@ class Comment
|
||||||
{
|
{
|
||||||
return $this->userDisplayName;
|
return $this->userDisplayName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the URI for the comment.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getUri(): string
|
||||||
|
{
|
||||||
|
return $this->uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the talk title.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getTalkTitle(): string
|
||||||
|
{
|
||||||
|
return $this->talkTitle;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,6 +85,8 @@ class Picker
|
||||||
return tap(new Comment(), function (Comment $comment) use ($original) {
|
return tap(new Comment(), function (Comment $comment) use ($original) {
|
||||||
$comment->setText($original->comment);
|
$comment->setText($original->comment);
|
||||||
$comment->setUserDisplayName($original->user_display_name);
|
$comment->setUserDisplayName($original->user_display_name);
|
||||||
|
$comment->setUri($original->uri);
|
||||||
|
$comment->setTalkTitle($original->talk_title);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
->values();
|
->values();
|
||||||
|
|
Loading…
Reference in a new issue