StatusesShowCommand::execute()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 22

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 22
ccs 0
cts 12
cp 0
rs 9.568
c 0
b 0
f 0
cc 1
nc 1
nop 2
crap 2
1
<?php
2
3
namespace AlexisLefebvre\Bundle\AsyncTweetsBundle\Command;
4
5
use Abraham\TwitterOAuth\TwitterOAuth;
6
use Symfony\Component\Console\Input\InputArgument;
7
use Symfony\Component\Console\Input\InputInterface;
8
use Symfony\Component\Console\Output\OutputInterface;
9
10
class StatusesShowCommand extends BaseCommand
11
{
12
    protected function configure(): void
13
    {
14
        parent::configure();
15
16
        $this
17
            ->setName('statuses:show')
18
            ->setDescription('Show one tweet (for debugging)')
19
            ->addArgument('tweet_id', InputArgument::REQUIRED, 'Tweet ID');
20
    }
21
22
    protected function execute(InputInterface $input, OutputInterface $output): int
23
    {
24
        /** @var int|null $tweet_id */
25
        $tweet_id = $input->getArgument('tweet_id');
26
27
        $connection = new TwitterOAuth(
28
            (string) $this->container->getParameter('twitter_consumer_key'),
29
            (string) $this->container->getParameter('twitter_consumer_secret'),
30
            (string) $this->container->getParameter('twitter_token'),
31
            (string) $this->container->getParameter('twitter_token_secret')
32
        );
33
34
        /** @var string $json */
35
        $json = json_encode($connection->get(sprintf(
36
            'statuses/show/%d',
37
            $tweet_id
38
        )));
39
40
        $output->writeln($json);
41
42
        return 0;
43
    }
44
}
45