StatusesShowCommand   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 5
dl 0
loc 35
ccs 0
cts 18
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A configure() 0 9 1
A execute() 0 22 1
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