GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

TabbarService::_getHomeTabInfo()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 14
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 14
rs 9.4285
cc 2
eloc 6
nc 2
nop 2
1
<?php
2
3
namespace App\Http\Services\Tabbar;
4
5
use Illuminate\Http\Request;
6
use App\Http\Consts\UrlInfo\Tabbar\Navigation\HomeUrlInfo;
7
use App\Http\Consts\UrlInfo\Tabbar\Navigation\ContentsUrlInfo;
8
use App\Http\Consts\UrlInfo\Tabbar\Navigation\DocsUrlInfo;
9
use App\Http\Consts\UrlInfo\Tabbar\Navigation\DevUrlInfo;
10
11
/**
12
 * TabbarService.
13
 *
14
 * タブバーの加工を行う
15
 */
16
class TabbarService
17
{
18
    /**
19
     * Create a new docs controller instance.
20
     */
21
    public function __construct()
22
    {
23
    }
24
25
    /**
26
     * タブの情報を取得する.
27
     * 
28
     * @param Request リクエストパラメータ
29
     *
30
     * @return array 各tabで表示するためのURL
31
     */
32
    public function getTabbarInfo($request)
33
    {
34
        // リクエストパラメータからタブの情報を取得する
35
        $tabbar = $request->only([
36
            'home',
37
            'contents',
38
            'docs',
39
            'dev',
40
        ]);
41
42
        $homeUrlInfo = new HomeUrlInfo();
43
        $contentsUrlInfo = new ContentsUrlInfo();
44
        $docsUrlInfo = new DocsUrlInfo();
45
        $devUrlInfo = new DevUrlInfo();
46
47
        return [
48
            'HOME' => $this->_getHomeTabInfo($tabbar['home'], $homeUrlInfo->getHomeTabUrlInfo()),
49
            'CONTENTS' => $this->_getContentsTabInfo($tabbar['contents'], $contentsUrlInfo->getContentsTabUrlInfo()),
50
            'DOCS' => $this->_getDocsTabInfo($tabbar['docs'], $docsUrlInfo->getDocsTabUrlInfo()),
51
            'DEV' => $this->_getDevTabInfo($tabbar['dev'], $devUrlInfo->getDevTabUrlInfo()),
52
        ];
53
    }
54
55
    /**
56
     * Homeタブの情報を取得する.
57
     * 
58
     * @param string $homeParam      リクエストパラメータのhomeの値
59
     * @param array  $homeTabUrlInfo Homeタブ内に表示するページのURL一覧
60
     *
61
     * @return string Homeタブに表示するページのURL
62
     */
63
    private function _getHomeTabInfo($homeParam, $homeTabUrlInfo)
64
    {
65
66
        // パラメータからHomeタブのlistのキー値を作成する
67
        $listkey = strtoupper($homeParam);
68
69
        // homeパラメータ値がhomeタブに存在するurlと一致しない場合
70
        if (!array_key_exists($listkey, $homeTabUrlInfo)) {
71
            // home_topを表示させる
72
            return $homeTabUrlInfo['TOP'];
73
        } else {
74
            return $homeTabUrlInfo[$listkey];
75
        }
76
    }
77
78
    /**
79
     * Contentsタブの情報を取得する.
80
     * 
81
     * @param string $contentsParam      リクエストパラメータのcontentsの値
82
     * @param array  $contentsTabUrlInfo Contentsタブ内に表示するページのURL一覧
83
     *
84
     * @return string Contentsタブに表示するページのURL
85
     */
86
    private function _getContentsTabInfo($contentsParam, $contentsTabUrlInfo)
87
    {
88
89
        // パラメータからContentsタブのlistのキー値を作成する
90
        $listkey = strtoupper($contentsParam);
91
92
        // homeパラメータ値がContentsタブに存在するurlと一致しない場合
93
        if (!array_key_exists($listkey, $contentsTabUrlInfo)) {
94
            // contents_topを表示させる
95
            return $contentsTabUrlInfo['TOP'];
96
        } else {
97
            return $contentsTabUrlInfo[$listkey];
98
        }
99
    }
100
101
    /**
102
     * Devタブの情報を取得する.
103
     * 
104
     * @param string $devParam      リクエストパラメータのDevの値
105
     * @param array  $devTabUrlInfo Devタブ内に表示するページのURL一覧
106
     *
107
     * @return string Devタブに表示するページのURL
108
     */
109
    private function _getDevTabInfo($devParam, $devTabUrlInfo)
110
    {
111
112
        // パラメータからDevタブのlistのキー値を作成する
113
        $listkey = strtoupper($devParam);
114
115
        // homeパラメータ値がDevタブに存在するurlと一致しない場合
116
        if (!array_key_exists($listkey, $devTabUrlInfo)) {
117
            // Dev_topを表示させる
118
            return $devTabUrlInfo['TOP'];
119
        } else {
120
            return $devTabUrlInfo[$listkey];
121
        }
122
    }
123
124
    /**
125
     * Docsタブの情報を取得する.
126
     * 
127
     * @param string $docsParam      リクエストパラメータのdocsの値
128
     * @param array  $docsTabUrlInfo Docsタブ内に表示するページのURL一覧
129
     *
130
     * @return string Docsタブに表示するページのURL
131
     */
132
    private function _getDocsTabInfo($docsParam, $docsTabUrlInfo)
133
    {
134
135
        // パラメータからDocsタブのlistのキー値を作成する
136
        $listkey = strtoupper($docsParam);
137
138
        // homeパラメータ値がdocsタブに存在するurlと一致しない場合
139
        if (!array_key_exists($listkey, $docsTabUrlInfo)) {
140
            // docs_topを表示させる
141
            return $docsTabUrlInfo['TOP'];
142
        } else {
143
            return $docsTabUrlInfo[$listkey];
144
        }
145
    }
146
}
147