Completed
Push — develop ( bfde1a...07de1c )
by David
03:08
created

Shipping_Zone::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 1
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
4
namespace Wordlift\Shipping_Data;
5
6
7
use WC_Shipping_Zone;
8
9
class Shipping_Zone {
10
11
	/**
12
	 * @var WC_Shipping_Zone
13
	 */
14
	private $wc_shipping_zone;
15
16
	/**
17
	 * @var Shipping_Method[]
18
	 */
19
	private $methods;
20
21
	/**
22
	 * Shipping_Zone constructor.
23
	 *
24
	 * @param WC_Shipping_Zone $wc_shipping_zone
25
	 */
26
	public function __construct( $wc_shipping_zone ) {
27
28
		$this->wc_shipping_zone = $wc_shipping_zone;
29
30
	}
31
32
	public function add_available_delivery_method( &$jsonld ) {
33
34
		$this->methods = array_map( 'Wordlift\Shipping_Data\Shipping_Method::from_wc_shipping_method',
35
			$this->wc_shipping_zone->get_shipping_methods( true ) );
36
37
		foreach ( $this->methods as $method ) {
38
			$method->add_available_delivery_method( $jsonld );
39
		}
40
41
	}
42
43
	public static function from_wc_shipping_zone( $wc_shipping_zone ) {
44
45
		return new self( $wc_shipping_zone );
46
	}
47
48
}