function DataSet::autoSaveContext

Overrides RulesActionBase::autoSaveContext

File

src/Plugin/RulesAction/DataSet.php, line 50

Class

DataSet
Provides a 'Data set' action.

Namespace

Drupal\rules\Plugin\RulesAction

Code

public function autoSaveContext() {
    // Saving is done at the root of the typed data tree, for example on the
    // entity level.
    $typed_data = $this->getContext('data')
        ->getContextData();
    $root = $typed_data->getRoot();
    $value = $root->getValue();
    // Only save things that are objects and have a save() method.
    if (is_object($value) && method_exists($value, 'save')) {
        return [
            'data',
        ];
    }
    return [];
}