Smile\ElasticsuiteVirtualCategory\Model\Category\Attribute\Backend\VirtualRule::beforeSave PHP Method

beforeSave() public method

{@inheritDoc}
public beforeSave ( $object )
    public function beforeSave($object)
    {
        $attributeCode = $this->getAttributeCode();
        $attributeData = $object->getData($attributeCode);
        if ($attributeData !== null) {
            $rule = $this->ruleFactory->create();
            if (is_object($attributeData)) {
                $rule = $attributeData;
            } elseif (is_array($attributeData)) {
                $rule->loadPost($attributeData);
            } elseif (is_string($attributeData)) {
                $attributeData = unserialize($attributeData);
                $rule->getConditions()->loadArray($attributeData);
            }
            $object->setData($attributeCode, serialize($rule->getConditions()->asArray()));
        }
        return $this;
    }