/** * Add rule to isGirthAllowed() method * * @param \Magento\Framework\DataObject $subject * @param \Closure $proceed * @return array * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function aroundCheckSizeAndGirthParameter(\Magento\Framework\DataObject $subject, \Closure $proceed) { $carrier = $subject->getCarrier(); $size = $subject->getSourceSizeModel(); $girthEnabled = false; $sizeEnabled = false; if ($carrier && isset($size[0]['value'])) { if ($size[0]['value'] == Carrier::SIZE_LARGE && in_array(key($subject->getContainers()), [Carrier::CONTAINER_NONRECTANGULAR, Carrier::CONTAINER_VARIABLE])) { $girthEnabled = true; } if (in_array(key($subject->getContainers()), [Carrier::CONTAINER_NONRECTANGULAR, Carrier::CONTAINER_RECTANGULAR, Carrier::CONTAINER_VARIABLE])) { $sizeEnabled = true; } } return [$girthEnabled, $sizeEnabled]; }