File "RulesSettingsFactory.php"
Full Path: /home/jlklyejr/public_html/wp-content/test/wp-content/plugins/flexible-shipping/src/WPDesk/FS/TableRate/RulesSettingsFactory.php
File size: 1016 B
MIME-type: text/x-php
Charset: utf-8
<?php
namespace WPDesk\FS\TableRate;
/**
* Class RulesSettingsFactory
*
* @package WPDesk\FS\TableRate
*/
class RulesSettingsFactory {
/**
* @var SingleRuleSettings[]
*/
private $rules = array();
/**
* @param $settings_array
*
* @return RulesSettingsFactory
*/
public static function create_from_array( $settings_array ) {
$rules_settings = new self();
foreach ( $settings_array as $single_rule_settings_row ) {
$rules_settings->add_single_rule_settings( new SingleRuleSettings( $single_rule_settings_row ) );
}
return $rules_settings;
}
/**
* @return array
*/
public function get_normalized_settings() {
$normalized_settings = [];
foreach ( $this->rules as $rule ) {
$normalized_settings[] = $rule->get_normalized_settings();
}
return $normalized_settings;
}
/**
* @param SingleRuleSettings $single_rule_settings
*/
private function add_single_rule_settings( SingleRuleSettings $single_rule_settings ) {
$this->rules[] = $single_rule_settings;
}
}