1 | <?php |
||
14 | class Adapter |
||
15 | { |
||
16 | use LoggerTrait; |
||
17 | |||
18 | protected $logger; |
||
19 | |||
20 | protected $jobRunner; |
||
21 | |||
22 | protected $projectsConfig; |
||
23 | |||
24 | protected $hook; |
||
25 | |||
26 | protected $input; |
||
27 | |||
28 | public static function factory( |
||
47 | |||
48 | /** |
||
49 | * Eventually attach a Logger. |
||
50 | * |
||
51 | * @param LoggerInterface|null $logger |
||
52 | */ |
||
53 | 12 | public function __construct(LoggerInterface $logger = null) |
|
57 | |||
58 | /** |
||
59 | * Run the adapter. |
||
60 | * |
||
61 | * @throws Exception |
||
62 | */ |
||
63 | 10 | public function run() |
|
88 | |||
89 | /** |
||
90 | * Load the rundeck job runner. |
||
91 | * |
||
92 | * @param JobRunner $jobRunner |
||
93 | */ |
||
94 | 8 | public function attachJobRunner(JobRunner $jobRunner) |
|
102 | |||
103 | /** |
||
104 | * Load the projects config. |
||
105 | * |
||
106 | * @param ProjectConfig $projectsConfig |
||
107 | */ |
||
108 | 8 | public function loadProjectsConfig(ProjectConfig $projectsConfig) |
|
116 | |||
117 | 10 | private function getProjectsConfig() |
|
125 | |||
126 | 6 | private function getJobRunner() |
|
134 | |||
135 | /** |
||
136 | * Get the hook. |
||
137 | * |
||
138 | * @return HookResolver |
||
139 | */ |
||
140 | 8 | private function getHook() |
|
150 | |||
151 | /** |
||
152 | * Get the input (php://input by default). |
||
153 | * |
||
154 | * @return string |
||
155 | */ |
||
156 | private function getInput() |
||
168 | |||
169 | 10 | public function setHook(GitlabHook $hook) |
|
173 | |||
174 | public function setInput($input) |
||
178 | |||
179 | /** |
||
180 | * Call the logger. |
||
181 | * |
||
182 | * @param $level |
||
183 | * @param $message |
||
184 | * @param array $context |
||
185 | */ |
||
186 | 12 | public function log($level, $message, array $context = []) |
|
192 | } |
||
193 |