Completed
Push — dev/6.0.0 ( 66aafb...0eb546 )
by Sudar
43:54 queued 28:47
created

BaseAddon   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 12
dl 0
loc 46
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A setup_license_handler() 0 7 1
1
<?php
2
3
namespace BulkWP\BulkDelete\Core\Addon;
4
5
use BD_License_Handler;
6
7
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
8
9
/**
10
 * Encapsulates the logic for a add-on.
11
 *
12
 * @since 6.0.0
13
 */
14
abstract class BaseAddon {
15
	/**
16
	 * Details of the Add-on.
17
	 *
18
	 * @var \BulkWP\BulkDelete\Core\Addon\AddonInfo
19
	 */
20
	protected $addon_info;
21
22
	/**
23
	 * Handler for license.
24
	 *
25
	 * @var \BD_License_Handler
26
	 */
27
	protected $license_handler;
28
29
	/**
30
	 * Initialize and setup variables.
31
	 *
32
	 * @return void
33
	 */
34
	abstract protected function initialize();
35
36
	/**
37
	 * Create a new instance of the add-on.
38
	 *
39
	 * @param \BulkWP\BulkDelete\Core\Addon\AddonInfo $addon_info Add-on Details.
40
	 */
41
	public function __construct( $addon_info ) {
42
		$this->addon_info = $addon_info;
43
44
		$this->initialize();
45
		$this->setup_license_handler();
46
	}
47
48
	/**
49
	 * Setup License Handler.
50
	 *
51
	 * TODO: Need this to be refactored.
52
	 */
53
	protected function setup_license_handler() {
54
		$this->license_handler = new BD_License_Handler(
55
			$this->addon_info->get_name(),
56
			$this->addon_info->get_code(),
57
			$this->addon_info->get_version(),
58
			$this->addon_info->get_root_file(),
59
			$this->addon_info->get_author()
60
		);
61
	}
62
}
63