summaryrefslogtreecommitdiff
path: root/app/ServiceProvider/ModelProvider.php
blob: 1a9400581630badb02f8deeb80150258cc0369d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php

namespace ServiceProvider;

use Model\Config;
use Model\Project;
use Model\Webhook;
use Pimple\Container;
use Pimple\ServiceProviderInterface;

class ModelProvider implements ServiceProviderInterface
{
    private $models = array(
        'Acl',
        'Action',
        'Authentication',
        'Board',
        'Category',
        'Color',
        'Comment',
        'Config',
        'DateParser',
        'File',
        'GithubWebhook',
        'LastLogin',
        'Notification',
        'Project',
        'ProjectActivity',
        'ProjectAnalytics',
        'ProjectDailySummary',
        'ProjectPaginator',
        'ProjectPermission',
        'SubTask',
        'SubtaskPaginator',
        'Swimlane',
        'Task',
        'TaskCreation',
        'TaskDuplication',
        'TaskExport',
        'TaskFinder',
        'TaskModification',
        'TaskPaginator',
        'TaskPermission',
        'TaskPosition',
        'TaskStatus',
        'TaskValidator',
        'TimeTracking',
        'User',
        'Webhook',
    );

    public function register(Container $container)
    {
        foreach ($this->models as $model) {

            $class = '\Model\\'.$model;

            $container[lcfirst($model)] = function ($c) use ($class) {
                return new $class($c);
            };
        }
    }
}