Completed
Push — master ( f73df0...286c6f )
by Markus
23s queued 12s
created

FeedServiceProvider::createFeedReaderManager()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 1
c 1
b 0
f 1
dl 0
loc 3
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Jellyfish\Feed;
4
5
use Jellyfish\Feed\Command\RunFeedReaderCommand;
6
use Pimple\Container;
7
use Pimple\ServiceProviderInterface;
8
9
class FeedServiceProvider implements ServiceProviderInterface
10
{
11
    /**
12
     * @param \Pimple\Container $pimple
13
     *
14
     * @®return void
15
     */
16
    public function register(Container $pimple): void
17
    {
18
        $this->registerFeedReaderManager($pimple)
19
            ->registerCommands($pimple);
20
    }
21
22
    /**
23
     * @param \Pimple\Container $container
24
     *
25
     * @return \Jellyfish\Feed\FeedServiceProvider
26
     */
27
    protected function registerFeedReaderManager(Container $container): FeedServiceProvider
28
    {
29
        $container->offsetSet('feed_reader_manager', function () {
30
            return new FeedReaderManager();
31
        });
32
33
        return $this;
34
    }
35
36
    /**
37
     * @param \Pimple\Container $container
38
     *
39
     * @return \Jellyfish\Feed\FeedServiceProvider
40
     */
41
    protected function registerCommands(Container $container): FeedServiceProvider
42
    {
43
        $container->extend('commands', function (array $commands, Container $container) {
44
            $commands[] = new RunFeedReaderCommand($container->offsetGet('feed_reader_manager'));
45
46
            return $commands;
47
        });
48
49
        return $this;
50
    }
51
}
52