/** * {@inheritdoc} */ public function setUp() { parent::setUp(); $this->expressionManager = $this->prophesize(ExpressionManagerInterface::class); $this->conditions = new RulesAnd([], 'rules_and', [], $this->expressionManager->reveal()); $this->expressionManager->createInstance('rules_and', [])->willReturn($this->conditions); $this->actions = new ActionSet([], 'rules_action_set', [], $this->expressionManager->reveal()); $this->expressionManager->createInstance('rules_action_set', [])->willReturn($this->actions); $this->rule = new Rule([], 'rules_rule', [], $this->expressionManager->reveal()); }
/** * Constructs a new class instance. * * @param array $configuration * A configuration array containing information about the plugin instance. * @param string $plugin_id * The plugin_id for the plugin instance. * @param array $plugin_definition * The plugin implementation definition. * @param \Drupal\rules\Engine\ExpressionManagerInterface $expression_manager * The rules expression plugin manager. */ public function __construct(array $configuration, $plugin_id, $plugin_definition, ExpressionManagerInterface $expression_manager) { parent::__construct($configuration, $plugin_id, $plugin_definition); $configuration += ['conditions' => [], 'actions' => []]; // Per default the outer condition container of a rule is initialized as // conjunction (AND), meaning that all conditions in it must evaluate to // TRUE to fire the actions. $this->conditions = $expression_manager->createInstance('rules_and', $configuration['conditions']); $this->actions = $expression_manager->createInstance('rules_action_set', $configuration['actions']); }
/** * Constructs a new class instance. * * @param array $configuration * A configuration array containing information about the plugin instance. * @param string $plugin_id * The plugin_id for the plugin instance. * @param array $plugin_definition * The plugin implementation definition. * @param \Drupal\rules\Engine\ExpressionManagerInterface $expression_manager * The rules expression plugin manager. */ public function __construct(array $configuration, $plugin_id, $plugin_definition, ExpressionManagerInterface $expression_manager) { parent::__construct($configuration, $plugin_id, $plugin_definition); $this->expressionManager = $expression_manager; $configuration += ['actions' => []]; foreach ($configuration['actions'] as $action_config) { $action = $expression_manager->createInstance($action_config['id'], $action_config); $this->addExpressionObject($action); } }
/** * Constructor. * * @param array $configuration * A configuration array containing information about the plugin instance. * @param string $plugin_id * The plugin_id for the plugin instance. * @param array $plugin_definition * The plugin implementation definition. * @param \Drupal\rules\Engine\ExpressionManagerInterface $expression_manager * The rules expression plugin manager. * @param \Drupal\Component\Uuid\UuidInterface $uuid_service * The UUID generating service. */ public function __construct(array $configuration, $plugin_id, $plugin_definition, ExpressionManagerInterface $expression_manager, UuidInterface $uuid_service) { parent::__construct($configuration, $plugin_id, $plugin_definition); $this->expressionManager = $expression_manager; $this->uuidService = $uuid_service; $configuration += ['actions' => []]; foreach ($configuration['actions'] as $uuid => $action_config) { $action = $expression_manager->createInstance($action_config['id'], $action_config); $this->actions[$uuid] = $action; } }
/** * Provides the page title on the form. */ public function getTitle(ReactionRuleConfig $reaction_config, $expression_id) { $expression = $this->expressionManager->createInstance($expression_id); return $this->t('Add @expression', ['@expression' => $expression->getLabel()]); }
/** * {@inheritdoc} */ public function addExpression($plugin_id, ContextConfig $config = NULL) { return $this->addExpressionObject($this->expressionManager->createInstance($plugin_id, $config ? $config->toArray() : [])); }
/** * Provides the page title on the form. */ public function getTitle(RulesUiHandlerInterface $rules_ui_handler, $expression_id) { $this->expressionId = $expression_id; $expression = $this->expressionManager->createInstance($this->expressionId); return $this->t('Add @expression', ['@expression' => $expression->getLabel()]); }