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

Shipping_Zones   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
dl 0
loc 29
rs 10
c 0
b 0
f 0
wmc 4
lcom 1
cbo 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A add_available_delivery_method() 0 14 3
1
<?php
2
3
4
namespace Wordlift\Shipping_Data;
5
6
7
use WC_Shipping_Zones;
8
9
class Shipping_Zones {
10
11
	/**
12
	 * @var Shipping_Zone[]
13
	 */
14
	private $zones;
15
16
	public function __construct() {
17
18
		$this->zones = array();
19
20
	}
21
22
	public function add_available_delivery_method( &$jsonld ) {
23
24
		$zone_ids          = array_keys( WC_Shipping_Zones::get_zones() );
25
		$wc_shipping_zones = array( WC_Shipping_Zones::get_zone( 0 ) );
26
		foreach ( $zone_ids as $zone_id ) {
27
			$wc_shipping_zones[] = WC_Shipping_Zones::get_zone( $zone_id );
28
		}
29
		$this->zones = array_map( 'Wordlift\Shipping_Data\Shipping_Zone::from_wc_shipping_zone', $wc_shipping_zones );
30
31
		foreach ( $this->zones as $zone ) {
32
			$zone->add_available_delivery_method( $jsonld );
33
		}
34
35
	}
36
37
}
38