Automattic\WooCommerce\Admin\RemoteInboxNotifications

OptionRuleProcessor::process()publicWC 1.0

Performs a comparison operation against the option value.

Method of the class: OptionRuleProcessor{}

No Hooks.

Return

true|false. The result of the operation.

Usage

$OptionRuleProcessor = new OptionRuleProcessor();
$OptionRuleProcessor->process( $rule, $stored_state );
$rule(object) (required)
The specific rule being processed by this rule processor.
$stored_state(object) (required)
Stored state.

OptionRuleProcessor::process() code WC 8.7.0

public function process( $rule, $stored_state ) {
	$is_contains    = $rule->operation && strpos( $rule->operation, 'contains' ) !== false;
	$default_value  = $is_contains ? array() : false;
	$is_default_set = property_exists( $rule, 'default' );
	$default        = $is_default_set ? $rule->default : $default_value;
	$option_value   = $this->get_option_value( $rule, $default, $is_contains );

	if ( isset( $rule->transformers ) && is_array( $rule->transformers ) ) {
		$option_value = TransformerService::apply( $option_value, $rule->transformers, $is_default_set, $default );
	}

	return ComparisonOperation::compare(
		$option_value,
		$rule->value,
		$rule->operation
	);
}