Completed
Push — master ( 255c7d...6db691 )
by Jan-Christoph
11:48 queued 11:24
created

ActionFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
dl 0
loc 27
rs 10
c 0
b 0
f 0
wmc 2
lcom 0
cbo 1

2 Methods

Rating   Name   Duplication   Size   Complexity  
A newLinkAction() 0 7 1
A newEMailAction() 0 3 1
1
<?php
2
3
/**
4
 * @copyright 2017 Christoph Wurst <[email protected]>
5
 *
6
 * @author 2017 Christoph Wurst <[email protected]>
7
 *
8
 * @license GNU AGPL version 3 or any later version
9
 *
10
 * This program is free software: you can redistribute it and/or modify
11
 * it under the terms of the GNU Affero General Public License as
12
 * published by the Free Software Foundation, either version 3 of the
13
 * License, or (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 * GNU Affero General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU Affero General Public License
21
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
 *
23
 */
24
25
namespace OC\Contacts\ContactsMenu;
26
27
use OC\Contacts\ContactsMenu\Actions\LinkAction;
28
use OCP\Contacts\ContactsMenu\IActionFactory;
29
use OCP\Contacts\ContactsMenu\ILinkAction;
30
31
class ActionFactory implements IActionFactory {
32
33
	/**
34
	 * @param string $icon
35
	 * @param string $name
36
	 * @param string $href
37
	 * @return ILinkAction
38
	 */
39
	public function newLinkAction($icon, $name, $href) {
40
		$action = new LinkAction();
41
		$action->setName($name);
42
		$action->setIcon($icon);
43
		$action->setHref($href);
44
		return $action;
45
	}
46
47
	/**
48
	 * @param string $icon
49
	 * @param string $name
50
	 * @param string $email
51
	 * @return ILinkAction
52
	 */
53
	public function newEMailAction($icon, $name, $email) {
54
		return $this->newLinkAction($icon, $name, 'mailto:' . urlencode($email));
55
	}
56
57
}
58